🦊Lección
Lección
🔒https://redes.os/lecciones/fundamentos
← Todas las lecciones
Lección 03 de 7

Fundamentos de programación

Aprendes por intención, no por sintaxis. ¿Qué le quiero decir al programa? → luego cómo se escribe.

1 · Tu forma de aprender

Por intención, no por sintaxis

Qué es
Tú no memorizas cómo se escribe una palabra. Primero entiendes qué le quieres decir al programa; la sintaxis solo escribe esa idea.
Por qué existe
Si empiezas por switch o while como símbolos, se siente mágico. Si empiezas por la intención («voy a revisar este número para decidir la respuesta»), el código es solo traducción.
Cómo funciona (paso a paso)
  1. Aparece una palabra nueva → pregunta: ¿Qué le quiero decir al programa?
  2. Escribe las frases en español (↓).
  3. Solo después: cómo se escribe en JavaScript.
  4. Si hay fórmula: léela en español → hazla con calculadora → tradúcela a JS.
Ejemplo sencillo
Otros ven switch (numeroMes) y memorizan. Tú piensas: «Voy a revisar el número que recibí para saber qué respuesta debo dar.»
Analogía
Como pedir un favor: primero sabes qué quieres (intención); después eliges las palabras exactas (sintaxis).
Palabra nuevaswitch
Primero · ¿Qué le quiero decir al programa?
«Voy a revisar el número que recibí para saber qué respuesta debo dar.»
  1. Recibí un número de mes.
  2. Voy a mirar ese número.
  3. Según qué número sea, daré una respuesta distinta.
Después · Cómo se escribe
switch (numeroMes) {
  case 1:
    return "Enero";
  case 2:
    return "Febrero";
  default:
    return "Mes inválido";
}
La palabra switch no se memoriza: es la forma de escribir «revisa este valor y elige la respuesta».
Aprendes por intención, no por sintaxis
Regla de oro para todo JavaScript
Cada palabra nueva (switch, while, map, filter, addEventListener…) → primero ¿Qué le quiero decir al programa? → después cómo se escribe.
2 · Fórmulas

Español → calculadora → código

Cuando aparece una fórmula, el código no es un misterio: es la misma operación que ya resolviste como persona.

IMC
1 · Leer en español
El IMC es el peso dividido entre la altura al cuadrado. Altura al cuadrado = altura × altura.
2 · Como con una calculadora

Ejemplo: peso = 70 kg, altura = 1.75 m

  1. En la calculadora: 1.75 × 1.75 = 3.0625
  2. Luego: 70 ÷ 3.0625 ≈ 22.86

Ya entendiste la operación. Ahora solo la escribes en JS.

3 · Traducir a JavaScript
let imc = peso / (altura * altura);
// misma cuenta: peso ÷ (altura × altura)
Cada símbolo
  • /dividido entre
  • *multiplicado por
  • ( )primero multiplica altura × altura; después divide
Misma operación · distinto idioma
3 · Variables

📦 Las cajas donde guardas datos

Palabra nuevalet / const
Primero · ¿Qué le quiero decir al programa?
«Quiero guardar un valor con un nombre para usarlo después.»
  1. Crear una caja llamada edad.
  2. Guardar el número 10 adentro.
  3. Más tarde, cuando diga edad, traer ese 10.
Después · Cómo se escribe
let edad = 10;              // número (puede cambiar)
const nombre = "Ana";       // texto (candado: no reasignar)
let tieneMascota = true;    // verdadero/falso
let frutas = ["🍎","🍐"];   // lista
let = vaso que puedes rellenar. const = frasco sellado.
Aprendes por intención, no por sintaxis
4 · Operadores

Las herramientas para calcular y comparar

Qué es
Los operadores son símbolos que calculan (+ − * /) o comparan (== > <) o combinan lógica (&& || !).
Por qué existe
Necesitas preguntar cosas como «¿edad es mayor o igual a 18?» o «suma el precio y el impuesto». Sin operadores, solo podrías guardar datos, no trabajar con ellos.
Cómo funciona (paso a paso)
  1. Aritméticos: suman, restan, multiplican, dividen, o sacan el resto (%).
  2. Comparación: responden verdadero o falso (¿iguales? ¿mayor?).
  3. Lógicos: unen o invierten verdaderos/falsos (AND, OR, NOT).
Ejemplo sencillo
Si edad = 10, entonces edad >= 18 es falso. 5 + 3 es 8.
Analogía
Son las herramientas de la cocina: el cuchillo corta, la báscula compara pesos. Cada símbolo hace un trabajo concreto.
Aritméticos
  • + suma
  • − resta
  • * multiplicación
  • / división
  • % módulo (resto)
Comparación
  • == ¿iguales?
  • != ¿distintos?
  • > < mayor/menor
  • >= <= o iguales
