Determinate Iteration

For Loop Step by Step

Counters, ranges, and iterators in C, Java, JavaScript, and Python.

SLIDE 1 / 6

1. Anatomy of the For Loop

The `for` loop combines initialization, stop condition, and step increment in one line.

FOR PHASES
1. Inicializacióni = 0 (1 sola vez)
2. Condicióni < N (Antes de cada paso)
3. Pasos / Incrementoi++ (Tras cada paso)

2. C: for(int i=0; i<n; i++)

En C99+ se declara la variable directamente en la inicialización del `for`.

for.c
for (int i = 0; i < 5; i++) {
    printf("Contador: %d\n", i);
}

3. Java: For Tradicional y Enhanced For (For-Each)

Java incluye `for(Type x : collection)` para iterar colecciones y arrays limpiamente.

ForEach.java
String[] frutas = {"Manzana", "Banana"};
for (String f : frutas) {
    System.out.println(f);
}

4. JavaScript: for...of y for...in

`for...of` itera valores de iterables; `for...in` itera claves/propiedades de objetos.

for_of.js
const nums = [10, 20, 30];
for (const num of nums) {
    console.log(num);
}

5. Python: for in range()

En Python `for` es intrínsecamente un iterador de colecciones o secuencias producidas por `range(start, stop, step)`.

for_range.py
for i in range(0, 5, 1):
    print(f"i = {i}")

6. Counter Simulator

Step through counter increments:

For Trace: i = 0 a 4
Fase 1: Inicialización i = 0. Condición (0 < 5) es TRUE ➔ Ejecuta cuerpo
i = 0