ALGORITMOS - Universidad de Antioquia

Universidad de Antioquia
Departamento de Ingeniería Electrónica y Telecomunicaciones
Informática I
Taller 2
ALGORITMOS
NIVEL 1
1. [S] Diseñar el algoritmo que lea el valor correspondiente a una distancia en millas marinas y las
escriba expresadas en metros. Sabiendo que 1 milla marina equivale a 1852 metros.
2. [S] Diseñar el algoritmo que calcule el porcentaje descontado en una compra. El usuario debe
ingresar el precio del producto y el precio pagado.
3. [S] Diseñar el algoritmo que tras introducir una medida expresada en centímetros la convierta en
pulgadas (1pulgada = 2,54centímetros).
4. [S] Diseñar el algoritmo que calcule el área y el perímetro de un triángulo rectángulo dada la base
y la altura (sus dos catetos).
5. [S] Diseñar un algoritmo que convierta el valor de temperatura en grados Fahrenheit a su
correspondiente en grados centígrados (
).
6. [S] Diseñar un algoritmo que lea el radio de un círculo y que el imprima su diámetro, su perímetro
y su área. Utilice el valor constante 3,14159 para “pi”.
7. [S] Diseñar un algoritmo que calcule el volumen de una caja dadas las dimensiones que la
conforman.
8. [D] Diseñar el algoritmo que pida dos números enteros y muestre su suma, resta, multiplicación,
división y el módulo de la división. Si la operación no es conmutativa, también se mostrará el
resultado invirtiendo los operadores (indicar operadores invertidos en un mensaje). Nota:
Recuerde que la división por cero no está definida.
9. [D] Diseñar un algoritmo que calcule el mayor y el menor de 5 números ingresados por teclado.
10. [D] Diseñe un algoritmo que lea un entero y determine si es par o impar.
11. [D] Diseñar el algoritmo que exprese en horas, minutos y segundos un tiempo dado en segundos.
Ejemplo: Si ingresan 8015 tendríamos 2h-13m-35s
12. [D] Diseñar un algoritmo que al ingresarle tres valores, a continuación imprima la suma, el
promedio, el producto, el menor y el mayor de estos números.
13. [D] Dada una especificación de tiempo en horas, minutos y segundos, calcule dicha especificación
un segundo después. Nota: el máximo para el valor de las horas es 23, para los minutos es 59 y los
segundo 59.
14. [D] Diseñar un algoritmo que permita calcular la diferencia entre dos períodos de tiempo dados
en: horas, minutos y segundos. Nota: el máximo para el valor de las horas es 23, para los minutos
es 59 y los segundo 59. Además siempre debe calcular la diferencia en el mismo orden: tiempo1 –
tiempo2. Nunca debe dar negativa: Ejemplo:11h:40m:50s – 20h:55m:30s = 14h:45m:20s
15. [D] Diseñar un algoritmo que permita calcular la suma entre dos períodos de tiempo dados en:
horas, minutos y segundos. Nota: el máximo para el valor de las horas es 23, para los minutos es
59 y los segundo 59. Ejemplo:11h:40m:50s + 20h:55m:30s =1d:8h:26m:20s
Universidad de Antioquia
Departamento de Ingeniería Electrónica y Telecomunicaciones
Informática I
Taller 2
16. [D] Realizar calculadora usando un menú de selección. La calculadora debe incluir las operaciones
básicas: suma, resta, multiplicación, división, módulo y potenciación. Recuerde que la división por
cero no está definida.
NIVEL 2
17. [R] Diseñar un algoritmo para determinar el máximo común divisor de dos números enteros
(Ayuda: usar el algoritmo de Euclides)
18. [R] Diseñar un algoritmo que calcule el valor máximo entre N valores leídos
19. [R] Diseñar un algoritmo que calcule el promedio entre N números previamente conocidos.
20. [R] Diseñar un algoritmo que determine si un número dado es primo
21. [R] Diseñar un algoritmo que imprima la suma de la serie de números 3, 6, 9…, N
22. [R] Diseñe un algoritmo que muestre la serie de Fibonacci hasta n-ésimo término.
23. [R] Diseñe un algoritmo que escriba los n términos de la siguiente serie: 1, 2, -3, -4, 5, 6, -7, -8, 9,
10, -11, -12,...
24. [R] Diseñe un algoritmo que calcule los n términos de la siguiente serie: 1/2, -9/4, 25/6, -49/8,
81/10, -121/12,...
25. [R] Desarrollar un programa que realice la siguiente serie: 1, 2, 4, 7, 11, 16, 22, 29, 37,…
26. [R] Una secuencia empieza con el número 7 y cada número sucesivo se obtiene del número previo
multiplicando por 2 y restando 1. Por ejemplo, el segundo número en la secuencia es 7*2-1=13.
Diseñe un algoritmo que calcule un número cualquiera de la secuencia.
27. [R] Diseñe un algoritmo que determine el nivel de la nota definitiva de N estudiantes, teniendo en
cuenta que la primera nota vale el 35%, la segunda el 35% y la tercera el 30%, y los niveles son:
de 0 a 2 mala, de 2 a 3 deficiente, de 3 a 4 buena, y entre 4 y 5 excelente.
28. [R] Calcule los números factoriales entre 1 y un valor previamente leído, escribiendo el número y
su correspondiente valor factorial, y al final la suma de los números y la suma de sus factoriales.
29. [R] Diseñe un algoritmo que lea dos valores A y B, y encuentre AB mediante sumas únicamente.
30. [R] Diseñe un algoritmo para calcular independientemente la suma de los números pares e impares
entre 1 y N.
31. [R] Diseñe un algoritmo que lea N números enteros y determinar cuántos son positivos y de esos
positivos cuántos son pares.
32. [R] Diseñe un algoritmo que reciba un número de derecha a izquierda, es decir, comenzando por
las unidades, luego las decenas, … Ejemplo: para ingresar 2534, ingresamos 4352.
NIVEL 3
33. [R] Diseñe un algoritmo que convierte una sucesión de dígitos binarios a una cantidad en el
sistema decimal. Se sabe cuántos dígitos entrarán.
34. [R] Diseñe un algoritmo que dados N estudiantes de un colegio, determine cuántos pertenecen a
cado uno de los siguientes rangos de edad:
Universidad de Antioquia
Departamento de Ingeniería Electrónica y Telecomunicaciones
Informática I
Taller 2





