ESTRUCTURAS REPETITIVAS Y CONDICIONALES EN C
Tipos de ciclos
Ahora que ya conoces cómo se crean las condiciones con los contadores, acumuladores, centinelas y banderas, pasamos directamente a los bucles o tipos de estructuras que tenemos.
while
La estructura while (mientras), como su propio nombre indica, es un tipo que evalúa la expresión booleana entre paréntesis al inicio del bucle. Mientras se cumpla (verdadero o 1) irá generándose una nueva iteración. Si la condición se vuelve falsa (0), entonces se dará por terminado el bucle (se rompe).
En pseudocódigo tendrías algo así:
inicio
mientras (condición)
Instrucción1
Instrucción2
...
Instrucciónn
fin
Y un ejemplo concreto de código fuente:
/*Mostrar números del 0 al 9.*/
#include <stdio.h>
main() {
int num=0;
//Mientras que digito no llegue a 9 no se rompe el bucle
while (num<=9) {
printf"%d ",num);
++num; }
}
Recuerda que si usas solo int num; en vez de int num=0;, la variable podría obtener un valor previo debido a basura almacenada previamente en la memoria y generar un error. ¿Recuerdas esto?
do while
En este caso do_while (hacer mientras), es una estructura que hace que se repita una acción mientras una condición sea verdadera. Si es falsa se rompe el bucle, revisando la condición después de cada bucle. Es decir, a diferencia de lo anterior se hace tras el bucle y no antes.
El pseudocódigo sería así:
Inicio
Hacer
instrucción1
instrucción2
...
instrucciónn
fin
mientras (condición)
El ejemplo de código fuente en C:
/*Visualizar los números del 0 al 9*/
#include <stdio.h>
main() {
int num=0;
//Se mostrará la impresión con el contador que se va incrementando con cada paso mientras num no sea igual a 9
do
printf("%d ",num++);
while (num<=9);
}
Recuerda que este bucle do-while puede finalizar, al igual que otros bucles, con instrucciones break, goto, return, etc., que van dentro del cuerpo de la instrucción.
for
Por último, la estructura for (desde) es otra forma de generar bucles que resulta muy simple y es bastante común. Repetirá una serie de instrucciones evaluando una condición que en este caso es una expresión lógica o comparación.
El pseudocódigo sería:
principal()
inicio
entero i
desde (expresión a evaluar)
instrucción
fin
Como ejemplo sencillo se código fuente en C:
/*Sumar números hasta n*/
#include <stdio.h>
main() {
int n,i;
int suma;
printf("Suma desde 0 hasta n.\n");
printf("Introduce un número n: ");
scanf("%i", &n);
for(i=suma=0; i<=n;i++)
suma=suma+i;
printf("Suma desde 0 hasta %d=%d\n", n, suma);
}
Anidación
Como ya dije en artículos previos, recuerda que estas estructuras se pueden combinar y anidar entre sí. Es decir, se puede implementar una dentro de otra y así tener varios niveles diferentes para crear una estructura mucho más avanzada y compleja.
Comentarios
Publicar un comentario