Lógicos
  • && ambos
  • || al menos uno
  • ! invierte
5 · Condicionales

🤔 Tomar decisiones con if / else

Palabra nuevaif / else
Primero · ¿Qué le quiero decir al programa?
«Si esto se cumple, haz A; si no, haz B.»
  1. Miro la edad.
  2. Si es mayor o igual a 18 → mayor de edad.
  3. Si no, pero es mayor o igual a 13 → adolescente.
  4. Si no → niño.
Después · Cómo se escribe
let edad = 10;

if (edad >= 18) {
  console.log("Eres mayor de edad 🧑");
} else if (edad >= 13) {
  console.log("Eres adolescente 🧒");
} else {
  console.log("Eres niño 👶");
}
if no se memoriza: es la forma de escribir «si… entonces…».
Aprendes por intención, no por sintaxis
Traducir: clasificar por edad
Nivel 1 · Lenguaje natural
  1. Guardar la edad (por ejemplo 10).
  2. Si la edad es mayor o igual a 18, decir «Eres mayor de edad».
  3. Si no, pero es mayor o igual a 13, decir «Eres adolescente».
  4. En cualquier otro caso, decir «Eres niño».
Nivel 2 · Pseudocódigo
crear variable edad = 10

si edad >= 18
    mostrar "Eres mayor de edad"
si no, si edad >= 13
    mostrar "Eres adolescente"
si no
    mostrar "Eres niño"
Nivel 3 · Código
let edad = 10;

if (edad >= 18) {
  console.log("Eres mayor de edad 🧑");
} else if (edad >= 13) {
  console.log("Eres adolescente 🧒");
} else {
  console.log("Eres niño 👶");
}
// → "Eres niño 👶"
Español → Lógica → Código
6 · Bucles

🔄 Repetir acciones sin escribirlas 100 veces

Palabra nuevafor / while
Primero · ¿Qué le quiero decir al programa?
«Repite esto mientras la condición se cumpla» / «Hazlo N veces con un contador.»
  1. Empiezo un contador en 1.
  2. Mientras sea menor o igual a 5, muestro el número.
  3. Le sumo 1 al contador (subo un piso).
  4. Cuando pase de 5, paro.
Después · Cómo se escribe
for (let i = 1; i <= 5; i++) {
  console.log(i);
}
// i = contador · i++ = súbele 1
while / for = «sigue haciendo…». i++ = súbele 1 al contador (no es magia).
Aprendes por intención, no por sintaxis
Traducir: contar del 1 al 5
Nivel 1 · Lenguaje natural
  1. Empezar un contador en 1.
  2. Mientras el contador sea menor o igual a 5, mostrar el contador.
  3. Después de mostrarlo, sumarle 1 al contador.
  4. Cuando el contador pase de 5, parar.
Nivel 2 · Pseudocódigo
crear contador i = 1

mientras i <= 5
    mostrar i
    i = i + 1   (o: i++)
Nivel 3 · Código
for (let i = 1; i <= 5; i++) {
  console.log(i);
}
// 1 2 3 4 5

let n = 1;
while (n <= 5) {
  console.log(n);
  n++;
}
Español → Lógica → Código
7 · Funciones

📝 Recetas que puedes reutilizar

Palabra nuevafunction
Primero · ¿Qué le quiero decir al programa?
«Guarda este proceso con un nombre para usarlo cuando yo diga ese nombre.»
  1. Crear una receta llamada saludar.
  2. Recibe un nombre.
  3. Muestra ¡Hola + ese nombre!
  4. Usarla con Ana y con Carlos.
Después · Cómo se escribe
function saludar(nombre) {
  console.log("¡Hola " + nombre + "! 🎉");
}

saludar("Ana");
saludar("Carlos");
Los ( ) al llamar significan: «ejecuta la receta ahora, con estos ingredientes».
Aprendes por intención, no por sintaxis
Traducir: saludar a alguien
Nivel 1 · Lenguaje natural
  1. Crear una función llamada saludar.
  2. Va a recibir un nombre.
  3. Mostrar «¡Hola» + ese nombre + «!».
  4. Usarla con «Ana» y luego con «Carlos».
Nivel 2 · Pseudocódigo
función saludar
    recibe: nombre
    mostrar "¡Hola " + nombre + "!"

saludar("Ana")
saludar("Carlos")
Nivel 3 · Código
function saludar(nombre) {
  console.log("¡Hola " + nombre + "! 🎉");
}

saludar("Ana");     // ¡Hola Ana! 🎉
saludar("Carlos");  // ¡Hola Carlos! 🎉
Español → Lógica → Código
8 · Todo junto

🎢 Ejemplo: subir a la montaña rusa

