octubre 27, 2011

Ciclos o Bucles (for)

for es una estructura de control en la programación, en forma de bucle o ciclo, osea que esta instrucción sirve para ejecutar una o varias instrucciones por mas de una vez, es muy útil ya que ahorra mucho tiempo y lineas de código al presentarse algunos problemas como, por ejemplo, mostrar los números enteros del 1 al 20; Tradicionalmente lo haríamos imprimiendo 20 lineas de System.out.println("1"); y asi sucesivamente para todos los números enteros del 1 al 20; pero con el for podemos agilizar este proceso, mediante un contador de repeticiones, una condición y un incremento de nuestro contador. Para mayor comprensión, veamos el ejemplo siguiente:
//Archivo: Enteros.java

public class Enteros{

 public static void main(String args[]){
 
  int contador;
  for(contador=1 ; contador<=20 ; contador++)
   System.out.println(contador);
 }
}
En nuestro código anterior declaramos nuestra clase y nuestro main; posteriormente declaramos una variable int contador que nos servirá con un contador de ciclos, ciclos de ejecución del for.
En la linea 8 hacemos nuestro for (contador=1; contador<20; contador++), en esta linea estamos inicializando nuestra variable contador (previamente declarada) con el valor de 1, acto seguido se establece la condición de que para que nuestro for se vuelva a repetir (osea a ejecutarse una tras otra vez), nuestra variable contador debe ser menor o igual a 20. Y después de la condición sigue un incremento de 1 a nuestra variable contador (osea que a contador se le suma 1). Y después de lo interior en el for, viene una linea de ejecución dentro del bloque del for, esta linea se va a ejecutar siempre que se cumpla la condición de nuestro for.

De esta manera, nuestro programa, al momento de la ejecución leerá nuestra clase, nuestro main, declarará nuestra variable contador, y al momento de leer el for, asignara la cantidad 1 a contador, después se pasara a nuestra condición y razonará que nuestra variable contador (con valor de 1) es menor o igual a 20, así que pasara al incremento y nuestra variable contador se incrementara en 1 (por tanto, ahora contador valdrá: 2), después de realizar todo lo anterior, se pasa al cuerpo o bloque del for y ejecuta todas las sentencia ahí dentro, en este caso solo tenemos un System.out.println(contador); por lo cual se va a mostrar en pantalla el valor que le declaramos inicialmente a nuestra variable contador, en este caso imprimirá en pantalla una linea de texto que diga: "1".

Como nuestra instrucción for, es un ciclo de repeticiones, después de haber realizado todas las instrucciones anteriores, se regresará nuevamente a la linea 8 donde volverá a leer el for y a realizar sus instrucciones correspondientes.

De tal modo que al volver a leer for después de la primera vez ya no leerá la inicialización de contador=1; sino que se pasara directamente con la condición. Pero es MUY IMPORTANTE tomar en cuenta que anteriormente, en el primer ciclo, hicimos un incremento de nuestra variable contador, osea que contador para este ciclo ahora valdrá 2 en lugar de 1; por tanto la condición se evaluara asi: ¿contador (con valor de 2) es menor o igual a 20?, y la respuesta sera verdadera, así que se cumple la condición y pasa al incremento de contador, así que a contador lo incrementamos en 1, y contador ahora valdrá 3. Después de haberse ejecutado lo interior, pasa a la linea del System donde ahora imprimirá el nuevo valor inicial de contador (el valor con el que inicio en este nuevo ciclo nuestra variable contador) y va a imprimir en pantalla al texto con el numero "2".

Y así se van repitiendo los ciclos for, hasta que la condición ya no se cumpla. Por ejemplo, para el ciclo en donde contador valga 20: entrara al for, se evaluara en la condición, dando una respuesta verdadera, cumpliendo la condición porque contador (con valor de 20) si es menor o igual a 20, y después se hará el incremento de nuestro contador (entonces, contador ahora valdrá 21). Pasará a la impresión en pantalla de nuestra variable contador e imprimirá el texto con el numero "20".

Ahora programa volverá a ejecutar nuestro for, pasará a la condición y evaluara: ¿contador (con valor de 21) es menor o igual a 20? y es ahí donde ya no se cumple nuestra condición, y desde que deja de cumplirse la condición nos saca del for y todo su bloque, para seguir ejecutando las demás lineas de nuestro programa fuera del for, en el código de ejemplo anterior,  no hay mas lineas después de nuestro for, por tanto hasta ahí termina nuestro programa Enteros.java.
Loading...