La estructura de repetición simplemente significa que un conjunto de instrucciones se repite un número determinado de veces. Para ello, en jC una de las posibles instrucciones a utilizar es while.
while( <condición> ) { instruccion1 instruccion2 instruccion3 ... instruccionn }
La estructura más arriba se denomina bucle, porque "da vueltas" (es decir, itera o repite), mientras se cumpla una condición (la que se especifica en el paréntesis del while). Cuando deja de cumplirse esa condición, termina.
La secuencia de ejecución de las partes que aparecen en el código más arriba son las siguientes:
repetir: if( <condición> ) { instruccion1 instruccion2 instruccion3 ... instruccionn }
Es decir, primero (1) se comprueba la condición, y si es falsa, se continúa con la primera instrucción después del while; en cambio, si es cierta, (2) se ejecutan las instrucciones que aparecen dentro del cuerpo del while. Entonces se vuelve al paso 1.
Por ejemplo, el siguiente programa cuenta del 1 al 5.
import std.io; def i = 0; while ( i < 5 ) { println( i + 1 ); i = i + 1; }Este código se puede pensar también así:
def i = 0; repetir: if( i < 5 ) { println( i + 1 ); i = i + 1; }
La instrucción i = i + 1; se lee como "asignarle a i el resultado de sumarle uno a i". Por ejemplo, si el valor de i es uno, entonces primero se ejecuta lo que está a la derecha del =, i + 1, y esa expresión devuelve 2. Finalmente, se le asigna 2 a i, pues la variable i es el destino de la asignación, lo que está a la izquierda del operador de asignación ('='). Como resultado, el valor de i es ahora 2, y se dice que se ha incrementado. Esta instrucción de incremento se puede abreviar como ++i, o como i++, no habiendo diferencia entre ellas.
import std.io; def i = 0; while ( i < 5 ) { println( i + 1 ); ++i; }
Para terminar, como ejemplo, podemos crear un programa que visualice una tabla de multiplicar. Para ello, es necesario ir multiplicando un número dado por los números del 1 al 10. Dada la descripción del problema, podemos pensar fácilmente en la necesidad de un bucle, que cuente desde el 1 hasta el 10.
import std.io; def i = 0; final def x = 5; while ( i < 10 ) { print( i + 1 ); print( " x " ); print( x ); print( " = " ); println( x * ( i + 1 ) ); ++i; }
No hay comentarios:
Publicar un comentario