bucles 121005113556-phpapp01

18
Bucles

Upload: karin-rojas-gutierrez

Post on 08-Jul-2015

163 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Bucles 121005113556-phpapp01

Bucles

Page 2: Bucles 121005113556-phpapp01

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.

Page 3: Bucles 121005113556-phpapp01

Bloque de instrucciones

<Expresión Booleana>

Estructura de un bucle

Mientras <Exp_Bool> Entonces

Fin mientras

Page 4: Bucles 121005113556-phpapp01

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.

Page 5: Bucles 121005113556-phpapp01

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>

Page 6: Bucles 121005113556-phpapp01

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

Page 7: Bucles 121005113556-phpapp01

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.

Page 8: Bucles 121005113556-phpapp01

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.

Page 9: Bucles 121005113556-phpapp01

Contadores

i 0

i i + 1

i = 1

i i + 1 i i + 1 i i + 1

i = 2 i = 3 i = 4

Page 10: Bucles 121005113556-phpapp01

Acumuladores0S 0

1,60S S + 1,60

3,30S S + 1,70

5,05S S + 1,75

6,72S S + 1,67

Page 11: Bucles 121005113556-phpapp01

Banderas

4

6

9

11

PRIMOPRIMO

BanderaDatos

Page 12: Bucles 121005113556-phpapp01

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.

Page 13: Bucles 121005113556-phpapp01

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.

Page 14: Bucles 121005113556-phpapp01

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])

Page 15: Bucles 121005113556-phpapp01

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

Page 16: Bucles 121005113556-phpapp01

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

Page 17: Bucles 121005113556-phpapp01

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

Page 18: Bucles 121005113556-phpapp01