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

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--:--