Saber Básico A.3: Secuencia de instrucciones. Implementación de algoritmos 3ESO
- Categorías: Clases2627, CYR3ESO2627
1. Recordatorio: de la especificación al programa
En el A.2 aprendiste a generar un programa a partir de una especificación: identificar entradas, proceso, salidas y variables, y construirlo por partes. Ese programa que construiste es la implementación de un algoritmo, aunque no lo llamáramos así entonces.
Hoy vamos a separar dos ideas que hasta ahora iban mezcladas: el algoritmo (la idea) y la implementación (la traducción de esa idea a un lenguaje concreto). Y vamos a aprender una herramienta para comprobar si una implementación es realmente fiel al algoritmo que quería representar.
2. Algoritmo vs. implementación
Un algoritmo es una secuencia finita, precisa y ordenada de instrucciones que resuelve un problema. Es una idea abstracta: no está en ningún lenguaje concreto todavía.
Una implementación es la traducción de ese algoritmo a un lenguaje que un ordenador puede ejecutar: bloques de Scratch, código en Python, en C++…
| Algoritmo | Implementación | |
|---|---|---|
| ¿Qué es? | La idea, los pasos | La traducción a un lenguaje concreto |
| ¿Depende del lenguaje? | No | Sí |
| ¿Se puede ejecutar directamente? | No | Sí |
| ¿Puede haber varias? | — | Sí, distintas implementaciones del mismo algoritmo |
Idea clave: el mismo algoritmo puede tener implementaciones distintas —en Scratch y en Python, por ejemplo— y seguir siendo el mismo algoritmo. Al revés también es cierto: dos programas que se ven muy distintos por fuera pueden estar implementando exactamente el mismo algoritmo por dentro.
3. La secuencia no depende del lenguaje
Ya sabes que una secuencia es un conjunto de instrucciones que se ejecutan una detrás de otra, en el orden en que están escritas. Esto es verdad tanto si programas con bloques como si programas con texto: el orden de ejecución de una secuencia es una propiedad del algoritmo, no del lenguaje en que lo implementes.
Por eso, cuando implementas un algoritmo, tu trabajo no es solo “poner las instrucciones que hacen falta”: es ponerlas en el mismo orden en el que las pensaste en el algoritmo. Cambiar el orden al implementar, aunque sea sin querer, produce una implementación que no corresponde al algoritmo original.
4. Verificar una implementación: la tabla de traza
¿Cómo sabes si tu implementación es realmente fiel al algoritmo? Una forma sistemática es la tabla de traza: simular a mano, paso a paso, cómo cambian las variables mientras se ejecuta el programa.
Algoritmo: calcular el precio final de un producto con un descuento del 15% y luego añadirle el 21% de IVA.
INICIO
LEER precio
descuento ← precio * 0.15
precio_con_descuento ← precio - descuento
iva ← precio_con_descuento * 0.21
precio_final ← precio_con_descuento + iva
ESCRIBIR precio_final
FIN
Traza para precio = 100:
| Instrucción ejecutada | precio | descuento | precio_con_descuento | iva | precio_final |
|---|---|---|---|---|---|
| LEER precio | 100 | — | — | — | — |
| descuento ← precio * 0.15 | 100 | 15 | — | — | — |
| precio_con_descuento ← precio – descuento | 100 | 15 | 85 | — | — |
| iva ← precio_con_descuento * 0.21 | 100 | 15 | 85 | 17.85 | — |
| precio_final ← precio_con_descuento + iva | 100 | 15 | 85 | 17.85 | 102.85 |
| ESCRIBIR precio_final | 100 | 15 | 85 | 17.85 | 102.85 |
Cada fila añade una columna nueva o actualiza el valor de una variable, exactamente en el orden en que las instrucciones se ejecutan. Si al final el valor de precio_final es el que esperabas, la implementación es correcta para ese caso. Si no coincide, la traza te dice exactamente en qué paso empezó a torcerse.
5. Dos tipos de error, y no son lo mismo
| Tipo de error | Qué significa | Ejemplo |
|---|---|---|
| Error de algoritmo | El algoritmo en sí está mal pensado. Aunque lo implementes perfecto, seguirá dando el resultado equivocado | Calcular el IVA antes de aplicar el descuento, cuando la especificación pedía el orden contrario |
| Error de implementación | El algoritmo es correcto, pero al traducirlo te equivocas: un operador cambiado, una variable mal escrita, un bloque incorrecto | Escribir precio + descuento en vez de precio - descuento |
Idea clave: si tu programa da un resultado incorrecto, lo primero es decidir si el fallo está en el algoritmo (el orden o los pasos que pensaste) o en la implementación (cómo lo tradujiste). Son problemas distintos y se arreglan de forma distinta: revisando la lógica en un caso, revisando el código en el otro.
📝 PARA TU LIBRETA (Resumen clave para copiar)
Copia en tu cuaderno este resumen de 5 puntos:
- Algoritmo es la idea (los pasos); implementación es su traducción a un lenguaje concreto que se puede ejecutar.
- Un mismo algoritmo puede tener varias implementaciones distintas, y dos programas distintos pueden implementar el mismo algoritmo.
- El orden de una secuencia no depende del lenguaje: implementar bien significa respetar ese orden al traducir.
- La tabla de traza simula a mano, paso a paso, cómo cambian las variables, para comprobar si la implementación es correcta.
- Error de algoritmo (la lógica está mal) y error de implementación (la traducción está mal) son problemas distintos, y hay que saber distinguirlos antes de intentar arreglarlos.
FICHA DE TRABAJO DESENCHUFADA: IMPLEMENTA Y VERIFICA TU ALGORITMO
Saber Básico A.3: Secuencia de instrucciones. Implementación de algoritmos
Nombre y Apellidos: ____________________________________________________
Curso y Grupo: 3.º ESO ____ | Fecha: __ /__ /2026
📖 Recuerda el proceso (consulta si tienes dudas)
Algoritmo (la idea) → Implementación (traducción a un lenguaje) → Tabla de traza (verificación paso a paso) → Error de algoritmo ≠ Error de implementación.
🔍 RETO 1: Algoritmo o implementación
Para cada afirmación, indica si describe el algoritmo o la implementación:
| Afirmación | ¿Algoritmo o implementación? |
|---|---|
| “Primero se resta el descuento, luego se calcula el IVA” | ___________ |
iva = precio_con_descuento * 0.21 | ___________ |
| El mismo cálculo, escrito ahora en bloques de Scratch en lugar de Python | ___________ |
| “Los pasos son los mismos aunque cambie el lenguaje” | ___________ |
Reflexión: ¿puede haber dos implementaciones del mismo algoritmo que “por fuera” parezcan programas completamente distintos? Pon un ejemplo.
Respuesta: ____________________________________________________________________
🧮 RETO 2: Completa la tabla de traza
Algoritmo: calcular cuántos km recorre un dron con una batería, sabiendo su autonomía en minutos y su velocidad media en km/h.
INICIO
LEER autonomia_min
LEER velocidad_kmh
autonomia_horas ← autonomia_min / 60
distancia ← autonomia_horas * velocidad_kmh
ESCRIBIR distancia
FIN
Completa la traza para autonomia_min = 30 y velocidad_kmh = 40:
| Instrucción ejecutada | autonomia_min | velocidad_kmh | autonomia_horas | distancia |
|---|---|---|---|---|
| LEER autonomia_min | ||||
| LEER velocidad_kmh | ||||
| autonomia_horas ← autonomia_min / 60 | ||||
| distancia ← autonomia_horas * velocidad_kmh |
Resultado final: distancia = ______ km
🐛 RETO 3: Encuentra el tipo de error
Un compañero ha implementado el algoritmo del dron así:
INICIO
LEER autonomia_min
LEER velocidad_kmh
distancia ← autonomia_min * velocidad_kmh
ESCRIBIR distancia
FIN
- Ejecuta mentalmente (o con una mini tabla de traza) esta versión con los mismos datos (
autonomia_min = 30,velocidad_kmh = 40). ¿Qué resultado da?
Respuesta: ____________________________________________________________________ - ¿Es un error de algoritmo o un error de implementación? Justifica tu respuesta comparando con el algoritmo original del Reto 2.
Respuesta: ____________________________________________________________________ - ¿Qué paso falta o está mal para que la implementación sea fiel al algoritmo?
Respuesta: ____________________________________________________________________
✍️ RETO 4: Diseña, implementa y verifica
- Escribe tu propio algoritmo en pseudocódigo (mínimo 4 instrucciones, sin condicionales ni bucles) que resuelva un problema sencillo de tu elección (por ejemplo: convertir grados Celsius a Fahrenheit, calcular el área de un triángulo, convertir segundos a horas/minutos…).
INICIO
______________________________
______________________________
______________________________
______________________________
FIN
- Elige unos valores de entrada concretos y construye tu propia tabla de traza para comprobar que tu algoritmo funciona como esperas.
| Instrucción ejecutada | ||||
|---|---|---|---|---|
- Intercambia tu algoritmo (sin la traza) con un compañero. Él debe implementar la traza con sus propios valores de entrada, sin ver la tuya. Comparad los resultados al final: ¿coinciden?
💡 Dinámica sugerida para el aula (40-45 min)
- 10 min: Repaso oral de algoritmo vs. implementación y de cómo se lee una tabla de traza (pizarra, con el ejemplo del descuento + IVA).
- 20 min: Trabajo individual o en parejas con los Retos 1 a 3.
- 10-15 min: Reto 4, terminando con el intercambio entre compañeros y puesta en común de las discrepancias encontradas, si las hay.
