| 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.
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 */ escribir( “Ingrese
el número: ” ) i :=0 /* empieza la variable que recorre los números en 0 */
mientras (i <=n)
hacer 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 |
||||