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.

Fundamentos de Programación
16

Algoritmos, pensar paso a paso

Hasta ahora has descrito páginas: HTML dice qué es cada cosa y CSS cómo se ve.

Código del tema: si … entonces

📘 Teoría

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:

  1. Secuencia: los pasos se ejecutan uno detrás de otro, en orden.
  2. 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.
  3. 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.

INICIO
  LEER luminosidadFondo        // de 0 (negro) a 100 (blanco)
  SI luminosidadFondo < 50 ENTONCES
    colorTexto ← "blanco"
  SI NO
    colorTexto ← "negro"
  FIN SI
  ESCRIBIR colorTexto
FIN

💡 Consejo. Antes de programar, ejecuta tu pseudocódigo a mano con un par de datos de ejemplo y anota en una tabla cómo cambian las variables en cada paso. Se llama prueba de escritorio (o traza) y detecta la mayoría de errores de lógica.

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:

  1. Elegir un color de fondo al azar de una paleta.
  2. Calcular un color de texto que contraste con el fondo.
  3. Dibujar 30 formas en posiciones aleatorias.
  4. 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.

¿Qué es esto?

Soy Cristian Eslava y a veces hago webs para procrastinar yo y vosotros. culTest

La hice en febrero de 2026 para facilitar el aprendizaje de mis alumnos. La idea es aprender desarrollo web practicando y que el proyecto siga creciendo con nuevos temas, tests y retos.

Está inspirada en MDN, W3Schools, CodePen, Manz y muchos otros sitios de documentación sobre desarrollo web. Quería combinar teoría útil, ejemplos ejecutables, retos y el sistema de tests que ya tenía en culTest. culTest

Si te gustó, si no te gustó o si quieres escribirme, puedes hacerlo en cristianeslava@gmail.com