Programación en C: estructuras de control repetitiva e iteración condicional – Parte 2/2

Siguiente parte del artículo sobre las estructuras de control repetitivas o iteración condicional, es decir, algunas estructuras de bucles y demás. Todo con el lenguaje de programación C. Como su propio nombre indica, son estructuras que se van a ir iterando una y otra vez mientras una condición se cumpla.

En el anterior ya hice una introducción a algunas cosas que debías conocer sobre este tipo de estructuras. Ahora sigo avanzando mostrando las que debes conocer. De esta forma, podrás hacer que la unidad de procesamiento pueda repetir una serie de instrucciones tantas veces como sea necesario mientras no intervenga una condición determinada.

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.

Isaac

Apasionado de la computación y la tecnología en general. Siempre intentando desaprender para apreHender.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

A %d blogueros les gusta esto:

Si continuas utilizando este sitio aceptas el uso de cookies. más información

Los ajustes de cookies de esta web están configurados para "permitir cookies" y así ofrecerte la mejor experiencia de navegación posible. Si sigues utilizando esta web sin cambiar tus ajustes de cookies o haces clic en "Aceptar" estarás dando tu consentimiento a esto.

Cerrar