20 jul 2009

Definición de Estructuras "Hacer Para (For)"

La estructura for sirve para repetir un código dependiendo de un contador. Veamos un ejemplo:

int contador;

for (contador = 1; contador<=10; contador++)
{
printf(“Repetición numero %d\n”, contador);
};

Primero se crea la variable contador de tipo entero (será la variable de control en el for). Luego se ejecuta la estructura for iniciando la variablecontador en 1. Luego se verifica que se cumple la condición contador<=10 y se ejecuta el bloque dentro de la estructura, o sea, imprime en pantallaRepetición número 1.

Luego la variable contador es incrementada en uno con la expresióncontador++ y el ciclo se inicia otra vez. La variable contador ahora vale 2, por lo tanto se verifica la condición y se vuelve a ejecutar el código. Este proceso se ejecuta hasta que contador toma el número 11 y la condición se hace falsa y no ejecuta el bloque.

Este código imprimirá en pantalla lo siguiente:

Repetición numero 1
Repetición numero 2
Repetición numero 3
Repetición numero 4
Repetición numero 5
Repetición numero 6
Repetición numero 7
Repetición numero 8
Repetición numero 9
Repetición numero 10


Las tres expresiones que componen la estructura for en C son opcionales, por lo tanto se pueden omitir en ciertos casos. Si se omite la primera (la inicialización de la variable de control), significa que la variable se inicializa en otra parte del programa. Si se omite la segunda expresión, la estructura for entraría en un ciclo infinito, lo cual es considerado un error. Si se omite la tercera expresión significa que la variable de control es calculada dentro del bloque de for.

La tercera expresión puede ser tanto un incremento como un decremento en uno o más. También puede ser más compleja agregando más instrucciones con el uso de la coma. Por ejemplo:


for (contador = 1; contador<=10;
suma += contador, contador += 2)

Como vemos, la tercera expresión no sólo suma contador de dos en dos sino que además en cada repetición ejecuta la operación suma += contador.

1 comentario: