👥 Autores


Jesús Camarena

🔸 Introducción


Las estructuras iterativas, también conocidas como bucles o loops, son fundamentales en la programación, incluido el lenguaje C, especialmente cuando se trata de programar microcontroladores. Estas estructuras permiten ejecutar un conjunto de instrucciones repetidamente mientras se cumpla una condición especificada.

Tabla de contenido

🔷 Fundamento Teórico


En C, hay tres tipos principales de estructuras iterativas:

🔹 For

La estructura for es ideal para cuando sabemos el número exacto de veces que queremos que se ejecute un bloque de código.

Se compone mediante 3 parámetros

  1. Valor de inicio,
  2. Condición de su valor final
  3. Acción del tipo de cambio del valor
for (valor de inicio; criterio o condicion; tipo de cambio) 
{
	//declaraciones
}

//ejemplo.
for (uint8_t i = 0;i < 7; i++)
{
	//code
}

Ejemplo de un parpadeo de un LED:

for (uint8_t i = 0;i < 7; i++)
{
    PORTB = PORTB | (1 << 5);  // Encender LED en el pin PB5
    _delay_ms(1000);           // Retardo de 1 segundo
    PORTB = PORTB & ~(1 << 5); // Apagar LED en el pin PB5
    _delay_ms(1000);           // Retardo de 1 segundo
}

🔹 While

Es una estructura de control **while**que evalúa una condición y permanece ejecutando de forma indefinida el código dentro de sus llaves, hasta que la condición ya no sea cumplida

👁️ Ejemplo:

Ejemplo de espera activa:

int main() 
{
    // Inicializar condiciones necesarias
    while (1) 
		{
        // Código que se ejecuta indefinidamente
    }
}
while (condicíon a evaluar) 
{
	//declaraciones
}

//ejemplo.
uint8_t i = 0;
while (i < 7)
{
	i++;
}

🔹 Do-While

La estructura do-while asegura que el bloque de código se ejecuta al menos una vez, y luego repite la ejecución mientras la condición sea verdadera.

Funciona de manera similar al WHILE solo que en esta estructura se ejecuta la acción de código una vez sin evaluar el criterio y a partir de la segunda evalúa el código

do
{
	//declaraciones
}
while (condicíon a evaluar) 

//ejemplo.
uint8_t i = 0;
do
{
	i++;
}
while (i < 7)

Ejemplo de uso de do-while para crear un retardo:

int counter = 0;
do 
{
    _delay_ms(1000); // Retardo de 1 segundo
    counter++;
} 
while (counter < 10);

🔹 Break y Continue

Además, las palabras clave break y continue se utilizan dentro de las estructuras de control iterativas para alterar el flujo normal de ejecución.

🔹 for vs while


En términos generales, la elección entre usar un ciclo for o un ciclo while depende del problema específico que se está abordando. En general, se prefiere un ciclo for cuando se sabe cuántas veces se debe repetir una acción, mientras que un ciclo while se utiliza cuando se repite una acción mientras se cumple una condición.

🧠 Ejercicios


❗Véase también


✔️ Referencias


👁️‍🗨️ Otros temas


📚 Tabla de contenido

Práctica N.º02 - Gestión Secuencial de Salidas

Asesoría en Clase N.°02 - Entradas y Salidas

Práctica N.º03 - Decodificación de Entradas Binarias

AFU04 - Arquitectura Interna

Práctica N.º04 - Control de Flujo Iterativo