Codificación aprenderaprogramar.com: CU00155A
INSTRUCCIÓN MIENTRAS … HACER
La instrucción Mientras ... Hacer es una de las alternativas para la repetición de procesos a través del ordenador. Como veremos, guarda cierta similitud con la instrucción Desde ...Siguiente, hasta el punto de que en algunas ocasiones podrá optarse por el uso de una u otra de forma indistinta. Escribiremos esta instrucción de la siguiente manera:
Mientras [Condición] Hacer Instrucción 1 Instrucción 2 . . . Instrucción n Repetir |
Como es habitual, el sangrado se convierte en fundamental para una buena compresión de qué es el bloque subordinado y cuáles son sus límites. La entrada al bucle queda controlada mediante la evaluación de una condición (verdadera o falsa). En general, el bucle se repetirá varias veces hasta que se incumpla la condición de entrada, para continuar el flujo del programa por la siguiente instrucción después de Repetir. Sin embargo, podría darse el caso particular de que en la primera evaluación no se cumpla la condición, con lo cual el bloque de instrucciones del bucle no llegaría a ejecutarse siquiera una vez. Si tras la primera pasada la condición cambia y se convierte en falsa, el bloque se ejecuta una única vez. Gráficamente utilizaremos la siguiente representación:
La instrucción Mientras ... Hacer es anidable dentro de sí misma mediante la inserción de un bloque Mientras dentro de otro. Una vez más, el sangrado nos permitirá identificar las subordinaciones y habremos de verificar que toda apertura Mientras tiene su cierre Repetir.
Anidamiento simple (pseudocódigo y diagrama de flujo) |
[Pseudocódigo aprenderaprogramar.com] Mientras [Condición 1] Hacer Instrucción 1 Instrucción 2 Mientras [Condición2] Hacer Instrucción 3 Instrucción 4 Repetir Instrucción 5 Instrucción 6 Repetir |
Anidamiento simple (pseudocódigo y diagrama de flujo) |
[Pseudocódigo aprenderaprogramar.com] Mientras [Condición 1] Hacer Instrucción 1 Instrucción 2 Mientras [Condición 2] Hacer Instrucción 3 Instrucción 4 Mientras [Condición 3] Hacer Instrucción 5 Instrucción 6 Repetir Instrucción 7 Instrucción 8 Repetir Instrucción 9 Instrucción 10 Repetir |
A diferencia de la instrucción Desde, el número de repeticiones de cada bucle no está prefijado. Depende del cumplimiento de la condición, que se puede ver afectada por los procesos internos del blucle. Conociendo ya lo que es un bucle infinito, se comprenderá que es tarea esencial para el programador diseñar un algoritmo tal que la condición de salida llegue a verificarse, ya que si esto no sucede el ordenador repetirá continuamente el mismo proceso y se quedará bloqueado. En general, el control del bucle se realizará a través de variables existiendo distintas alternativas como:
a) Contadores.
b) Acumuladores.
c) Interruptores.
d) Señaleros.
e) Entradas controladas por el usuario.
f) Final de archivo.
g) Salida directa.
Proseguimos con el desarrollo teórico, posponiendo los ejercicios para cuando queden explicados estos conceptos.
Para acceder a la información general sobre este curso y al listado completo de entregas pulsa en este link: Ver curso completo.
Para hacer un comentario o consulta utiliza los foros aprenderaprogramar.com, abiertos a cualquier persona independientemente de su nivel de conocimiento.