Qué es
Aquí ves los 5 pilares trabajando juntos en un solo proceso.
Por qué existe
En la vida real casi nunca usas una sola pieza: guardas datos, comparas, decides y reutilizas con una función.
Cómo funciona (paso a paso)
  1. Variables guardan edad, altura y boleta.
  2. La función puedeSubir recibe esos tres datos.
  3. El if combina tres condiciones con AND (&&): las tres deben cumplirse.
  4. Si alguna falla → «No puede subir».
Ejemplo sencillo
edad 10, altura 130, boleta true → falla porque edad < 12 → «No puede subir».
Analogía
La fila de la montaña rusa: debes tener edad mínima Y altura mínima Y boleta. Si te falta una, no subes (regla AND).
Traducir: ¿puede subir?
Nivel 1 · Lenguaje natural
  1. Guardar edad, altura y si tiene boleta.
  2. Crear una función que reciba esos tres datos.
  3. Si edad ≥ 12 Y altura ≥ 120 Y tiene boleta → devolver «Puede subir».
  4. Si no → devolver «No puede subir».
Nivel 2 · Pseudocódigo
crear edad, altura, tieneBoleta

función puedeSubir
    recibe: edad, altura, boleta
    si edad >= 12 Y altura >= 120 Y boleta
        devolver "¡Puede subir!"
    si no
        devolver "No puede subir"
Nivel 3 · Código
let edad = 10;
let altura = 130;
let tieneBoleta = true;

function puedeSubir(edad, altura, boleta) {
  if (edad >= 12 && altura >= 120 && boleta) {
    return "¡Puede subir! 🎢";
  }
  return "No puede subir ❌";
}

console.log(puedeSubir(edad, altura, tieneBoleta));
// → "No puede subir ❌"
Español → Lógica → Código
9 · El método completo

¿Qué quiero decirle al programa?

Intención primero. Fórmula: español → calculadora → JS. Luego las frases ↓ y traducir cada una.

Ejercicio modelo: clasificarIMC
El enunciado · ¿Qué me pide?
Una función que, con peso y altura, calcule el IMC y diga si es bajo peso, normal, sobrepeso u obesidad.
Como persona (sin código)
Primero como personas (matemática humana), no como código:
IMC = peso ÷ altura²
Si mides 1.75 m, altura² = 1.75 × 1.75. Luego divides el peso entre ese resultado y comparas con 18.5, 25 y 30.
¿Por qué estos símbolos? ¿De dónde salen?

No es peso / (peso * altura). Sí es peso / (altura * altura).

Porque esa es la fórmula matemática del IMC. Cada símbolo:

  • / = «dividido entre»
  • altura * altura = altura² (altura al cuadrado)
  • ( ) = «haz primero la multiplicación, luego divide»

En español: «El IMC es el peso dividido entre la altura multiplicada por la altura.»

Paso A · Antes de cualquier línea de código

¿Qué quiero decirle al programa?

  1. Crear una función.
  2. Recibir un peso.
  3. Recibir una altura.
  4. Calcular el IMC.
  5. Si el IMC es menor que 18.5
  6. Devolver "Bajo peso".
  7. Si no…
  8. Si el IMC es menor que 25…
  9. Devolver "Peso normal".
  10. Si no…
  11. Si el IMC es menor que 30…
  12. Devolver "Sobrepeso".
  13. Si no…
  14. Devolver "Obesidad".
Paso B · Ahora sí

Traducir cada frase a JavaScript

Frase 1Crear una función. Recibir peso y altura.
function clasificarIMC(peso, altura) {
Frase 2Calcular el IMC (peso ÷ altura × altura).
  let imc = peso / (altura * altura);
Frase 3Si el IMC es menor que 18.5 → devolver "Bajo peso".
  if (imc < 18.5) {
    return "Bajo peso";
Frase 4Si no, si es menor que 25 → "Peso normal".
  } else if (imc < 25) {
    return "Peso normal";
Frase 5Si no, si es menor que 30 → "Sobrepeso".
  } else if (imc < 30) {
    return "Sobrepeso";
Frase 6Si no → "Obesidad". Cerrar la función.
  } else {
    return "Obesidad";
  }
}
Pensamientos → frases en español → código. No memorizas: traduces.
Error típico: if (imc < 18.5); {

¿Qué le estás diciendo al programa?

Quieres: «Si el IMC es menor que 18.5 entonces devolver Bajo peso.» El bloque { } forma parte del if.

Mal — el ; corta el if
if (imc < 18.5); {
  return "Bajo peso";
}

El ; dice: «el if terminó aquí».

Bien — el bloque es del if
if (imc < 18.5) {
  return "Bajo peso";
}

Sin ; entre el ) y el {.

Tu forma de trabajar
Paso A: ¿Qué quiero decirle al programa? (frases con ↓). Paso B: Traducir cada frase a JavaScript. Con el tiempo el Paso A saldrá casi solo; el código será solo la traducción.
Listo · conexión segura
Nv 1🪙 0🔥 0--:--