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
<< n
N  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,60
S  S + 1,60
3,30S  S + 1,70
5,05
S  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
Bucles 121005113556-phpapp01

Bucles 121005113556-phpapp01

  • 1.
  • 2.
    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.
  • 3.
    Bloque de instrucciones <ExpresiónBooleana> Estructura de un bucle Mientras <Exp_Bool> Entonces Fin mientras
  • 4.
    Características • <Exp_Bool>: Escualquier 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.
  • 5.
    Tipos de buclesDecomparació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>
  • 6.
    Escritura de losbucles 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 << n N  1 Inicio n  n + 1 Hasta que n >= 50 << n Comparación al final
  • 7.
    Uso de buclesde 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.
  • 8.
    Uso de buclesde 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.
  • 9.
    Contadores i  0 i i + 1 i = 1 i  i + 1 i  i + 1 i  i + 1 i = 2 i = 3 i = 4
  • 10.
    Acumuladores0S  0 1,60 S S + 1,60 3,30S  S + 1,70 5,05 S  S + 1,75 6,72S  S + 1,67
  • 11.
  • 12.
    Ejercicio • Se deseadesarrollar 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.
  • 13.
    Aspectos importantes delproblema • 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.
  • 14.
    Solución – Declaraciónde 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])
  • 15.
    Solución – entradae inicialización 7. << “Ingrese la cantidad de números requerida” 8. >> num 9. suma  0 10. cont 0 11. secuencia  0
  • 16.
    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
  • 17.
    Solución- cont. 22. siesPrimo = 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