estudiantes menores de 5 años
estudiantes entre 5 y 7 años
estudiantes entre 7 y 10 años
estudiantes entre 10 y 12 años
estudiantes mayores de 12 años
35. [R] Desarrollar un algoritmo que determine en un conjunto de N números naturales:
 Cuántos son menores de 15
 Cuántos son mayores de 50
 Cuántos están comprendidos entre 25 y 45
36. [R] Diseñe un algoritmo que determine si un número ingresado por el usuario es capicúa. No
restrinja la cantidad de dígitos que puede tener el número. El usuario debe ingresar todo el número
y no digito por dígito.
37. [R] Don Cecilio es un caminante que realiza un recorrido en varios días. Cada día por medio de su
GPS observa la posición (x,y) en la que se encuentra. Usted decide ayudarlo desarrollando un
algoritmo que, al ingresarle estos datos, le permite calcular:
 Cuántos días caminó
 Cuánto caminó en total
 Cuál fue el día en que más caminó y cuanto fue
38. [R] La ciudad “Far Far Away” posee una sola central hospitalaria y varias ambulancias. Las
ambulancias recorren la ciudad y cuando se recibe una llamada en la central, se informa la
ubicación de la emergencia (xe,ye) y la ubicación de todas las ambulancias mediante coordenadas
(xi,yi).
 La central es el punto (0,0) u origen de coordenadas.
 Se sabe que existen N ambulancias en servicio.
Realice un algoritmo que, dada la información necesaria, informe las coordenadas de la
ambulancia más cercana al punto de emergencia.
39. [R] Un banco calcula los intereses de las cantidades depositadas por los clientes diariamente con
base en las siguientes premisas. Un capital de 1000euros, con una tasa del 6% anual, renta un
interés en un día de 0.06 multiplicado por los 1000euros y dividido por 365. Esta operación
producirá 0.16 euros de interés y el capital acumulado será 1000.16euros. El interés para el
segundo día se calculará multiplicando 0.06 por 1000.16euros y dividiendo por 365. Diseñar un
algoritmo que reciba tres entradas: el capital a depositar en euros, la tasa de interés y la duración
del depósito en semanas, y calcule el capital total acumulado al final del periodo de tiempo
especificado.
40. [R] Diseñar un algoritmo para calcular la velocidad en metros/segundo de los corredores de una
carrera de 1500 metros. Por cada corredor leerá por teclado los minutos y segundos del tiempo que
ha marcado y a continuación mostrará por pantalla la velocidad correspondiente. El algoritmo
finalizará cuando para un corredor lea el valor 0 para los minutos y para los segundos.