Upload
ymendal
View
2.069
Download
0
Embed Size (px)
Citation preview
Estructuras repetitivas
Departamento de ingeniería
Enunciado de Repetición.
Son los enunciados que permiten repetir varias veces un conjunto de enunciados según se necesite de acuerdo a una condición.
Se les conoce también como ciclos.
Departamento de ingeniería
Enunciado de Repetición - Mientras
MIENTRAS <comparación> HACER
VERDADERO
Enunciado(s) a repetir
FIN MIENTRAS
FALSO
Enunciado(s)
<comparación>
SI NO Diagrama de Flujo
Pseudo Código
Departamento de ingeniería
Enunciado de Repetición - Mientras
MIENTRAS contador < numero HACER
contador contador +1
leer(edad)
acumulador acumulador + edad
FIN MIENTRAS
promedio acumulador/contador
escribir(promedio)
Fin
contador < numero
contador contador + 1
Leer(edad)
acumulador acumulador + edad
SI
promedio acumulador/contador
Escribir (promedio)
NO Diagrama de Flujo
Pseudo Código
Departamento de ingeniería
Representación de Algoritmos (I)
Ejemplo: A. Solicite al usuario 3 números y presente en
pantalla el promedio de estos.
B. Solicite al usuario 20 número y presente en pantalla el promedio de estos.
Departamento de ingeniería
Representación de Algoritmos - mientras
Ejercicios:
Elaborar un algoritmo que calcule el promedio de edad de los estudiantes del salón de clase, de acuerdo al numero de estudiantes.
Departamento de ingeniería
Algoritmo promedio_edad var entero:cant_est, contador, prom_edad inicio escribir(´Ingrese la cantidad de estudiantes´) leer(cant_est) contador 0 //Almacena la cantidad de estudiantes ingresados
acumulador 0 //Acumula la edad para obtener el promedio
mientras (contador < cant_est) hacer contador contador +1
escribir(‘Ingrese la edad del estudiante’) leer(edad) acumulador acumulador + edad
fin_mientras si (contador >0) entonces prom_edad acumulador/contador
escribir(‘El promedio de edad de los estudiantes es:’, prom_edad) si_no escribir(‘No se ingresaron edades’) fin_si fin
Solución completa utilizando Pseudo Código
Departamento de ingeniería
Solución completa utilizando Pseudo Código
Inicio
Fin
Terminal
Leer (cant_est)
Entrada de Datos
contador 0 acumulador 0 Proceso
contador < cant_est
Decisión
contador contador + 1
Leer (edad)
acumulador acumulador + edad
SI
Escribir (prom_edad)
NO
contador > 0
Prom_edad 0 Prom_edad
acumulador/contador
SI NO
Diagrama de Flujo.
Salida de Datos
Departamento de ingeniería
Enunciado de Repetición – Haga .. Mientras
HAGA
VERDADERO
Enunciado(s) a repetir
MIENTRAS <comparación>
FALSO
Enunciado(s)
<comparación>
SI
NO
Diagrama de Flujo
Pseudo Código
Departamento de ingeniería
Enunciado de Repetición – Haga .. Mientras
HAGA
leer (edad)
contador contador + 1
Acumulador acumulador + edad
MIENTRAS edad > 0
promedio acumulador/contador
Escriba (promedio)
Edad > 0 Promedio
acumulador/contador
Escriba(promedio)
Leer (Edad)
contador contador + 1 Acumulador acumulador +
edad
SI NO
Diagrama de Flujo
Pseudo Código
Departamento de ingeniería
Representación de Algoritmos – Haga - mientras
Ejercicios: ◦ Algoritmo que presente en pantalla los
primeros 10 primeros números divisibles entre 3.
Departamento de ingeniería
Algoritmo numeros_div_3
var
entero: num, cont_num,
Inicio
cont_num 0
num 3
haga
si (num MOD 3 = 0) entonces
escribir(num)
cont_num cont_num + 1
fin_si
mientras (cont_num < 10)
fin
Departamento de ingeniería
Solución completa utilizando Pseudo Código – Solución 1
Representación de Algoritmos.
Ejercicios:
Modifique el algoritmo que calcula el promedio de edad de los estudiantes del salón de clase, de acuerdo al numero de estudiantes, calculando el promedio de edad de los hombres y mujeres del salón.
Departamento de ingeniería
Algoritmo prom_edad_hm_muj Var entero: cant_est, cont_est, cont_mujeres, cont_hombres, acum_edad_est, acum_edad_m,
acum_edad_h, edad, prom_edad_est, prom_edad_h, prom_edad_m cadena: sexo Inicio escribir(‘Ingrese la edad de los estudiantes’) leer(cant_est) cont_est 0 cont_mujeres 0 cont_hombres 0 acum_edad_est 0 acum_edad_m 0 acum_edad_h 0 mientras cont_est < cant_est hacer escribir(‘Ingrese la edad’) leer(edad) escribir(‘Ingrese el sexo (mujer/hombre’) leer(sexo) si sexo = ‘mujer’ entonces cont_mujeres cont_mujeres +1 acum_edad_m acum_edad_m + edad sino cont_hombres cont_hombres +1 acum_edad_h acum_edad_h + edad fin_si cont_est cont_est +1 acum_edad_est acum_edad_est + edad fin mientras
Solución completa utilizando Pseudo Código – Primera parte
Departamento de ingeniería
si (cont_est >0) entonces
prom_edad_est acum_edad_est/cont_est
escribir(‘El promedio de edad de los estudiantes es:’, prom_edad_est)
si (cont_mujeres > 0) entonces
prom_edad_m acum_edad_m/cont_mujeres
escribir(‘El promedio de edad de las mujeres es:’ prom_edad_m)
sino
escribir(‘No hay mujeres en el salón de clase’)
fin_si
si (cont_hombres > 0) entonces
prom_edad_h acum_edad_h/cont_hombres
escribir(‘El promedio de edad de los hombres es:’ prom_edad_h)
sino
escribir(‘No hay hombres en el salón de clase’)
fin_si
sino
escribir(‘No se ingresó información de los estudiantes’)
fin
Departamento de ingeniería
Solución completa utilizando Pseudo Código – Segunda parte
Ejercicios en clase
1. Programa que presente las raíces de una ecuación cuadrática. Se debe garantizar que el usuario ingrese un valor diferente de cero para el primer coeficiente. Presente también las raíces imaginarias.
2. Elabore un programa que pida al usuario 30 números. De los números ingresados por el usuario, cuántos son pares, cuántos impares y cuántos son divisibles entre 7.
3. Programa que determine si un número es o no primo.
Departamento de ingeniería
Gracias!!!
Departamento de ingeniería