Buscar este blog

martes, 30 de julio de 2013

Repetición 2

Una instrucción de repetición que se utiliza mucho es for. Esta instrucción es muy parecida a while, pero con una salvedad, y es que la variable que controla el bucle se puede crear, comprobar e incrementar dentro del mismo for.

for(<definición>; <condición>; <incremento>) {
    instruccion1
    instruccion2
    instruccion3
    ...
    instruccionn
}

La instruccón for repite las instrucciones en el cuerpo mientras se cumple una condición (la que se especifica en la parte intermedia del for). 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:

<definición>;

while( <condición> ) {
    instruccion1
    instruccion2
    instruccion3
    ...
    instruccionn

    <incremento>
}

Es decir, primero (1) se realiza la definición, después (2) se comprueba la condición, y si es falsa, se continúa con la primera instrucción después del for; en cambio, si es cierta, (3) se ejecutan las instrucciones que aparecen dentro del for. Justo después, (4) el incremento, y sólo entonces se vuelve al paso 2.

Por ejemplo, el siguiente programa cuenta del 1 al 5.

import std.io;

for (def i = 0; i < 5; ++i) {
    println( i + 1 );
}
Este código se puede escribir también así:

def i = 0;

while( i < 5 ) {
    println( i + 1 );

    ++i;
}

Finalmente, el ejemplo de la tabla de multiplicar quedaría así:


/** @name   tablaMultiplicar
  * @brief  Visualiza la tabla de multiplicar
  * @author jbgarcia@uvigo.es
  * @date   2013-07-30
  */

import std.io;

final def x = 5;

for(def i = 0; i < 10; ++i) {
    print( i + 1 );
    print( " x " );
    print( x );
    print( " = " );
    println( x * ( i + 1 ) );
}

Obteniendo exactamente el mismo resultado que en la anterior entrada.

No hay comentarios:

Publicar un comentario