Saltar al contenido
schedule 8 min Lógica de Programación

¿Qué es programar?

Antes de escribir ni una sola línea de código en ningún lenguaje, necesitas entender algo fundamental: programar es dar instrucciones. Nada más. Nada menos. Un programa es una lista de pasos que alguien (o algo) sigue para resolver un problema. Y a esa lista de pasos la llamamos algoritmo.

Lo interesante es que llevas toda la vida creando algoritmos sin saberlo. Cada vez que sigues una receta de cocina, montas un mueble de IKEA o decides qué ruta tomar para llegar al trabajo, estás ejecutando un algoritmo. La única diferencia es que ahora vas a aprender a escribirlos de forma que una máquina pueda seguirlos.

¿Qué es un algoritmo?

Un algoritmo es un conjunto de pasos ordenados, finitos y precisos que resuelven un problema. Tres palabras clave:

  • Ordenados: el orden importa. No puedes servir la sopa antes de calentarla.
  • Finitos: tienen un final. Un algoritmo que nunca termina no sirve de nada.
  • Precisos: cada paso debe ser claro y sin ambigüedades. "Cocinar hasta que esté listo" no es preciso. "Cocinar durante 15 minutos a 180 grados" sí lo es.

Algoritmos en la vida cotidiana

Veamos algunos ejemplos que ya conoces:

Una receta de cocina

ALGORITMO: Hacer una tortilla francesa
1. Coger 2 huevos de la nevera
2. Romper los huevos en un bol
3. Batir los huevos con un tenedor durante 30 segundos
4. Poner una sartén al fuego medio
5. Echar una cucharada de aceite en la sartén
6. ESPERAR a que el aceite esté caliente
7. Verter los huevos batidos en la sartén
8. ESPERAR 2 minutos
9. Dar la vuelta a la tortilla con una espátula
10. ESPERAR 1 minuto
11. Servir en un plato
FIN

Fíjate: pasos ordenados, un final claro, y cada instrucción es específica. No dice "cocinar un rato" sino "esperar 2 minutos".

Sacar dinero de un cajero automático

ALGORITMO: Sacar dinero del cajero
1. Insertar la tarjeta en el cajero
2. Introducir el PIN de 4 dígitos
3. SI el PIN es correcto ENTONCES
     4. Seleccionar "Retirar efectivo"
     5. Introducir la cantidad deseada
     6. SI hay saldo suficiente ENTONCES
          7. El cajero entrega el dinero
          8. Retirar la tarjeta
          9. Recoger el recibo
     SI NO
          7. Mostrar "Saldo insuficiente"
          8. Retirar la tarjeta
   SI NO
     4. Mostrar "PIN incorrecto"
     5. Devolver la tarjeta
FIN

Aquí aparece algo nuevo: decisiones. El algoritmo no siempre sigue el mismo camino. Dependiendo de si el PIN es correcto o no, hace cosas diferentes. Esto lo veremos en profundidad más adelante, pero quédate con la idea: los algoritmos pueden tomar decisiones.

El GPS calculando una ruta

Cuando le pides al GPS que te lleve a algún sitio, internamente ejecuta un algoritmo que: toma tu ubicación actual, evalúa todas las rutas posibles, calcula el tiempo estimado de cada una, descarta las que tienen atascos y te devuelve la más rápida. Son millones de pasos que ocurren en milisegundos, pero siguen el mismo principio: pasos ordenados que resuelven un problema.

La máquina es tonta (pero muy rápida)

Este es el concepto más importante de esta lección. Un ordenador no piensa. No interpreta. No adivina. No tiene sentido común. Hace exactamente lo que le dices, ni más ni menos. Si le das instrucciones ambiguas o incompletas, no va a "entender lo que querías decir". Va a hacer algo inesperado o simplemente va a fallar.

Imagina que le das instrucciones a un robot para que cruce la calle:

ALGORITMO MALO: Cruzar la calle
1. Caminar hacia delante
FIN

(El robot camina hacia delante sin mirar y lo atropellan)

El robot no sabe que tiene que mirar a ambos lados. No sabe que hay coches. No sabe qué es un semáforo. Hay que decírselo todo:

ALGORITMO BUENO: Cruzar la calle de forma segura
1. Detenerse en el borde de la acera
2. Mirar el semáforo de peatones
3. SI el semáforo está en rojo ENTONCES
     4. ESPERAR hasta que cambie a verde
