Algoritmos Guía de Ejercicios - Unidad 2
Algoritmos Guía de Ejercicios - Unidad 2
Algoritmos Guía de Ejercicios - Unidad 2
ALGORITMOS
SEPARATA COMÚN DE EJERCICIOS - 2
SECCIONES: Todas
Elaborado: Editado y Aprobado: 12 de setiembre de 2019 - Profesores de Curso - Coordinación de Curso (Ing. Marcela Escobar)
Última actualización 24 de julio 2022
Tabla de contenido
UNIDAD 2: ESTRUCTURAS REPETITIVAS ...................................................................................................... 3
2.1 CONCEPTOS BÁSICOS SOBRE ESTRUCTURAS REPETITIVAS ................................................................. 3
2.2 ALGORITMOS CON ESTRUCTURAS REPETITIVAS DE SALIDA CONTROLADA ................................... 5
2.3 ALGORITMOS CON ESTRUCTURAS REPETITIVAS DE ENTRADA CONTROLADA ............................... 6
2.4 ALGORITMOS CON ESTRUCTURAS REPETITIVAS DE CONTADOR IMPLÍCITO .................................. 8
2.5 ALGORITMOS CON ESTRUCTURAS REPTITIVAS DE ENTRADA O SALIDA CONTROLADA .................... 10
-2-
UNIDAD 2: ESTRUCTURAS REPETITIVAS
2.1 CONCEPTOS BÁSICOS SOBRE ESTRUCTURAS REPETITIVAS
1. Las estructuras repetitivas de salida controlada , incluye una condición para que el proceso lógico que se
repite se detenga, dicha condición se encuentra ubicada en el algoritmo _________________ ( antes /
después ) de la iteración deseada.
2. Cuando se conoce o se pude conocer el número de veces que se repite un proceso o conjunto de acciones,
el diseño algorítmico más eficiente para representar la lógica, es la estructura repetitiva de
_____________ (entrada controlada / salida controlada / contador implícito)
ENUNCIADO F/V
a.
INICIO
Mientras R= “SI”
SS+8
Mostar S
Mostrar “ ¿Desea Continuar ?”
Leer R
Fin_Mientras
FIN
-3-
b.
INICIO
N 10
Rpta:/____________________________
c.
-4-
5. Complete la estructura a continuación:
Bloque de Instrucciones
Siguiente ___
6. Elabore un algoritmo Seudocódigo que sume 3 números y calcule el promedio de los números anteriores.
Además, calcule el cuadrado del promedio obtenido. Y vuelva a comenzar si es que el usuario contesta “
si “ a la pregunta ¿desea volver a calcular?
Inicio
Repetir
Ingresar x1, x2, x3
Promedio (x1 +x2 +x3) /3
Cuadrado Promedio ^ 2
Mostrar Promedio, Cuadrado
Mostrar “ ¿ Desea volver a calcular? “
Leer A
Hasta A = “No”
Fin
7. Elabore un algoritmo Diagrama de Flujo para realizar una encuesta demográfica a un grupo de Personas,
con el fin de saber el promedio de Edad y el % de género (Es decir cuanto porcentaje son mujeres y cuantos
hombres) . No sabe a ciencia cierta a cuantas personas encuestara, por lo que terminará de encuestar
cuando conteste “No” a la pregunta ¿Realizará otra encuesta?
-5-
Fe de erratas: En la imagen, recuerde que el operador lógico es O, no V
EJERCICIOS PROPUESTOSS
8. Elabore un algoritmo en diagrama de flujo que permita, a partir de ingresar el sueldo bruto mensual de
10 empleados y sabiendo que se descuenta el 17% por mes, calcule y muestre a cuánto asciende el monto
neto de sueldos pagados al año. ( es decir, el valor neto de la nómina anual). A continuación, indique cual
es el sueldo bruto promedio de la nómina.
9. Diseñe un algoritmo que permita realizar el cálculo de la siguiente serie teniendo en cuenta que el último
elemento no debe ser inferior a 0.1
EJERCICIOS RESUELTOS
10. Se requiere diseñar un algoritmo pseudocódigo que permita seguir la lógica de una calculadora básica que
realiza las 4 operaciones ( suma, resta, multiplicación, división) para un usuario que puede querer realizar
un cálculo adicional al finalizar cada operación. Suponga que la operación se realiza únicamente para dos
números.
-6-
Inicio
R”Si”
Mientras R = “Si”
Ingresar A
Ingresar B
Repetir
Ingresar OP
Si No (OP = “+” o OP = “-” o OP = “*” o OP = “/” ) Entonces Mostrar “Operación no Existe”
Hasta (OP = “+” v OP = “-” v OP = “*” v OP = “/” )
Seleccionar Caso OP
Caso “+”
Mostrar “ La suma de “ & A & “ y “ & B & “ es : “ & A+B
Caso “-”
Mostrar “ La resta de “ & A & “ y “ & B & “ es : “ & A - B
Caso “ * ”
Mostrar “ El producto de “ & A & “ y “ & B & “ es : “ & A * B
Caso “/”
Si B = 0 entonces
Mostrar “ Indeterminado”
Sino Mostrar “La división de “ & A & “ entre “ & B & “ es : “ & A/B
Fin_Si
Fin_Selección
Mostrar “ ¿Quiere realizar otro cálculo?”
Leer R
Fin_Mientras
Fin
11. Se le solicita diseñar un algoritmo en diagrama de flujo que permita calcular y mostrar la tabla de
multiplicar del 1 AL 10 de un número dado.
NO
SI
EJERCICIOS PROPUESTOS
12. Se solicita la preparación de un algoritmo (diagrama de flujo) en el cual se ingrese un número entero y el
computador lo detecte como “fuera de rango” si es mayor a 100 o menor a 0. Se debe mostrar por pantalla
el mensaje “Fuera de rango” y finalizar el ingreso. Repita la operación en caso se responda “Si” a la
pregunta “ ¿Repetir?”
13. Elabore un pseudocódigo que calcule el monto del descuento por la compra de 3 productos de código
diferente. Además, tome en consideración que el descuento aplicado depende de la marca del producto
-7-
según lo siguiente: 20%, 15% y 10% para cada producto respectivamente. Considere que los datos a
ingresar son el producto, la y el precio. Además, deberá mostrar los mensajes de error correspondientes.
14. Un empresario quiere tomar la decisión de invertir en un negocio. Dicha decisión depende de garantizar
que al cabo de 5 años haya obtenido una rentabilidad sobre el valor inicialmente invertido del 50%. Tenga
en cuenta que la tasa de rentabilidad anual de dicho negocio corresponde al 10% anual sobre el
acumulado, también tenga en cuenta que los costes asociados a la operación ascienden a 1.5% y se estima
que este coste incremente de acuerdo a la inflación en 0.3 puntos porcentuales . Diseñe una solución para
realizar el cálculo anual generando el detalle año por año y ayude a tomar la mejor decisión para el
objetivo del Empresario.
15. Se solicita escribir un seudocódigo que muestre cuantos números son positivos, cuántos son negativos y
cuantos son cero, después de obtener un total de 50 números:
Inicio
N = 50
Para i = 0 hasta N paso 1
Leer C
Si C = 0 entonces
Cero = Cero + 1
SinoSi C < 0 entonces
negativo = negativo +1
Sino
positivo = positivo +1
Fin_si
Siguiente i
Mostrar “De los 50 números, “ & cero & “ son = 0”
Mostrar “De los 50 números, “ & positivo & “ son positivos”
Mostrar “De los 50 números, “ & negativo & “ son negativos”
Fin
16. Elabore un seudocódigo que defina el estado académico de M alumnos de UPC de acuerdo con las veces
que ha repetido un curso, tenga en cuenta que por reglamento solo puede ver el curso hasta 3 veces,
antes de perder el derecho a matricula. Determine el porcentaje de alumnos que se encuentran en cada
situación académica y la situación académica más común para todos los alumnos.
-8-
(número de vez que está viendo el curso: entero)
INICIO
N0
S0
R0
Para i = M hasta 1 Paso -1
Repetir
Ingresar N
Si No( N>= 1 y N <= 3) entonces Mostrar “ digite una opción válida”
Hasta ( N>= 1 y N <= 3)
Seleccionar Caso N
Caso 1
Mostrar “situación académica normal”
N N+1
Caso 2
Mostrar “ situación con seguimiento” SS+1
Caso Contrario
Mostar “situación de riesgo académico” R R +1
Fin-Seleccionar
Siguiente i
Si ( N > S y N > R) entonces
Mostrar “ La situación más común es la Normal”
SinoSi (S > R y S > N )entonces
Mostrar “ La situación más común es la de Seguimiento”
Sino
Mostrar “ La situación más común es la de Riesgo “
Fin_Si
Mostrar “El % de alumnos en situación Normal es: “ & N/M-*100
Mostrar “El % de alumnos en situación de Seguimiento es: “ & S/M-*100
Mostrar “El % de alumnos en situación en Riesgo es: “ & R/M-*100
FIN
EJERCICIOS PROPUESTOS
17. Se solicita la preparación de un algoritmo (diagrama de flujo) en el cual se ingrese un número entero N. El
computador deberá mostrar por pantalla uno a uno cada número hasta llegar al número ingresado, N,
sumarlos todos entre sí y finalmente, mostrar por pantalla la suma total de todos los números.
18. Cree un diagrama de flujo que permita el ingreso de un cliente y su categoría (A o B). Y pregunte si desea
continuar con el ingreso. Además, al finalizar los ingresos, el algoritmo deberá mostrar el total de clientes,
el número de clientes de cada categoría y su respetivo porcentaje.
Por ejemplo, si se ingresan 7 registros con los siguientes datos, los resultados serían los que se
muestran a continuación.
-9-
19. Diseñe un algoritmo que permita calcular el valor de la serie para los primeros 10 elementos:
22. Elabore un algoritmo en Diagrama de Flujo que solicite una contraseña con un máximo de 3 intentos hasta
que la clave sea 320, 438 o 891. Utilice una estructura repetitiva de salida controlada:
- 10 -
EJERCICIOS PROPUESTOS
23. Diseñe un Algoritmo para un almacén de repuestos mediante el cual se permita solicitar un repuesto de
los N referencias existentes. Al final de cada entrega deberá registrarse la salida actualizando el inventario,
de tal forma que cada vez que se realice un nuevo pedido en caso de no poseer inventario indique cuanto
será la cantidad máxima que podría pedir en caso haya existencias o en su defecto indicar que no hay
stock. Termine el proceso de pedidos cuando se responda “NO” a la pregunta “ ¿desea realizar un nuevo
pedido?”. Cuando finalice la solicitud de todos los pedidos deberá mostrar un balance por cada referencia,
y la referencia de repuesto más solicitado.
24. Desarrolle un algoritmo que sume números reales, y siempre que vaya a solicitar cada número pregunte
al usuario si desea ingresar un número más; en caso el usuario responda que si se debe continuar pidiendo
el número a sumar, en caso el usuario indique que no va a ingresar más números, el algoritmo debe parar
y generar la suma y mostrarla. Represéntelo mediante Diagrama de Flujo.
25. La empresa IncaFish desea conocer qué tipos de empaques puede utilizar para enviar sus productos
(conservas de pescado) al extranjero; sus presentaciones son las siguientes:
• Caja Jumbo de 100 unidades
• Caja Mid de 50 unidades
• Caja Tiny de 20 unidades
• Paquete mini de 10 unidades
Considere que cada pedido puede tener desde 15000 hasta 50000 unidades; en caso se ingrese mal este
dato, deberá volver a ingresarse. Además, debe tomar en cuenta utilizar las cajas y/o paquete más
grandes primero.
Se le pide elaborar un pseudocódigo que permita realizar el pedido de la cantidad de conservas y
muestre cuantas presentaciones de cajas o paquetes se necesitan para preparar dicho pedido.
26. Realizar un algoritmo que muestre por pantalla la tabla de multiplicar del número DOS en forma
decreciente, en diagrama de flujo.
27. Diseñe un algoritmo en Diagrama de flujo y Diagrama de Fujo para determinar la media de una lista
indefinida de números positivos, se debe acabar el programa al ingresar un número negativo
28. Con base en el diagrama de flujo mostrado a continuación, se solicita la preparación de un algoritmo en
Visual Basic en el cual se ingrese un número entero y el computador lo detecte como “fuera de rango” si
es mayor a 100 o menor a 0. Se debe mostrar por pantalla el mensaje “Fuera de rango” en caso lo sea o,
“Dentro de rango”, según corresponda.
29. Cree un pseudocódigo que ingresando dos números, calcule el cuadrado del producto de ellos y la raíz
cuadrada de la suma si son positivos. En caso sean negativos, calcule la suma de sus cuadrados. En
cualquier otro caso, no realice ninguna operación y muestre un mensaje adecuado. Considere que los
números no pueden ser nulos; por ello, deberá validar el ingreso de los números y mostrar el mensaje de
error correspondiente.
30. Hacer un diagrama de flujo que pida un número y muestre los 10 siguientes números a él.
31. Hacer un pseudocódigo que muestre la tabla de multiplicar del número 5 sin mostrar el resultado 25.
32. Elaborar diagrama de flujo que sume los 10 pares que le siguen al 26.
33. Hacer un diagrama de flujo y pseudocódigo que sume los 10 impares que le siguen al número n.
- 11 -
34. Elaborar un diagrama de flujo y pseudocódigo que sume los pares comprendidos entre 100 y 200 sin
considerar el rango de números comprendidos entre 50 y 76.
35. Elaborar un diagrama de flujo y pseudocódigo que sume los 10 primeros números pares, luego que sume
los 10 primeros Impares y muestre la diferencia de ambos resultados.
36. Elaborar un diagrama de flujo y pseudocódigo que sume los 10 números pares que le siguen a N, luego
que sume los 10 Impares que le siguen a M y muestre la diferencia de ambos resultados.
37. Elaborar un diagrama de flujo y pseudocódigo que muestre cuantos "Lunes" Hay entre las fechas 19 de
Setiembre del 2004 y el 25 de diciembre del mismo año.
38. Elaborar un diagrama de flujo y pseudocódigo que muestre cuantos "Lunes" Hay entre las fechas 19 de
Setiembre del 2004 y el 25 de diciembre del mismo año, mostrando que día cae Lunes y el nombre del
mes correspondiente de ese día.
2018-01:
2018-01:
2018-02:
La empresa ABC S.A.C. está planeando llevar a cabo una campaña publicitaria por televisión para
introducir en el mercado un nuevo producto; por lo que solicitó a 3 canales de televisión que le
hagan llegar sus propuestas, las mismas se muestran en la siguiente tabla.
- 12 -
Se le solicita elaborar un pseudocódigo que permita calcular y mostrar el costo total de la
publicidad, si se ingresan como datos el canal (1, 2 o 3), y la cantidad de publicidad de 30 segundos
al día requeridos.
Solución posible:
Inicio
Leer Canal
Leer N
Si (Canal =1 o Canal =2 o Canal =3) Y N > 0 Entonces
Seleccionar Caso Canal
Caso 1
ST = N * 1200
Si N<=3 Entonces D =0 Sino D = ST * 0.05
Caso 2
ST = N * 980
Si N<=5 Entonces D = ST * 0.02 Sino D = (5 * 980 *0.02) + (N -5) *980*0.07
En otro caso
ST = N * 1150
D = (N Cociente6) * 2 * 1150
Fin-Seleccionar
Total = ST –D
Mostrar Total
Sino
Si No(Canal =1 o Canal =2 o Canal =3) Entonces Mostrar “Canal no existe”
Si N <= 0 Entonces Mostrar “Cantidad de avisos debe ser mayor que cero”
Fin_Si
Fin
- 13 -