Algoritmos, pensar paso a paso
Hasta ahora has descrito páginas: HTML dice qué es cada cosa y CSS cómo se ve.
Un algoritmo es una secuencia finita, ordenada y precisa de pasos.
Todo programa combina secuencia, selección y repetición.
El pseudocódigo y los diagramas de flujo sirven para pensar antes de programar.
La prueba de escritorio (ejecutar a mano) detecta errores antes de escribir código.
- Hasta ahora has descrito páginas: HTML dice qué es cada cosa y CSS cómo se ve. A partir de aquí vas a dar órdenes: programar es explicarle a una máquina, paso a paso y sin ambigüedades, cómo resolver un problema. Antes de escribir una sola línea de JavaScript conviene aprender a pensar así, con papel y lápiz. Hazlo sin IA: la base se construye con tu cabeza.
- Un algoritmo es una secuencia finita y ordenada de pasos que resuelve un problema. Una receta, las instrucciones de montaje de una estantería o el proceso para exportar un cartel a PDF son algoritmos. Para que un ordenador pueda seguirlo, cada paso tiene que ser:
- Preciso: "pon el título grande" no vale; "tamaño del título = 64 px" sí. Finito: termina en algún momento (no se queda repitiendo para siempre). Definido: con los mismos datos de entrada, siempre da el mismo resultado.
- Casi todo algoritmo sigue el esquema entrada → proceso → salida:
- EntradaProcesoSalida Tamaño base del texto (16 px) y proporción (1,25)Multiplicar el tamaño por la proporción varias vecesEscala tipográfica: 16, 20, 25, 31,25… Color principal en HSLGirar el tono 30°, 180° y 210°Paleta de cuatro colores
Introducción
Hasta ahora has descrito páginas: HTML dice qué es cada cosa y CSS cómo se ve. A partir de aquí vas a dar órdenes: programar es explicarle a una máquina, paso a paso y sin ambigüedades, cómo resolver un problema. Antes de escribir una sola línea de JavaScript conviene aprender a pensar así, con papel y lápiz. Hazlo sin IA: la base se construye con tu cabeza.
Qué es un algoritmo
Un algoritmo es una secuencia finita y ordenada de pasos que resuelve un problema. Una receta, las instrucciones de montaje de una estantería o el proceso para exportar un cartel a PDF son algoritmos. Para que un ordenador pueda seguirlo, cada paso tiene que ser:
Preciso: "pon el título grande" no vale; "tamaño del título = 64 px" sí. Finito: termina en algún momento (no se queda repitiendo para siempre). Definido: con los mismos datos de entrada, siempre da el mismo resultado.
Casi todo algoritmo sigue el esquema entrada → proceso → salida:
EntradaProcesoSalida Tamaño base del texto (16 px) y proporción (1,25)Multiplicar el tamaño por la proporción varias vecesEscala tipográfica: 16, 20, 25, 31,25… Color principal en HSLGirar el tono 30°, 180° y 210°Paleta de cuatro colores
Las tres estructuras de todo programa
Cualquier programa, por complejo que sea, se construye combinando solo tres estructuras:
Secuencia: los pasos se ejecutan uno detrás de otro, en orden. Selección (decisión): según una condición se hace una cosa u otra. Si el fondo es oscuro, el texto será blanco; si no, negro. Repetición (bucle): un grupo de pasos se repite mientras se cumpla una condición o un número de veces. Dibuja un círculo, 20 veces.
Pseudocódigo
El pseudocódigo es un algoritmo escrito en lenguaje natural, pero con estructura de programa. No lo entiende el ordenador: sirve para pensar y para comunicar la idea antes de programarla. Usaremos estas palabras clave:
INICIO LEER tamañoBase proporcion ← 1.25 tamaño ← tamañoBase REPETIR 5 VECES ESCRIBIR tamaño tamaño ← tamaño × proporcion FIN REPETIR FIN
← significa asignar: guardar un valor en una variable (una caja con nombre). LEER es pedir un dato; ESCRIBIR, mostrarlo. Las decisiones se escriben SI condición ENTONCES … SI NO … FIN SI. Las repeticiones, REPETIR n VECES … FIN REPETIR o MIENTRAS condición … FIN MIENTRAS. La sangría muestra qué pasos están dentro de qué bloque.
Un ejemplo con decisión: elegir el color del texto para que se lea bien sobre un fondo.
Diagramas de flujo
Un diagrama de flujo dibuja el mismo algoritmo con símbolos normalizados. Es muy útil para ver de un vistazo las decisiones y los bucles:
SímboloSignificado ÓvaloInicio o fin RectánguloUna acción o un cálculo (tamaño ← tamaño × 1.25) ParalelogramoEntrada o salida de datos (LEER, ESCRIBIR) RomboUna decisión con dos salidas: sí / no FlechasEl orden en que se recorre el diagrama
Un bucle en un diagrama es simplemente una flecha que vuelve atrás hasta un rombo que decide si se repite o se sale. Puedes dibujarlos a mano o con herramientas como diagrams.net o PSeInt, que además ejecuta pseudocódigo en español.
Descomponer un problema
Los problemas grandes asustan; divididos en partes pequeñas, no. Imagina que te piden "un generador de carteles para un festival". Descompón:
Elegir un color de fondo al azar de una paleta. Calcular un color de texto que contraste con el fondo. Dibujar 30 formas en posiciones aleatorias. Escribir el título del festival encima.
Cada parte es un algoritmo pequeño que puedes resolver y probar por separado. Más adelante cada una será una función.
Errores frecuentes
Pasos ambiguos: "ajusta el tamaño" no es un paso; "tamaño ← tamaño × 2" sí. Bucles sin salida: una condición que nunca deja de cumplirse. Comprueba que algo cambia en cada vuelta. Olvidar un caso: si el fondo tiene exactamente luminosidad 50, ¿qué pasa? Decide siempre qué ocurre en los límites. Empezar por el código: con un algoritmo claro, escribir el código es traducir.