Programación en C: Cabina de Internet, Pago de Colegiatura y Alquiler de Vehículos

ejercicios de programación lenguaje c


Calcular el monto a pagar en una cabina de Internet.
Si el costo por hora es de Bs/. 1.5 y por cada 5 horas te dan una hora de promoción gratis. (descuento)


Para la resolución de este ejercicio sabemos tanto el costo de la hora y el descuento que se debe aplicar, de modo que el usuario únicamente va a ingresar la cantidad de horas que estuvo en la cabina de internet. Ahora bien, la cantidad de horas debe dividirse entre 5 y el resultado debe redondearse hacia abajo. Es decir, si el resultado es 2,5 debe redondearse a dos. Ejemplo, un usuario estuvo 7 horas, es decir le corresponde descuento de 1 hora por haber estado 5 horas. Si dividimos 7 entre 5 el resultado es 1,4. Si multiplicamos 1,4 por 1,5 (que es el valor de la hora) estamos haciendo un cálculo erróneo, dado que el ejercicio establece que únicamente hay descuento de 1 hora por cada 5, por lo que multiplicar 1,5 por el 0,4 restante da un descuento total equivocado. Para evitar este mal cálculo, se debe redondear el resultado agregando la librería math y usando el comando floor. Floor hará que el resultado de la división vaya hacia abajo, en caso del ejemplo daría 1. Por lo que, ahora sí el cálculo sería correcto.

La ventaja de utlizar floor es que evita que tengamos que aplicar condicionales para dividir si el usuario estuvo mas de 5 horas o menos de 5 horas. Ya que si dividimos 4 horas entre 5, el floor hará que sea cero, y por ende cualquier número multiplicado por cero será cero, por lo que no habrá descuento y no se alterará la fórmula. Veamos el código, para comprender la idea a totalidad.



Ahora bien, pueden imaginar este mismo ejercicio en una evaluación de ingeniería. Seguramente, el profesor puede decir que se desconocen la cantidad de horas para dar un descuento y el costo de la hora. Por lo que los 3 datos deben ser solicitados al usuario. El cálculo sigue siendo igual, solo debemos agregar que el usuario ingrese los datos faltantes e inicializar las variables en cero. Para que tengas una mejor idea, el enunciado sería así: Calcular el monto a pagar en una cabina de Internet. Si el costo por hora es x y por cada x horas te dan una hora de promoción gratis. (descuento). El valor de la x debe ser ingresado por el usuario. Es importante tener cuidado, puesto que las horas de la promoción son el denominador de la división por lo que el descuento solo se calcula si las horas de promoción son mayores a cero. De lo contrario no hará ningún cálculo de descuento.

Una agencia de alquiler de autos cobra la hora de uso de su vehículo a un valor determinado de acuerdo a la temporada. Si el cliente usa el carro por más de 10 horas le hacen un descuento del 20%. Realice un programa que lea como entrada las horas de uso, valor por hora (2.00) de 10 vehículos y determine el total a pagar.

En primer lugar el cálculo se le debe aplicar a 10 vehículos por lo que será necesario crear un ciclo do - while, para que se puedan ingresar las horas de uso por cada carro. En el cálculo se debe utilizar un condicional ya que si excede a las 10 horas tiene un descuento fijo del 20% y sino, no tiene descuento. El valor de la hora se inicializa con la variable. El código se verá de la siguiente manera:

Un colegio cobra la colegiatura de acuerdo al número de materias que el estudiante cursa en el semestre (todas las asignaturas tienen el mismo costo). Para incentivar a los estudiantes el colegio ha diseñado la siguiente política de cobro:
  • Si el alumno tiene un promedio general de 90 o más, se le aplica un descuento del 10% sobre su colegiatura además de que no se le cobrará el IVA.
  • Si el alumno tiene un promedio general menor a 90, éste deberá pagar la colegiatura completa además del IVA correspondiente (16% sobre el total de la colegiatura).
¿Cuánto deberá pagar un alumno cualquiera por su colegiatura semestral?

Al leer el ejercicio, nos damos cuenta que debemos solicitar al usuario cantidad de materias a cursar, el promedio del alumno y el costo de la colegiatura para poder calcular el pago. El cálculo del monto a pagar se diferencia con un condicional. El pago del IVA por ser un valor fijo se inicializa con la variable. El código del ejercicio es el siguiente:



Es importante resaltar que al momento de calcular el pago, si el promedio es mayor a 90, no hemos agregado el impuesto en la ecuación porque no se cobrará. Y para poder agregar un descuento, es necesario calcularlo, por ello, hemos aprovechado de calcular el descuento dentro de la misma ecuación, simplemente utilizando paréntesis. De este modo, nos ahorramos líneas de código y es mas sencillo visualmente apreciar el programa. Lo mismo ocurre con el cálculo del impuesto, solo que en ese caso se debe sumar al monto a pagar.
Lecturas Recomendadas:
  • Introducción a la programación con el lenguaje C++. C++ es uno de los lenguajes de programación más populares y extendidos a día de hoy. Entre sus virtudes, destaca su eficiencia, así como la simpleza para el desarrollo de sistemas en tiempo real, aplicaciones con bibliotecas gráficas y el desarrollo de juegos. Asimismo, junto con Python, se ha convertido en uno de los lenguajes referentes en los campos de seguridad, redes e Internet de las cosas.
  • Aprender a programar en C. El libro está orientado a las personas que no saben programar y necesitan una guía para aprender C desde cero. Si ya sabes programar y quieres profundizar en tus conocimientos, es posible que no sea tu mejor elección.
  • Aprender Programación en C. A partir de C se derivan muchos lenguajes de programación modernos, principalmente C++, Objective-C, Java y C#. Estos lenguajes comparten en distinto grado el léxico, la sintaxis y la lógica de C. Muchos profesionales consideran que el aprendizaje de C es la base para el aprendizaje de estos lenguajes.El lenguaje C es un lenguaje de programación que sigue el paradigma de programación imperativa. Este lenguaje ha desempeñado, y sigue desempeñando un papel importante en la tecnología informática.

Publicar un comentario

Artículo Anterior Artículo Siguiente