5. Mirar a la izquierda
6. Mirar a la derecha
7. SI viene algún vehículo ENTONCES
     8. ESPERAR hasta que pase
     9. VOLVER al paso 5
8. Caminar hacia la otra acera
9. Detenerse al llegar a la acera opuesta
FIN

Mucho más largo, pero ahora el robot sobrevive. La lección es clara: cuando programas, tienes que pensar en todos los casos posibles, porque la máquina no va a rellenar los huecos por ti.

El algoritmo del sándwich

Este es un clásico que demuestra por qué la precisión importa. Imagina que le pides a alguien extremadamente literal (como un ordenador) que haga un sándwich. Si dices "pon el jamón en el pan", podría poner el paquete de jamón entero encima de la bolsa de pan sin abrir.

ALGORITMO: Preparar un sándwich de jamón y queso
1. Tomar el paquete de pan de molde
2. Abrir el paquete de pan
3. Sacar 2 rebanadas de pan
4. Colocar la primera rebanada sobre un plato
5. Abrir el paquete de jamón
6. Tomar 2 lonchas de jamón
7. Colocar las lonchas de jamón sobre la primera rebanada
8. Abrir el paquete de queso
9. Tomar 1 loncha de queso
10. Colocar la loncha de queso sobre el jamón
11. Colocar la segunda rebanada de pan encima
12. El sándwich está listo para comer
FIN

12 pasos para algo que haces en 30 segundos sin pensar. Eso es programar: descomponer algo que para ti es automático en pasos tan pequeños que hasta alguien sin cerebro pueda seguirlos.

Pensar paso a paso: la habilidad más importante

La habilidad de descomponer un problema complejo en pasos simples se llama pensamiento algorítmico. No se trata de saber sintaxis de un lenguaje de programación. Se trata de saber pensar de forma estructurada.

Un buen programador no es el que memoriza más funciones o más lenguajes. Es el que sabe dividir un problema grande en problemas pequeños y resolverlos uno a uno. Si dominas esto, aprender cualquier lenguaje de programación después será solo cuestión de traducir tus algoritmos a la sintaxis correcta.

Piensa en cómo le explicarías a alguien que nunca ha jugado un juego de mesa cómo funciona. No basta con decir "gana el que tenga más puntos". Tienes que explicar: cómo se empieza, qué puede hacer cada jugador en su turno, cuándo se acaba la partida, y cómo se cuentan los puntos.

Resumen

  • Un algoritmo es una secuencia ordenada, finita y precisa de pasos para resolver un problema.
  • Ya usas algoritmos todos los días: recetas, rutas GPS, instrucciones de montaje.
  • La máquina es literal: no interpreta, no adivina, no tiene sentido común.
  • Programar es descomponer problemas en pasos lo suficientemente simples para que una máquina los ejecute.
  • El pensamiento algorítmico es más valioso que cualquier lenguaje de programación.

En la siguiente lección vamos a aprender sobre variables y tipos de datos: cómo guardar información para poder usarla en nuestros algoritmos.

code

Escribe el algoritmo de tu café matutino

Básico schedule 10 min

Escribe un algoritmo detallado (con papel y bolígrafo, sin ordenador) para preparar tu café o infusión de la mañana. Debe incluir:

  • Al menos 10 pasos numerados y ordenados.
  • Al menos una decisión (SI/SI NO). Por ejemplo: "SI quieres azúcar ENTONCES añadir una cucharada".
  • Pasos lo suficientemente precisos para que alguien que nunca ha preparado café pueda seguirlos sin preguntar nada.

Cuando termines, léelo en voz alta paso a paso como si fueras un robot. ¿Te falta algún paso? ¿Hay algo ambiguo? Corrígelo hasta que sea perfecto.

lightbulb Pistas

Piensa en cosas que das por sentado: ¿de dónde sale el agua? ¿hay que encender el fuego o enchufar la cafetera? ¿dónde están las tazas? ¿cómo sabes cuándo está listo el café? Un robot no sabe nada de eso. Recuerda incluir el paso de abrir los envases antes de usarlos.

Newsletter

Recibe nuevos cursos, actualizaciones, artículos del blog y promociones en tu correo.