CICLO MIENTRAS

 

6.1.1. CICLO MIENTRAS

El CICLO MIENTRAS ejecuta un bloque de acciones ‘mientras’ que una condición dada se cumpla, es decir, cuando la condición evalúa a verdadero. La condición es evaluada antes de ejecutar el bloque de acciones y si la condición no se cumple, el bloque no se ejecuta. De esta manera es que el número de repeticiones del bloque de acciones sea cero, pues, si la condición la primera vez evalúa a falso, el bloque no será ejecutado alguna vez. La forma general del ciclo mientras es la siguiente:

 

  mientras (condición) hacer

       <bloque de instrucciones>

  fin_mientras

Donde, (condición) es la condición que determina si el bloque de acciones<bloque>es ejecutado o no. Si la condición evalúa a verdadero el bloque es ejecutado y si evalúa a falso no es ejecutado. Después de ejecutar el bloque de acciones se vuelve a evaluar la condición.

4.1.1.1 EJEMPLOS.

Ejemplo 1. Dado un número natural n se desea calcular la suma de los números naturales desde 1 hasta n.

DIALOGO:

Objetos Conocidos
un número natural.

Objetos Desconocidos
Un número natural.

Condiciones
El número buscado es la suma de los naturales empezando en cero hasta el número dado.

ESPECIFICACIÓN:

Entradas
n Î Enteros, (n es el número dado).

Salidas
suma Î Enteros, (suma es la suma de los primeros n números naturales).

Condiciones

DISEÑO:

Primera Iteración:

1. Leer el número

2. Recorrer los números desde el cero hasta el número dado e irlos sumando.

3. escribir la suma

Iteración Final:

n: entero /* se define la variable para el número */
suma: entero /* se define la variable para la suma */
i: entero /* se define la variable para recorrer los números entre 0 y n */

escribir( Ingrese el número: )
leer(n ) /* lee el primer número */
suma :=0 /* inicia la suma en cero */

i :=0 /* empieza la variable que recorre los números en 0 */

mientras (i <=n) hacer
suma:= suma + i /* en cada iteración suma el número i */
i := i + 1 /* incrementa la variable en 1 para tomar el siguiente número en la próxima iteración */

fin_mientras

escribir( “La suma es: ”, suma )

PRUEBA DE ESCRITORIO:

LINEA

n

i

suma

ENTRADA

SALIDA

4

       

Ingrese el número:

5

5

   

5

 

6

   

0

   

7

 

0

     

8

La condición es evaluada a verdadero, por lo tanto se ejecuta el bloque de acciones del ciclo, es decir, pasa a la línea 9.

9

   

0

   

10

 

1

     

11

Se salta hasta la línea que contiene la condición del ciclo mientras en ejecución, es decir, hasta la línea 8

8

La condición es evaluada a verdadero, por lo tanto se ejecuta el bloque de acciones del ciclo, es decir, pasa a la línea 9.

9

   

1

   

10

 

2

     

11

Se salta hasta la línea que contiene la condición del ciclo mientras en ejecución, es decir, hasta la línea 8

8

La condición es evaluada a verdadero, por lo tanto se ejecuta el bloque de acciones del ciclo, es decir, pasa a la línea 9.

9

   

3

   

10

 

3

     

11

Se salta hasta la línea que contiene la condición del ciclo mientras en ejecución, es decir, hasta la línea 8

8

La condición es evaluada a verdadero, por lo tanto se ejecuta el bloque de acciones del ciclo, es decir, pasa a la línea 9.

9

   

6

   

10

 

4

     

11

Se salta hasta la línea que contiene la condición del ciclo mientras en ejecución, es decir, hasta la línea 8

8

La condición es evaluada a verdadero, por lo tanto se ejecuta el bloque de acciones del ciclo, es decir, pasa a la línea 9.

9

   

10

   

10

 

5

     

11

Se salta hasta la línea que contiene la condición del ciclo mientras en ejecución, es decir, hasta la línea 8

8

La condición es evaluada a verdadero, por lo tanto se ejecuta el bloque de acciones del ciclo, es decir, pasa a la línea 9.

9

   

15

   

10

 

6

     

11

Se salta hasta la línea que contiene la condición del ciclo mientras en ejecución, es decir, hasta la línea 8

8

La condición evalúa a falso, por lo tanto no se ejecuta el bloque de acciones del ciclo y este termina, es decir, pasa a la línea 12, la línea siguiente a la línea del fin_mientras del ciclo.

12

       

La suma es: 15


 



Universidad Nacional de Colombia
Carrera 30 No 45-03 - Edificio 477
Bogotá D.C. - Colombia
PBX: 3165000
webmaster@unal.edu.co

Aviso Legal - Copyright
Gobierno en LíneaAgencia de Noticias UN