bucles 121005113556-phpapp01
TRANSCRIPT
Bucles
Estructuras de control
• Conocemos como estructura de control a una
estructura de código en la cual una expresión lógica
determina la ejecución reiterada de un bloque de
instrucciones.
• Estas estructura también se conoce como bucles.
Bloque de instrucciones
<Expresión Booleana>
Estructura de un bucle
Mientras <Exp_Bool> Entonces
Fin mientras
Características
• <Exp_Bool>: Es cualquier expresión que devuelve
valores de verdadero o falso.
• Bloque de instrucciones: Es cualquier instrucción
secuencial, condicional o bucle que se ejecuta
mientras la condición del bucle lo permite.
Tipos de buclesDe comparación al inicio.
De comparación al final
Bloque de instrucciones
<Expresió Booleana>
• Se ejecuta mientras <Exp_bool> devuelva
Verdadero.
• Si <Exp_bool> Es falsa nunca se ejecuta.
• Se ejecuta Hasta que <Exp_bool>
devuelva Verdero.
• Si <Exp_bool> Es vedadera se ejecuta al
menos 1 vez.
Bloque de instrucciones
<Expresión booleana>
Escritura de los bucles
Mientras <Exp_bool> Entonces
<Bloque instrucciones>
Fin mientras
Inicio
<Bloque instrucciones>
Hasta que <Exp_bool>
N 1
Mientras n < 50 Entonces
n n + 1
Fin mientras
<< nN 1
Inicio
n n + 1
Hasta que n >= 50<< n
Comparación
al final
Uso de bucles de comparación al
inicio
• Asegurarse de que la condición de entrada se ejecutará con una condición verdadera.
• Evitar bucles infinitos: Cuando la condición nunca se hace falsa.
• Ejm.
Mientras 2 > 1 Entonces
<< “Bucle infinito”
Fin mientras
• Asegurarse del cambio de condición mientras se ejecuta el bucle.
• Si la condición inicial es falsa, no se ejecutan nunca las sentencias del bloque.
Uso de bucles de comparación al
final
• Evitar bucles infinitos: Cuando la condición nunca se hace verdadera.
• Ejm.
Inicio
<< “Bucle infinito”
Hasta que 2 < 1
• Asegurarse del cambio de condición mientras se ejecuta el bucle.
• Si la condición es verdadera, sólo se ejecuta 1 vez.
• Estos bucles siempre se ejecutan al menos una vez.
Contadores
i 0
i i + 1
i = 1
i i + 1 i i + 1 i i + 1
i = 2 i = 3 i = 4
Acumuladores0S 0
1,60S S + 1,60
3,30S S + 1,70
5,05S S + 1,75
6,72S S + 1,67
Banderas
4
6
9
11
PRIMOPRIMO
BanderaDatos
Ejercicio
• Se desea desarrollar un programa que genere una
secuencia de N números y cuente cuantos numeros
primos ha encontrado en el proceso y determine la
sumatoria de los mismos.
Aspectos importantes del problema
• Una secuencia es una serie de números que incrementan de 1 en 1. Para eso usaremos una variable secuencia como acumulador.
• Se considera primos a los enteros positivos que són divisibles únicamente para la unidad y para si mismos, no se considera al 1. Para encontrarlos trataremos de encontrar los divisores exactos, y si se encuentra 1, una variable bandera denominada esPrimo se hará verdadera.
• Para la cuenta se usará la variable cont, como contador.
• Por cada primo encontrado la variable suma acumulará su valor y por tanto se usará como acumulador.
Solución – Declaración de variables
1. Inicio
2. (suma,i[0-n])
3. (cont,i[0-n])
4. (secuencia,i[0-n])
5. (divi,i[0-n])
6. (esPrimo,b)
7. (num, i[0-n])
Solución – entrada e inicialización
7. << “Ingrese la cantidad de números requerida”
8. >> num
9. suma 0
10. cont 0
11. secuencia 0
Solución- cont.
12. Iniciar
13. secuencia secuencia + 1
14. esPrimo falso
15. divisor 2
16. mientras divisor < secuencia entonces
17. si secuencia % divisor == 0 entonces
18. esPrimo Verdad
19. fin si
20. divisor divisor + 1
21. fin mientras
Solución- cont.
22. si esPrimo = verdad entonces
23. cont cont + 1
24. suma suma + secuencia
25. fin si
26. Hasta que secuencia >= num
27. << “Se encontraron ” + cont + “primos”
28. << “La sumatoria es: ” + suma
29. Fin