Mientras Que (while- do while)
Esta estructura permite repetir un bloque de instrucciones con una condición y se repite siempre y cuando esta afirmación sea verdadera si no entra al ciclo mientras.
![]() | 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
| ||||

No hay comentarios.:
Publicar un comentario