Contenido del Curso
Fundamentos de C
Fundamentos de C
While, Do-While
Imagina un escenario donde necesitas ejecutar repetidamente ciertas tareas, como leer datos de un sensor, intentar entradas de contraseña o contar palabras en una oración. En estas situaciones, entran en juego los bucles.
Los bucles te permiten ejecutar bloques específicos de código múltiples veces, ya sea decenas, cientos o incluso miles de veces. Comprender el concepto de bucles es vital en programación. Este curso profundiza en los bucles fundamentales: el bucle while
, el bucle do-while
y el bucle for
.
Bucle While
Este bucle continúa ejecutándose mientras se cumpla una condición específica. Una vez que la condición no se satisface, el bucle se detiene.
Un uso básico de un bucle es mostrar el conteo de sus repeticiones:
Main
#include <stdio.h> int main() { int iterations = 1; // interesting string while (iterations <= 10 ) { printf("%d\n", iterations); iterations++; // iterations = iterations + 1; } return 0; }
Para detener este bucle, es esencial una condición de terminación. Un enfoque sencillo es usar un contador para rastrear el número de veces que se ejecuta el bucle.
Nota
Una iteración se refiere a un ciclo único dentro de un bucle. Entonces, si el bucle ejecuta el bloque de código 10 veces, ha completado 10 iteraciones.
La línea iterations++;
es crucial ya que incrementa el contador (int iterations
) con cada pasada. El contador luego establece las condiciones para terminar el bucle.
Nota
Es imperativo establecer condiciones para salir del bucle. No hacerlo resultará en un bucle infinito.
Vamos a crear un programa para mostrar los elementos de un array de enteros:
Main
#include <stdio.h> int main() { int array[] = {3, 6, 2, 134, 45, 2, 564, 8, 3, 531}; int i = 0; // index of array while (i < 10 ) { printf("Index of element: %d\tValue of element: %d\n", i, array[i]); i++; // i = i + 1 } return 0; }
Concéntrate en la expresión array[i]
.
Aquí, la variable i
denota el índice de los elementos del array[]
.
Nota
Una iteración se refiere al conteo de ciclos de bucle.
Con cada ciclo, la variable i
aumenta en 1. Esto significa que durante cada ciclo, la expresión array[i]
accede al siguiente elemento del array:
do-while
La diferencia clave entre los bucles do-while
y while
es que el primero garantiza al menos una ejecución, incluso si su condición es inicialmente falsa.
Ejemplo:
Main
#include <stdio.h> int main() { int i = 0; do { printf("Condition `i == 1` is false, because i = 0, but loop is working...\n"); } while (i == 1); printf("Loop is over\n"); return 0; }
Este tipo de bucle es útil para crear interfaces de usuario básicas. Por ejemplo, al solicitar una contraseña, el programa preguntará repetidamente hasta que el usuario ingrese la correcta:
Main
#include <stdio.h> int main() { int userInput[] = { 111, 222, 333, 444 }; // arrays of passwords int i = 0; // index of element do { printf("You entered password: %d | incorrect\n", userInput[i]); i++; } while (userInput[i] != 444); printf("You entered password: %d | correct\n", userInput[i]); return 0; }
¡Gracias por tus comentarios!