Saltar la navegación

2. 📖 Estructuras de control: decidir y repetir

Definición

Hasta ahora has escrito programas que se ejecutan de arriba abajo, línea a línea. Pero los programas interesantes hacen dos cosas clave:
👉 toman decisiones y

👉 repiten acciones.

Eso se consigue con las estructuras de control. Este es el punto en el que la programación empieza a parecerse de verdad a “pensar”.

Estructuras de control selectivas

Las estructuras selectivas permiten que el programa elija qué hacer según una condición.
La pregunta básica es siempre la misma:

¿Se cumple esto… sí o no?

En JavaScript la estructura más básica es if.

🔹 if

Ejemplo sencillo:

let edad = 17;

if (edad >= 18) {
  console.log("Eres mayor de edad");
}

Si la condición se cumple, el código se ejecuta. Si no, se salta.


🔹 if / else

Permite elegir entre dos caminos:

let nota = 6;

if (nota >= 5) {
  console.log("Has aprobado");
} else {
  console.log("Has suspendido");
}

👉 Idea clave: el programa no ejecuta todo, solo el bloque que cumple la condición.


🔹 if / else if / else

Cuando hay más de dos opciones:

let nota = 8;

if (nota >= 9) {
  console.log("Sobresaliente");
} else if (nota >= 7) {
  console.log("Notable");
} else if (nota >= 5) {
  console.log("Aprobado");
} else {
  console.log("Suspenso");
}

💡 Consejo: si empiezas a perderte con muchos if, probablemente el problema no está bien pensado.

Estructuras de control iterativas (bucles)

Las estructuras iterativas permiten repetir instrucciones varias veces sin escribirlas una y otra vez.
Aquí es donde los programas se vuelven potentes.


🔢 Bucle for (iteración finita)

El bucle for se usa cuando sabes cuántas veces quieres repetir algo.

Ejemplo:

for (let i = 1; i <= 5; i++) {
  console.log("Número: " + i);
}

Este bucle:

  • Empieza en 1
  • Termina en 5
  • Se repite un número finito de veces

👉 Ideal para listas, contadores, repeticiones controladas.


⏳ Bucle while (iteración condicional)

El bucle while se ejecuta mientras se cumpla una condición.

let contador = 1;

while (contador <= 5) {
  console.log(contador);
  contador++;
}

Aquí no importa cuántas veces se repite, sino cuándo debe parar.


♾️ Bucles infinitos (ojo con ellos)

Un bucle infinito ocurre cuando la condición nunca deja de cumplirse.

Ejemplo peligroso:

let x = 1;

while (x > 0) {
  console.log("Nunca acaba");
}

Esto no termina nunca porque x no cambia.

💡 Opinión sincera: los bucles infinitos no suelen ser intencionados al empezar a programar. Son un error muy común y una señal clara de que falta lógica en el algoritmo.


🧠 Finito vs infinito

  • 🔹 Iteración finita: sabes cuándo empieza y cuándo acaba.
  • 🔹 Iteración infinita: no tiene final (o no debería tenerlo).

Saber distinguirlos es fundamental para no colgar programas… ni ordenadores 😅

Combinando estructuras

Lo más potente es combinar decisiones y bucles:

for (let i = 1; i <= 10; i++) {
  if (i % 2 === 0) {
    console.log(i + " es par");
  }
}

Aquí el programa:

  • Repite 10 veces.
  • Decide si un número es par.
  • Muestra solo los que cumplen la condición.

Esto ya es pensamiento computacional real.

🚀 Para quedarte con lo esencial

  • Las estructuras selectivas permiten decidir.
  • Las iterativas permiten repetir.
  • Un buen programa controla cuándo entra y cuándo sale.
  • Pensar el algoritmo evita bucles infinitos.

A partir de aquí, tus programas ya no solo se ejecutan: razonan. 💻🧠

Creado con eXeLearning (Ventana nueva)