Está en la página 1de 8

UNIVERSIDAD NACIONAL DE INGENIERA

FACULTAL DE INGENIERA DE PETRLEO GAS


NATURAL Y PETROQUMICA
ANTEGRADO
Curso: Algoritmos y Lenguaje de Programacin

LAZOS WHILE Y REPEAT


Integrantes: -Diana Escudero
-Luis Rosas
-Omar Medina

CICLOS WHILE
La sentencia o bucle WHILE indica a la computadora que se ejecuten
una o ms sentencias mientras que se cumplan una determinada
condicin. La condicin viene dada por una serie de variable o
expresin booleana. El formato general que adopta la estructura se
muestra seguidamente:
WHILE condicin DO
BEGIN
<sentencia 1>;

<sentencia N>
END
WHILE condicin DO
BEGIN
<sentencia>;
Dependiendo de si se ejecuta una sentencia compuesta o una
sentencia simple.

Ejemplo N1:
La serie de Fibonacci
1, 1, 2, 3, 5, 8, 13, 21,
Se define suponiendo que los dos primeros trminos tienen el valor 1 y que cada trmino
subsiguiente est dado por la suma de los dos trminos precedentes:
1 + 1 = 2, 1 + 2 = 3, 2 + 3 = 5, 3 + 5 = 8,
a) Escriba un programa que imprima la serie de Fibonacci, de manera que no
exceda de 10 000.

Pseudocdigo:
PROGRAMA Ejemplo_mientras;
VARIABLE F1, F2, F3 : entero;
INICIO
F1 <- 1;
F2 <- 1;
ESCRIBIR('Nmeros de la Serie de Fibonacci :' );
ESCRIBIR;
ESCRIBIR (F1, ' ', F2, ' ');
F3 := F1, ' ',F2, ' ');
MIENTRAS F3 <= 10000 HACER
INICIO
ESCRIBIR(F3, ' ');
F1 := F2;
F2 := F3;
F3 := F1 + F2
FIN;
FIN.

Diagrama de bloque:

CICLOS REPEAT
Es una variante de la sentencia while. La sentencia REPEAT
especifica un ciclo condicional que se repite hasta que la condicin
se hace verdadera.
REPEAT
BEGIN
Sentencia 1;
Sentencia 2;
...
...
...
Sentencia n;
END;
UNTIL expresin lgica.

El diagrama de flujo se representa


de la siguiente manera:

Ejemplo N2:
Del ejemplo anterior (ciclo while):
Escriba un programa que imprima los 50 primeros trminos de la serie de Fibonacci.
Pseudocdigo
PROGRAMA Ejemplo_2;
VARIABLE F1, F2, F3 : entero;
INICIO
F1 <- 1;
F2 <- 1;
ESCRIBIR('Nmeros de la Serie de Fibonacci :' );
ESCRIBIR;
ESCRIBIR (F1, ' ', F2, ' ');
F3 := F1, ' ',F2, ' ');
MIENTRAS F3 <= 10000 HACER
INICIO
ESCRIBIR(F3, ' ');
F1 := F2;
F2 := F3;
F3 := F1 + F2
FIN;
FIN

Diagrama de bloque: