← Todos los artículos
💻 Informática

Introducción a algoritmos y pseudocódigo

Aprende qué es un algoritmo, las tres estructuras de control de la programación (secuencial, condicional e iterativa) y a leer y escribir pseudocódigo con ejemplos resueltos.

Introducción

Antes de escribir una sola línea de código en Python, Java o cualquier otro lenguaje, un programador piensa la solución de un problema paso a paso, sin atarse todavía a la sintaxis concreta de ningún lenguaje. Ese "plan de pasos" es un algoritmo, y la forma más habitual de escribirlo antes de programarlo de verdad es el pseudocódigo.

En este artículo vas a aprender qué es un algoritmo, las tres estructuras de control que forman la base de cualquier programa, y a leer y escribir pseudocódigo sencillo con dos ejemplos resueltos.

1. ¿Qué es un algoritmo?

Un algoritmo es una secuencia finita, ordenada y no ambigua de pasos que resuelve un problema o realiza una tarea concreta.

Para que un algoritmo sea correcto, debe cumplir varias condiciones:

  • Finito. Tiene que terminar después de un número limitado de pasos, no puede repetirse para siempre.
  • Preciso. Cada paso debe estar definido sin ambigüedad: dos personas que lo sigan deben llegar al mismo resultado.
  • Con entradas y salidas. Puede recibir cero o más datos de entrada, pero siempre debe producir al menos un resultado de salida.
  • Factible. Cada paso debe poder realizarse de verdad, con los recursos disponibles, en un tiempo finito.

2. Formas de representar un algoritmo

FormaEn qué consiste
Lenguaje naturalDescribir los pasos con palabras, como una receta de cocina (impreciso, poco usado en la práctica)
PseudocódigoUna notación intermedia entre el lenguaje natural y un lenguaje de programación real, con palabras clave (SI, MIENTRAS, PARA...) pero sin la sintaxis exacta de ningún lenguaje concreto
Diagrama de flujoRepresentación gráfica con símbolos estandarizados: óvalo (inicio/fin), rectángulo (proceso), rombo (decisión), flechas (flujo)
El pseudocódigo no pertenece a ningún lenguaje de programación en concreto: es un paso intermedio para pensar la lógica antes de traducirla a Python, Java, C++ o cualquier otro lenguaje.

3. Las tres estructuras de control

Cualquier programa, por complejo que sea, se construye combinando solo estas tres estructuras:

  • Secuencial. Las instrucciones se ejecutan una detrás de otra, en el orden en que están escritas.
  • Condicional (SI... ENTONCES... SINO...). Permite ejecutar unas instrucciones u otras según se cumpla o no una condición.
  • Iterativa o bucle (MIENTRAS..., PARA...). Repite un bloque de instrucciones mientras se cumpla una condición, o un número determinado de veces.
MIENTRAS se usa cuando no sabes de antemano cuántas veces se va a repetir el bucle (depende de una condición). PARA se usa cuando sí conoces el número de repeticiones (por ejemplo, "del 1 al 10").

4. Ejemplo 1: par o impar (estructura condicional)

Un algoritmo que lee un número y dice si es par o impar:

INICIO
  LEER numero
  SI (numero MOD 2 == 0) ENTONCES
    ESCRIBIR "Es par"
  SINO
    ESCRIBIR "Es impar"
  FIN SI
FIN
MOD es el operador módulo: devuelve el resto de una división. Si el resto de dividir entre 2 es 0, el número es par.

5. Ejemplo 2: sumar los números del 1 al 10 (estructura iterativa)

Un algoritmo con un bucle PARA, que repite una suma un número conocido de veces:

INICIO
  suma <- 0
  PARA i <- 1 HASTA 10 HACER
    suma <- suma + i
  FIN PARA
  ESCRIBIR suma
FIN
El resultado es 55 (1+2+...+10=55). Fíjate en que "suma <- 0" antes del bucle es imprescindible: si no se inicializa la variable, la primera suma no tendría ningún valor de partida.

6. Errores frecuentes

  • ⚠️ Confundir la flecha de asignación (←) con el signo igual matemático (=). "suma <- suma + 1" no es una ecuación (nunca sería cierta en matemáticas): significa "calcula suma+1 y guarda el resultado en la variable suma".
  • ⚠️ Olvidar inicializar las variables antes de usarlas. Una variable como "suma" necesita un valor de partida (normalmente 0) antes de empezar a sumarle cosas dentro de un bucle.
  • ⚠️ Confundir cuándo usar PARA y cuándo usar MIENTRAS. PARA cuando conoces el número exacto de repeticiones; MIENTRAS cuando depende de una condición que no sabes cuántas veces se cumplirá.
  • ⚠️ No pensar en los casos límite. ¿Qué pasa si la lista de entrada está vacía? ¿Y si el número es 0 o negativo? Un buen algoritmo contempla estos casos.
  • ⚠️ Creer que el pseudocódigo tiene una sintaxis única y obligatoria. No existe un estándar universal: lo importante es que sea claro y que cualquier persona pueda seguir la lógica, no memorizar palabras clave exactas.

7. 📌 En 30 segundos

  1. Un algoritmo es una secuencia finita, precisa y ordenada de pasos, con al menos una salida.
  2. El pseudocódigo es una forma de escribir algoritmos sin atarse a la sintaxis de un lenguaje concreto.
  3. Toda la programación se construye con tres estructuras: secuencial, condicional (SI) e iterativa (MIENTRAS/PARA).
  4. Usa PARA cuando sabes cuántas veces se repite; usa MIENTRAS cuando depende de una condición.
  5. Inicializa siempre las variables antes de usarlas dentro de un bucle.

¿Cuánto has aprendido?

1. ¿Cuál de estas NO es una condición que deba cumplir un buen algoritmo?

2. ¿Qué es el pseudocódigo?

3. ¿Cuáles son las tres estructuras de control básicas de la programación?

4. ¿Cuándo conviene usar un bucle PARA en lugar de un bucle MIENTRAS?

5. ¿Qué significa la instrucción "suma <- suma + 1" en pseudocódigo?

6. En el algoritmo para sumar del 1 al 10, ¿por qué es necesario escribir "suma <- 0" antes del bucle?

7. ¿Qué le falta a este algoritmo? «INICIO / LEER numero / SI (numero MOD 2 == 0) ENTONCES ESCRIBIR "Es par" / FIN»

¿Este tema sigue sin quedarte claro?

Si necesitas una explicación personalizada, puedes contactar con María.

Contactar con María