Taller Am Secuencias y Decisiones
Taller Am Secuencias y Decisiones
Taller Am Secuencias y Decisiones
En los ejercicios propuestos aquí, elaborar el análisis modular y la implementación en C#, del algoritmo que
resuelve los requerimientos planteados, usando los formatos mostrados.
Para el Análisis Modular, utilizar Flujogramas.
1. (Nivel 1) Una agencia de viajes que oferta recorridos en chivas (cuya capacidad es de 22 pasajeros) como
paseos de despedida de empresas, por los bellos paisajes del Valle del Cauca, tiene por política computar
cuantas chivas irían con cupo completo y cobrar $ 95000 por cada una de ellas, y al resto de personas cobrarles
$ 5000 individualmente.
Construir el análisis modular y la implementación en C#, de un algoritmo que procese un paseo con N
personas, para calcular y mostrar: (a) el número de buses completos requeridos, (b) a cuántas personas se les
cobra individualmente y (c) el dinero total a cobrar por el paseo.
2. (Nivel 1) Elabore el análisis modular y la implementación en C#, para un algoritmo que permita calcular y
mostrar la cuota mensual para amortizar un préstamo, a partir del valor del préstamo, la tasa de interés mensual
y el número de meses pactado. Utilice la fórmula:
i(1 + i )
n
Cuota = p. ,
(1 + i ) n − 1
donde p = valor del préstamo, i = tasa de interés mensual (Nota: si la tasa es 1.2, entonces i = 1.2/100 = 0.012) y
n = número de meses.
3. (Nivel 2) Se requiere un aplicativo que gestione la nómina de Profesores Hora Cátedra de la UAO, a los cuales
se les calcula el valor nominal a pagar según la cantidad (valor entero) de horas laboradas mensualmente.
El valor de la Hora Cátedra depende del título del Profesor, según la siguiente tabla:
Construir el análisis modular y la implementación en C#, de un algoritmo que procese un Profesor Hora Cátedra
para determinar y mostrar: (a) el nombre del Docente, (b) el valor nominal a pagar, (c) el dinero descontado por
estampilla, que corresponde al 2% del valor nominal a pagar, (d) el dinero descontado por Seguridad Social, que
equivale al 3.8% del valor nominal a pagar y (e) el dinero consignado por nómina, después de aplicar los
descuentos indicados previamente.
4. (Nivel 2) Analice e implemente un algoritmo que calcule y muestre la pendiente de la recta (no vertical) que
contiene a dos puntos conocidos del plano cartesiano, P 1 (x 1 , y 1 ) y P 2 (x 2 , y 2 ), donde x 1 ≠ x 2 .
Además, el algoritmo debe verificar si un tercer punto conocido, P 3 (x 3 , y 3 ), pertenece a la misma recta.
Sugerencia: si pertenece a la recta que contiene a los puntos y , entonces el cálculo de la pendiente
usando los puntos y , o y , debe dar el mismo valor obtenido anteriormente para m.
5. (Nivel 2) En un concesionario automotor, el precio de venta de un vehículo nuevo es igual a la suma de su costo
real, el valor de los impuestos legales y la comisión del vendedor. El impuesto legal equivale al 12 % del costo
real y la comisión del vendedor es un porcentaje del costo real, así: 3 % si el costo real del vehículo es inferior a
$ 25 000 000; en caso contrario, el porcentaje es 5 %. Elabore el Análisis Modular y la Implementación en C#,
de un algoritmo que procese una venta para determinar y mostrar: (a) el nombre del vendedor, (b) el valor de su
comisión y (c) el precio de venta del vehículo.
6. (Nivel 2) Para calcular la precipitación promedio de lluvias en una región, se procede de la siguiente manera: se
toman cuatro lecturas diferentes de precipitación, luego se elimina la mayor y se promedian las tres lecturas
restantes. Elabore el análisis modular y la implementación en C#, de un algoritmo que determine y muestre la
lectura eliminada y la precipitación promedio de la región.
7. (Nivel 2) Una empresa tiene trabajadores cuyo contrato laboral es por hora trabajada y les paga semanalmente.
Normalmente un trabajador labora hasta 24 horas a la semana, pero si se le autoriza trabajar más de 24 horas y
hasta un máximo de 48 horas semanales, entonces se le pagará la hora extra con un recargo del 35 %, sobre el
valor nominal de la hora. Elabore el análisis modular y la implementación en C#, para un algoritmo que permita
calcular y mostrar el salario semanal nominal de un trabajador. Además, se debe mostrar el nombre del
trabajador y el número de horas trabajadas durante la semana.
el discriminante es negativo, se dice que las raíces son números complejos conjugados de la forma reX ± .
ImX, donde reX se denomina parte real de la raíz, e ImX su parte imaginaria, siendo la unidad imaginaria
dada por = √− .
Elabore el análisis modular y la implementación en C#, de un algoritmo que permita leer los coeficientes
a (a ≠ 0), b y c de la ecuación cuadrática, para calcular e imprimir el valor del discriminante e indicar si las
raíces de la ecuación son números reales o complejos conjugados. En caso de que las raíces sean números
reales, el algoritmo las debe calcular y mostrar, utilizando la fórmula de la cuadrática:
− b ± b 2 − 4 ac
x1, 2 =
2a
Si el discriminante es negativo, el algoritmo debe calcular y mostrar la parte real reX, y la parte imaginaria
ImX, de estas raíces, dadas por las siguientes fórmulas:
−b 4 ac − b 2
reX = , Im X = .
2a 2a
9. (Nivel 3) Se contrató a la UAO, para la construcción de un aplicativo que gestione las reservas de pasaportes
para el ingreso a un parque de diversiones, con los siguientes costos:
Pasaporte Económico: $ 21000, pero si se solicitan más de 6 pasaportes, su costo disminuye a $ 19500.
Pasaporte Recreativo: $ 37000, pero si se solicitan más de 5 pasaportes, su costo disminuye a $ 34500.
Construir el análisis modular y la implementación en C#, de un algoritmo que procese una solicitud de reserva
para determinar y mostrar: (a) el nombre del comprador, (b) el número de boletas solicitadas, sabiendo que solo
se permite de un mismo tipo de pasaporte y (c) el dinero total a cobrar.
10. (Nivel 3) Una empresa se dedica a la venta de boletas para el ingreso a cine en la ciudad. Por el momento, la
empresa solo vende boletas de las promotoras Cine Colombia y Royal Films. El valor de la boleta, según la
promotora de cine y el tipo de función, están indicados en la siguiente tabla:
Tipo Función
35 mm 3D
Cine Colombia $ 8000 $ 9500
Royal Films $ 6500 $ 8500
Suponga que en la factura de venta (o recibo) se registran únicamente boletas de la misma promotora y del
mismo tipo de función.
Además, cada promotora de cine ofrece una tarjeta de descuento y, si la persona la tiene, entonces se le aplica
un descuento del 10% sobre el valor de la boleta correspondiente.
Construir el análisis modular y la implementación en C#, de un algoritmo que facture una venta de boletas para
determinar y mostrar: (a) el nombre de la persona compradora, (b) el dinero que se le descontó en la venta y (c)
el dinero neto a recibir por la venta.
11. (Nivel 3) En una empresa, la prima salarial de un trabajador se calcula según su antigüedad laboral, en años,
así:
• Si la antigüedad laboral es menor que 5 años, entonces la prima salarial es igual a la mitad del salario
mensual nominal.
• Si la antigüedad laboral es mayor o igual que 5 años y menor que 10 años, entonces la prima salarial es igual
a las ¾ partes del salario mensual nominal.
• Si la antigüedad laboral es mayor o igual que 10 años, entonces la prima salarial es igual a un salario mensual
nominal.
Además, para calcular el salario mensual que recibe un trabajador, la empresa descuenta un 10% del salario
mensual nominal por conceptos de Prestaciones Sociales. Pero, si el salario mensual nominal es menor o igual
que dos salarios mensuales mínimos legales vigentes (SMMLV = $ 683 000), entonces la empresa adiciona un
auxilio de $ 200 000 para transporte.
Elabore el análisis modular y la implementación en C#, de un algoritmo que muestre el nombre del trabajador y
permita calcular y mostrar: (a) el salario mensual a recibir, sin prima; (b) la prima laboral y (c) el salario
mensual a recibir, con prima.
12. (Nivel 3) En una competencia de tiro al blanco con dardo, se le dispara a un círculo de 30 cm de radio.
Dependiendo del punto de impacto del dardo sobre el círculo, se asignan los puntos en la competencia.
Ver la siguiente tabla:
Puntos
Distancia desde el punto de impacto del dardo al centro del círculo.
obtenidos
Rango Experto: Mayor o igual que cero y menor o igual que 10 cm. 30
Rango Aficionado: Mayor que 10 cm. y menor o igual que 30 cm. 10
Rango Aprendiz: Mayor que 30 cm. -10
Elabore el análisis modular y la implementación en C#, para un algoritmo que determine y muestre:
(a) los puntos obtenidos después de lanzar un solo dardo.
(b) el nombre del rango en el cual cayó después de ese lanzamiento.