Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Fecha: 27-11-2015
OBJETIVO
MARCO TEORICO
Antes de comenzar, quisiera aclarar que los ciclos anidados NO son en sí una estructura
de control, son de hecho un conjunto de estructuras de control anidadas, con anidadas
me refiero a que una está dentro de la otra. De este modo un ciclo anidado (de hecho
debería ser ciclos anidados, en plural) no es más que uno o más ciclos dentro de otro y
de hecho no tenemos límite alguno para la cantidad de ciclos anidados.
Un único ciclo al interior de otro, funciona como un ciclo normal pero elevado al
cuadrado, el ciclo externo comienza su ejecución con normalidad y luego va hasta el
ciclo interno, y aquí es donde cambia todo; el ciclo externo no avanza hasta que el ciclo
interno termine y una vez el ciclo externo avanza un paso vuelve a esperar al interno y
así sucesivamente hasta que el externo termina, es por esto que es tan ineficiente el
asunto.
Los ciclos anidados suelen usarse para llenar matrices (un vector de varias dimensiones)
donde un ciclo recorre cada fila y otro cada columna o viceversa (depende de lo que
necesitemos). De este modo entonces el ciclo externo empieza por la columna cero y el
interno llena cada casilla de la columna cero y luego de la uno y las dos y así...
Notemos que entonces el ciclo externo (el de las columnas) no avanza a la siguiente
hasta que el ciclo interno no llene todas las casillas de esa columna (lo cual tiene sentido,
pues debe llenarse en orden).
#include <stdio.h>
using namespace std;
int main()
{
int num,i,j,k;
printf("Ingrese un numero:");
scanf("%d",&num);
for(i=0;i<num;i++)
{
for(j=num;j>i;j--)
printf(" ");
for(k=0;k<=i;k++)
printf(" *");
printf("\n");
}
return 0;
}