Algunas aplicaciones requieren de procesos
en los que se necesita que un contador varíe el rango por cada valor
de otro contador, como en el caso de los años, meses y dias de un
siglo (considere idealmente meses de 30 dias):
| inicio del siglo:
año1 mes1 los dias varian de 1 a 30 mes 2 los dias varian de 1 a 30 mes 3 los dias varian de 1 a 30 ... mes 12 los dias varian de 1 a 30
año2 mes1 los dias varian de 1 a 30 mes 2 los dias varian de 1 a 30 mes 3 los dias varian de 1 a 30 mes 12 los dias varian de 1 a 30 ... año99 |
Observe que que los años varian de 1 a 99, mientras que los meses varian de 1 a 12 y por cada mes los dias en promedio varian de 1 30.
Otro ejemplo de este tipo de variación de contadores es la variación de un relog (cada dia cuenta 24 horas y cada hora cuenta 60 segundos), Y un ñultimo ejemplo es la variación de los factores que se generan en las tablas de multipilicar.
Este tipo de variaciones (ciclicas) se obtienen cuando un ciclo for contiene a otro ciclo for y este a su vez a un tercero, y se dice que estan anidados.
El ciclo inerno se ejecuta todas las veces que determinan sus parámetros (los dias varian de 1 a 30, por cada valor del ciclo intermedio que los proporciona los meses que van de 1 a 12 y estos, a su vez, realizan su variación por cada valor del ciclo externo que da los años que se generan del 1 al 99). Cuando el incremento es unitario, es conveniente utilizar los operadores incremento que proporciona C.
También como aplicación
inmediata se encuentra su uso en el manejo de arreglos de 2 o más
dimensiones o los procesos que involucran varios tipos de variaciones en
algunas variables. Por ejemplo considere el procedimiento para obtener
las tablas de multilicar del 1 al 10.
| #include<stdio.h>
#include<math.h> #include<conio.h> /* Programa para obtener las tablas de multiplicar */ main() { clrscr(); float x,y; for(x=1;x<=10;x++) /* x++ es lo mismo que poner x=x+1 */ { for(y=1; y<=10; y++) { printf("%3d por %3d = %4d",x,y,x*y); } } return(0); } |
