Ejercicios Estructura Seleccion
Ejercicios Estructura Seleccion
Ejercicios Estructura Seleccion
Desarrollar algoritmos para resolver los siguientes problemas (utilice análisis, diseño y codificación):
1. Ingresar un valor y determinar si “es par” o “es impar”, en caso que se ingrese el valor 0 imprimir “lo siento
aún no se ponen de acuerdo”.
2. Ingresar un valor y determinar si “es positivo” o “es negativo”.
3. Saludar con “Buenos Días” (05 a 12), “Buenas Tardes” (13 a 20) ó “Buenas Noches” (21 a 04), según la
hora que ingrese el usuario (hh).
4. Saludar con “Buenos Días” (05:30 a 12:00), “Buenas Tardes” (12:01 a 20:15) ó “Buenas Noches” (20:16 a
05:29), según la hora que ingrese el usuario (hh y mm).
5. Calcular el promedio de un conjunto de 3 notas obtenidas por un alumno de Taller de Programación I,
enviar un mensaje indicando el promedio que obtuvo y si aprobó o reprobó la asignatura (la asignatura se
aprueba con nota mayor o igual a 4).
6. Ingresar 5 valores mostrando cuál es el menor y cuál es el mayor.
7. Ingresar 5 valores mostrando cuál es el menor, cuál es el mayor y los lugares en que se ingresaron (asuma
que todos los valores ingresados son distintos).
8. Ingresar 4 valores y mostrarlos en orden ascendente.
9. Ingresar 4 valores y mostrarlos en orden descendente.
10. Recolectar los números de teléfonos celulares de 5 compañeros y escriba un algoritmo que solicite el
número de un teléfono celular y entregue el nombre del compañero respectivo. Si el número no está dentro
de los recolectados debe mostrar “contacto desconocido!!”.
11. Ingresar un número entero positivo de 4 dígitos y calcular la suma de sus dígitos indicando si esta suma es
par o impar.
12. Ingresar 5 valores positivos mostrando el promedio de los valores impares y el promedio los valores pares.
13. Ingresar un valor indicando si es múltiplo de 8.
14. Ingresar un valor indicando si es múltiplo de 3 y 8 a la vez.
15. Ingresar dos valores indicando si uno es múltiplo del otro o no.
16. Ingresar 3 valores correspondientes a los lados de un triángulo. Teniendo en cuenta que la suma de los
dos lados menores tiene que ser superior al lado mayor para que formen un triángulo, indicar si los valores
ingresados forman un triángulo y si lo forman que tipo de triángulo es (según sus lados).
17. Ingresar 3 valores donde el primero y el segundo son límites de un intervalo, indicar si el tercero pertenece
a dicho intervalo.
18. Escriba un algoritmo que calcule la edad de una persona en años (entero) dada su fecha de nacimiento
(dd/mm/aaaa). Considere que una persona sólo tiene un año más si su cumpleaños es hoy o ya pasó.
19. Escriba un algoritmo que determine si un carácter ingresado por el usuario es un dígito o una letra, si no es
ninguno de lo anterior indicar “otro carácter distinto de dígito y letra”.
20. Escriba un algoritmo que determine si una letra ingresada por el usuario es mayúscula o minúscula.
21. Escriba un algoritmo que determine si una letra ingresada por el usuario es una vocal o una consonante.
22. Escriba un algoritmo que pida al usuario dos palabras e indique cuál de esas palabras es la más larga.
Investigue el funcionamiento de la función len() de Python.
23. Escriba un algoritmo que indique el equipo de futbol que pasa a la siguiente ronda después de ingresar los
resultados de los partidos de ida y de vuelta de una llave determinada. El algoritmo debe utilizar las reglas
de la FIFA: pasa a la siguiente ronda el equipo con mayor cantidad de puntos (3 puntos para ganador de
un partido y 0 para el perdedor, 1 punto para cada equipo en caso de empate). Si existe empate en la
cantidad de puntos, pasa a la siguiente ronda el equipo con la mayor diferencia de goles realizados. Si aún
existe empate, pasa el equipo con mayor cantidad de goles realizados en calidad de visita. Si aún hay
empate, simule un sorteo. Se debe indicar la razón por la cuál el equipo pasó a la siguiente ronda.
24. Se ingresa el nombre del trabajador, el valor hora que cobra, la cantidad de años que lleva trabajando en la
empresa y la cantidad de horas que trabajó en el mes. Se pide calcular el sueldo a cobrar por el trabajador
teniendo en cuenta que las primeras 180 horas se pagan al valor hora que cobra el empleado, las
siguientes 15 horas se pagan a un 50% más y las restantes a un 100% más. Además, se entrega un bono
de $100.000 pesos a los empleados que lleven más de 5 años en la empresa y un bono de $300.000 a los
empleados que lleven más de 10 años en la empresa, estos bonos no son acumulables. Considerando que
al empleado se le descuenta un 20% del sueldo por concepto de salud y previsión, construya un programa
que muestre el recibo de liquidación del sueldo con el nombre del empleado, el bono que le corresponde
por antigüedad, el monto del sueldo bruto, el monto del sueldo líquido y el monto de los descuentos que se
le aplicaron.
25. Presente al usuario un menú de opciones con las siguientes operaciones aritméticas:
1→Suma, 2→Resta, 3→Multiplicación, 4→División y 5→Exponenciación. Según la operación elegida se
ingresarán 2 números enteros, se realizará la operación y se mostrará el resultado. Recordar que la
división por cero es indeterminada.
26. Ingresar el sueldo de un trabajador y calcular el impuesto a la renta que se le debe cobrar según la
siguiente tabla:
Monto del sueldo Tasa impuesto renta
Menor a $300.000 2%
De $300.000 a $500.000 5%
Más de $500.000 pero menor a $1.000.000 8%
De $1.000.000 hacia arriba 10 %
27. Calcule el IMC (índice de masa corporal), lo muestre y le indique al usuario en que categoría se encuentra.
Categoría IMC
Delgadez Severa < 16.00
Delgadez Moderada 16.00 a 16.99
Delgadez Leve 17.00 a 18.49
Normal 18.5 a 24.99
Pre-Obeso 25.00 a 29.99
Obesidad Leve 30.00 a 34.99
Obesidad Media 35.00 a 39.99
Obesidad Mórbida ≥ 40.00
28. Debido a la sequía sufrida en la Región de Arica y Parinacota, se decidió poner en práctica un sistema
de cobro de agua que penalizará el consumo excesivo de la forma que se indica en la tabla siguiente:
Consumo (m3) Pesos/m3
Primeros 100 $110
Más de 100 y hasta 500 $150
Más de 500 y hasta 1000 $250
Más de 1000 $550
Escribe un programa que lea los metros cúbicos consumidos y presente el cobro de agua total. Tener en
cuenta que en la tabla se indica lo que hay que cobrar por los m3 que se encuentran en el intervalo. Así, si
se ha consumido 780 m3 deberíamos pagar: 100 * 110 + 400 * 150 + 280 * 250 = $ 141.000
29. Un número es palíndromo si se puede leer de igual forma hacia adelante o hacia atrás, por ejemplo:
123321, 828, 66, 3443, 17171, etc. Escribe un programa que lea un número de 4 dígitos y determine si es
palíndromo o no.
30. Se ingresa el número del rut de un trabajador, el valor de su sueldo base, la cantidad de años que lleva
trabajando en la empresa y la cantidad de horas extras que trabajó en el mes. Las primeras 10 horas
extras se pagan a un valor de $20.000 para todos los trabajadores. Las siguientes 20 horas extras se
pagan al 50% más para trabajadores de menos de 10 años de antigüedad, 75% más para trabajadores de
menos de 20 años de antigüedad y 100% más para trabajadores de 20 o más años de antigüedad. Las
restantes horas extras se pagan al 100% para todos los trabajadores independiente de su antigüedad.
Además, considere que se entrega un bono de $100.000 pesos a los empleados que lleven más de 5 años
en la empresa, un bono de $200000 pesos a los empleados que llevan más de 10 años en la empresa y un
bono de $300.000 pesos a los empleados que lleven más de 15 años en la empresa, estos bonos no son
acumulables. Considerando que al trabajador se le descuenta un 20% del sueldo por concepto de salud y
previsión, construya un programa que muestre el recibo de liquidación del sueldo con el formato que se
indica como ejemplo para una entrada de:
Rut 17890678-4, sueldo base $500000, 7 años de antigüedad y 15 horas extras trabajadas en el mes.
Liquidación de Sueldo