10.12.2012

SENTENCIA FOR (ESTRUCTURAS REPETITIVAS)

La estructura for, es una estructura de ciclo en donde el control de la repetición está definido precisamente sobre una variable contador. El ciclo for nos permite encapsular en una sola instrucción todo el código de la variable contador.

El código de la estructura for tiene la siguiente forma...

for (inicializar; condición; actualizar)
{
    código del for;
}


En donde...

Inicializar: consiste en la definición de la variable y la asignación de su valor inicial.

Condiciónes: la expresión de comparación que determina el último valor que la variable contador debe tomar.

Actualizar: es una expresión en donde se indica la manera de cómo la variable contador debe actualizarse al terminar de ejecutarse el código del ciclo.

Por ejemplo, la estructura for definida para que la variable i tome los valores 1,2,3, ...,n es la siguiente:

for (int i = 1; i<=n; i++)
{
   código;
}

en donde ...

a) int i=1 es la declaración y asignación del valor inicial.

b) i<=n es la expresión de la condición.

c) i++ es la expresión que actualiza a la variable i.


Cuando se ejecuta la estructura for, primero se evalúa la expresión correspondiente a la declaración y asignación del valor inicial de la variable, posteriormente se ejecuta la expresión de la condición, si el resultado es verdadero (true) entonces se ejecutan las instrucciones del código del for. Al terminar de evaluar el código, ejecuta la instrucción de actualización de la variable del ciclo y regresa a evaluar la expresión de la condición, si es verdadera evalúa el código y así sucesivamente..

¿Hasta cuándo? Hasta que la condición resulte falsa.


Ejemplo:

for(int i=1; i<=5; i=i+1)
{
    x = x * 10;
}

En este ejemplo se declara la variable i con un valor inicial de 1. El ciclo se repetirá mientras el valor de i sea menor o igual a 5, ejecutando el código x=x*10 en cada ocasión. Al final de cada pasada del ciclo, la variable i se incrementa en 1. 

NOTA IMPORTANTE: Cuando el código de una estructura for es sólo una instrucción, el código puede o no llevar llaves, por ejemplo...

for (int i=1; i<=5; i=i+1)
{
   x = x * 10;
}

es exactamente lo mismo que..

for (int i=1; i<=5; i=i+1)
     x = x * 10;

NOTA IMPORTANTE: Se dice que la variable definida en el for es local en el ciclo, esto quiere decir que SÓLO puede utilizarse dentro del código del ciclo. Por lo que el siguiente fragmento de código sería un error, ya que se hace referencia a la variable i fuera de la estructura del ciclo:

for (int i=1; i<=5; i=i+1)
{
    x = x * 10;
}
y = i * 10; // ERROR pues i no
// existe fuera del for.

Ejercicios:
A partir de las siguientes definiciones escribe el valor final de las variables...


a)

int a;
a = 0;
for (int i = 1; i<=4; i++)
a=a+i;

b)

int x;
x = 0;
for (int k=0; k<=10; k=k+2)
x = x + k;