Fundamentos de programación
Aprendes por intención, no por sintaxis. ¿Qué le quiero decir al programa? → luego cómo se escribe.
Por intención, no por sintaxis
- Aparece una palabra nueva → pregunta: ¿Qué le quiero decir al programa?
- Escribe las frases en español (↓).
- Solo después: cómo se escribe en JavaScript.
- Si hay fórmula: léela en español → hazla con calculadora → tradúcela a JS.
- Recibí un número de mes.↓
- Voy a mirar ese número.↓
- Según qué número sea, daré una respuesta distinta.
switch (numeroMes) {
case 1:
return "Enero";
case 2:
return "Febrero";
default:
return "Mes inválido";
}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.
Ejemplo: peso = 70 kg, altura = 1.75 m
- En la calculadora: 1.75 × 1.75 = 3.0625
- Luego: 70 ÷ 3.0625 ≈ 22.86
Ya entendiste la operación. Ahora solo la escribes en JS.
let imc = peso / (altura * altura);
// misma cuenta: peso ÷ (altura × altura)- / — dividido entre
- * — multiplicado por
- ( ) — primero multiplica altura × altura; después divide
📦 Las cajas donde guardas datos
- Crear una caja llamada edad.↓
- Guardar el número 10 adentro.↓
- Más tarde, cuando diga edad, traer ese 10.
let edad = 10; // número (puede cambiar)
const nombre = "Ana"; // texto (candado: no reasignar)
let tieneMascota = true; // verdadero/falso
let frutas = ["🍎","🍐"]; // listaLas herramientas para calcular y comparar
- Aritméticos: suman, restan, multiplican, dividen, o sacan el resto (%).
- Comparación: responden verdadero o falso (¿iguales? ¿mayor?).
- Lógicos: unen o invierten verdaderos/falsos (AND, OR, NOT).
- + suma
- − resta
- * multiplicación
- / división
- % módulo (resto)
- == ¿iguales?
- != ¿distintos?
- > < mayor/menor
- >= <= o iguales
- && ambos
- || al menos uno
- ! invierte
🤔 Tomar decisiones con if / else
- Miro la edad.↓
- Si es mayor o igual a 18 → mayor de edad.↓
- Si no, pero es mayor o igual a 13 → adolescente.↓
- Si no → niño.
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 👶");
}- Guardar la edad (por ejemplo 10).
- Si la edad es mayor o igual a 18, decir «Eres mayor de edad».
- Si no, pero es mayor o igual a 13, decir «Eres adolescente».
- En cualquier otro caso, decir «Eres niño».
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"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 👶"🔄 Repetir acciones sin escribirlas 100 veces
- Empiezo un contador en 1.↓
- Mientras sea menor o igual a 5, muestro el número.↓
- Le sumo 1 al contador (subo un piso).↓
- Cuando pase de 5, paro.
for (let i = 1; i <= 5; i++) {
console.log(i);
}
// i = contador · i++ = súbele 1- Empezar un contador en 1.
- Mientras el contador sea menor o igual a 5, mostrar el contador.
- Después de mostrarlo, sumarle 1 al contador.
- Cuando el contador pase de 5, parar.
crear contador i = 1
mientras i <= 5
mostrar i
i = i + 1 (o: i++)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++;
}📝 Recetas que puedes reutilizar
- Crear una receta llamada saludar.↓
- Recibe un nombre.↓
- Muestra ¡Hola + ese nombre!↓
- Usarla con Ana y con Carlos.
function saludar(nombre) {
console.log("¡Hola " + nombre + "! 🎉");
}
saludar("Ana");
saludar("Carlos");- Crear una función llamada saludar.
- Va a recibir un nombre.
- Mostrar «¡Hola» + ese nombre + «!».
- Usarla con «Ana» y luego con «Carlos».
función saludar
recibe: nombre
mostrar "¡Hola " + nombre + "!"
saludar("Ana")
saludar("Carlos")function saludar(nombre) {
console.log("¡Hola " + nombre + "! 🎉");
}
saludar("Ana"); // ¡Hola Ana! 🎉
saludar("Carlos"); // ¡Hola Carlos! 🎉🎢 Ejemplo: subir a la montaña rusa
- Variables guardan edad, altura y boleta.
- La función puedeSubir recibe esos tres datos.
- El if combina tres condiciones con AND (&&): las tres deben cumplirse.
- Si alguna falla → «No puede subir».
- Guardar edad, altura y si tiene boleta.
- Crear una función que reciba esos tres datos.
- Si edad ≥ 12 Y altura ≥ 120 Y tiene boleta → devolver «Puede subir».
- Si no → devolver «No puede subir».
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"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 ❌"¿Qué quiero decirle al programa?
Intención primero. Fórmula: español → calculadora → JS. Luego las frases ↓ y traducir cada una.
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.»
¿Qué quiero decirle al programa?
- Crear una función.↓
- Recibir un peso.↓
- Recibir una altura.↓
- Calcular el IMC.↓
- Si el IMC es menor que 18.5↓
- Devolver "Bajo peso".↓
- Si no…↓
- Si el IMC es menor que 25…↓
- Devolver "Peso normal".↓
- Si no…↓
- Si el IMC es menor que 30…↓
- Devolver "Sobrepeso".↓
- Si no…↓
- Devolver "Obesidad".
Traducir cada frase a JavaScript
function clasificarIMC(peso, altura) { let imc = peso / (altura * altura); if (imc < 18.5) {
return "Bajo peso"; } else if (imc < 25) {
return "Peso normal"; } else if (imc < 30) {
return "Sobrepeso"; } else {
return "Obesidad";
}
}¿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.
if (imc < 18.5); {
return "Bajo peso";
}El ; dice: «el if terminó aquí».
if (imc < 18.5) {
return "Bajo peso";
}Sin ; entre el ) y el {.