ESTRUCTURAS REPETITIVAS
EJEMPLOS
MENU DEL DIA
• Repaso
condicionales.
• Repaso ciclos.
• Estructura mientras.
• Estructura para.
• Problemas.
• Variables.
• Miscelánea de
ejemplos.
CONDICIONALES
DIAGRAMA DE FLUJO
PSEUDOCODIGO
CONDICIONALES - ESCENARIOS
Alabado
sea Chuck
Norris.
CONDICIONALES - ESCENARIOS
La forma de la estructura depende del problema
Ejemplo:
… si el encuestado es mayor de edad se pregunta si es casado si no se pregunta si es
posee hermanos, se solicita la cantidad y se indaga si es el mayor de estos; si es
menor de edad despide al usuario …
Variables:
•
•
•
•
•
edad: Edad.
estado: (0: soltero, 1:
casado)
solo: (0: Tiene hermanos,
1: Hijo único)
num_hermanos: Numero
de hermanos.
mayor: (1: Es el mayor de
los hermanos, 0: No es el
mayor de los hermanos).
...
SI (edad >= 18) ENTONCES
...
SI (estado == 1) ENTONCES
...
SI_NO
SI (solo == 0) ENTONCES
...
SI (mayor == 1) ENTONCES
...
FIN_SI
...
FIN_SI
...
FIN_SI
SI_NO
ESCRIBA(‘suerte es que le digo’)
FIN_SI
REPASO CICLOS
• Empleado para la realización de tareas repetitivas.
• Tiene 2 componentes principales, la cabecera y el cuerpo.
• En la cabecera va la condicion que se evalúa para determinar la
repetición o no del ciclo
• El cuerpo contiene las instrucciones del ciclo que se repiten.
ESTRUCTURA MIENTRAS
DIAGRAMA DE FLUJO
PSEUDOCODIGO
ESTRUCTURA PARA
DIAGRAMA DE FLUJO
PSEUDOCODIGO
PROBLEMA
ESQUEMA
CUALITATIVO
Pregunta
antes de cada
iteración
ESCRIBA(‘Digite 1 si...’)
LEA(ban)
MIENTRAS (ban == 1) HAGA
...
ESCRIBA(‘Digite 1 si...’)
LEA(ban)
FIN_PARA
ESQUEMA
CUANTITATIVO
Usando
registro
centinela
ESCRIBA(‘Digite el dato...’)
LEA(d)
MIENTRAS (d != -1) HAGA
...
ESCRIBA(‘Digite el dato...’)
LEA(d)
FIN_PARA
ESCRIBA(‘Digite el ...’)
LEA(N)
PARA (i=1:N:1) HAGA
...
FIN_PARA
Variables
Contador
Acumulador
total_recolectado
total_boletos
VIP: $7000
Normal: $5000
EJEMPLO 1 (Una sencilla suma)
• Realizar un programa que realice la suma de
los N primeros números usando la estructura
MIENTRAS y usando la estructura PARA.
Solución en Pseint:
• ejemplo1_mientras
• ejemplo1_para
EJEMPLO 2 (Factorial de un
numero)
• Implementando las estructuras PARA y MIENTRAS realizar un algoritmo
que calcule el factorial de un numero, es decir:
n! = n*(n-1)*(n-2)*…*3*2*1.
• Mejore el programa anterior de tal
modo que le permita al usuario
repetir el proceso cuantas veces
desee.
Solución en Pseint:
• ejemplo2_mientras
• ejemplo2_para
• ejemplo2_mejorado_centinela.
• ejemplo2_mejorado_bandera.
EJEMPLO 3
• En una entidad crediticia, se necesita
tener actualizado el valor en pesos que se
han ingresado para cuentas corrientes y
cuentas de ahorros por separado. Para n
clientes del banco, hacer un programa que
le permita saber el monto total
consignado en cuentas corrientes y el
monto consignado en cuentas de ahorros.
Validar que ninguno de los montos
ingresados sea negativo y de serlo no
tenerlo presente en la sumatoria y
contarlo para después mostrar que
porcentaje del total de consignaciones
fueron negativas.
Solución en Pseint:
• ejemplo3
•
•
•
•
•
•
EJEMPLO 4
Construya un algoritmo que permita mostrar los
números enteros desde 0 hasta N. N debe ser
positivo, si el usuario lo ingresa negativo hay que
modificarlo (es decir volverlo positivo).
Modifique el anterior ejercicio para mostrar los
número enteros desde 0 hasta -N. Si el usuario
ingresa N positivo hay que volverlo negativo.
Modifique el anterior ejercicio para que se muestren los números enteros desde N
hasta M. N debe ser menor que M y en caso contrario se deben intercambiar.
Modifique el ejercicio anterior para que se muestren solo los números pares desde
N hasta M.
Modifique el ejercicio anterior para que se muestren los números pares o impares
según el usuario lo desee desde N hasta M. N debe ser menor que M y en caso
contrario hay que intercambiarlos.
Leer por el teclado N números enteros. Se desea saber cuantos de ellos son
divisibles exactamente por 7 y cuantos no lo son.
EJEMPLO 5
• Hacer un sistema para calcular el promedio de N notas de
seguimiento ingresadas por el teclado. Las notas deben estar en
el intervalo [0,5] no tener en cuenta notas fuera del rango y al
final mostrar que porcentaje del total de notas no fue correcto.
Solución en Pseint:
• ejemplo5
EJEMPLO 6
• Acumular N numeros ingresados por el teclado, la idea es que
solo se acumulen dígitos positivos mayores a cero, de forma
que al final se muestre que porcentaje de los datos no se
incluyeron en el acumulado mostrado.
Solución en Pseint:
• ejemplo6
EJEMPLO 7
• Construir un programa que permita acumular los números
terminados en 1, sumar los números terminados en 2 y contar
los números terminados en 3 que hay en el intervalo [p,q].
Modificar de ser necesario a p y a q, para que ambos sean
positivos y p sea menor que q.
Solución en Pseint:
• ejemplo7
EJEMPLO 8
• Construir un programa que genere los números pares desde N
en adelante, mientras el usuario lo desee.
Solución en Pseint:
• ejemplo8
Como aquí se desea mostrar
como mínimo un numero se
recomienda usar la estructura
REPETIR.
EJEMPLO 9
•
Una oficina de seguros de Medellín ha reunido datos concernientes a todos los
accidentes de tránsito ocurridos en el área metropolitana de Medellín en el último
año. Por cada conductor involucrado en un accidente se toman los siguientes
datos: año de nacimiento, sexo (1: Femenino, 2: Masculino), registro del carro (1:
Medellín, 2 Otras ciudades). Hacer un algoritmo que muestre:
–
–
–
–
El porcentaje de conductores menores de 25 años.
Porcentaje de conductores de sexo femenino.
Porcentaje de conductores masculinos con edades entre los 12 y 30 años.
Porcentaje de conductores cuyos carros están registrados fuera de Medellín.
Solución en Pseint:
• ejemplo9
EJEMPLO 10
•
Se tiene una serie de registros de ellos tiene 4 valores, que
corresponden a las longitudes de diferentes patas de una mesa.
Elaborar de un algoritmo que chequee si con los 4 valores leídos en
cada registro se puede fabricar una mesa no coja, de cuatro patas o,
una mesa no coja de 3 patas en caso de que no se pueda fabricar una
de 4. El algoritmo debe mostrar el número de mesas de 4 y 3 patas
que se pueden formar, lo mismo que la cantidad de patas sobrantes.
Solución en Pseint:
• ejemplo10
EJEMPLO 11 (Series)
• Realizar un algoritmo que muestre los
primeros N términos la serie Fibonacci, la cual
tiene: 0, 1, 1, 2, 3, 5, 8, ...
Solución en Pseint:
• ejemplo11
EJEMPLO 12 (Series 2)
• Realizar un algoritmo que muestre los
primeros N términos de la siguiente serie:
0, - 2, 4, -6, 8, -10, 12, ...
Solución en Pseint:
• ejemplo12
EJEMPLO 13 (Series 3)
• Realizar un algoritmo que muestre los
primeros N términos de la siguiente serie:
0, -2, 4, -6, 8, 10,- 12, 14, 16, 18, -20, 22, 24, 26,
28, -30 ...
Solución en Pseint:
• ejemplo13
EJEMPLO 14 (Series 4)
• Elaborar un algoritmo que lea un valor de x, y
calcule el valor de los N primeros términos de
la serie:
Solución en Pseint:
• ejemplo14
EJEMPLO 15 (Series 4)
# Termino
1 1
2 -8/(2*1) = -4
3 32/(3*4) = 2.67
4 -128/(5*6) = -4.27
i
termino
resultado
?
?
1=1
1
-8/(2*1) = -4
1 – 4 = -3
2
32/(3*4) = 2.67
1 – 4 + 2.67 = -0.33
3
-128/(5*6) = -4.27
1 – 4 + 2.67 – 4.27 = -4.6
4
512/(7*8) = 9.14
1 – 4 + 2.67 – 4.27 + 9.14 = 5.54
5
5
5.54
5 512/(7*8) = 9.14
4.54
EJEMPLO 16 (Problema)
•
Varias ambulancias recorren la
ciudad y cuando se recibe en
la CENTRAL una llamada se
informa la ubicación de la
emergencia mediante
coordenadas, lo mismo que la
ubicación de todas las
ambulaciones. 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.
EJEMPLO 17 (Series 5)
• Encontrar el valor de para un valor dado de
exp(x) dado, mediante la serie:
Descargar

EjemplosCiclos