Vista previa de la estructura

Del problema al algoritmo: secuencias, decisiones y bucles

Construir instrucciones ordenadas, elegir con SI/SI NO y repetir con REPETIR o MIENTRAS. Ejemplos humano/máquina y laboratorio Guía al robot.

Sección: Pensamiento computacional Actualizado:
Artículos /del-problema-algoritmo-secuencias-decisiones-bucles
Un pequeño robot de madera en una cuadrícula con un recorrido, dos obstáculos y fichas con flechas
Una idea se convierte en un recorrido cuando las instrucciones indican qué hacer, cuándo elegir y cuándo repetir.

15 min

Esta segunda lección continúa el recorrido iniciado con El pensamiento computacional: de la intuición a la precisión de los algoritmos.

En el primer artículo transformamos operaciones intuitivas con cifras en procedimientos precisos. Ahora damos el siguiente paso: aprender a construir un algoritmo. No empezamos por un lenguaje de programación, sino por tres estructuras para organizar las acciones: secuencia, decisión y repetición.

Seguimos comparando solución humana y solución de la máquina. La primera columna describe un posible razonamiento intuitivo; la segunda, un procedimiento explícito. No son capacidades exclusivas: una persona puede seguir el algoritmo y un problema puede admitir varias soluciones correctas.

Abrir el laboratorio Guía al robot

Antes de las instrucciones: definir el problema

Un algoritmo es un procedimiento formado por instrucciones precisas. Para diseñarlo hay que establecer la entrada, es decir, los datos disponibles, y la salida, el resultado esperado. También se deben explicitar las condiciones iniciales: conocer la posición de un robot no basta sin saber hacia dónde mira.

El estado reúne la información que puede cambiar durante la ejecución: posición, dirección, objetos pendientes de guardar, contador de repeticiones. En cada paso preguntémonos qué información cambia y cuál permanece igual.

Por ejemplo, calcular una tarifa inventada para un ejercicio exige más que decir «los niños pagan menos». Hay que fijar la edad límite, indicar si está incluida, asignar los precios y decidir cómo tratar datos no válidos. Especificar el problema ya forma parte de la solución.

Secuencia: el orden de las acciones

Problema. Preparar la mochila a partir de una lista ya disponible de libros y cuadernos, y después cerrarla.

Solución humanaSolución de la máquina
Imaginamos la mochila preparada y reunimos lo necesario. La experiencia permite corregir espontáneamente una acción fuera de lugar, como volver a abrirla si falta un libro.Primero prepara y comprueba la lista, después introduce los objetos indicados y solo al final cierra la mochila. El orden es explícito: cerrarla antes de introducir los objetos exigiría abrirla de nuevo.
  1. Preparar la lista
  2. Comprobar los objetos disponibles
  3. Meter en la mochila los objetos de la lista
  4. Cerrar la mochila
Secuencia desde el inicio hasta preparar la lista, introducir los objetos, cerrar la mochila y terminar
Secuencia: las acciones siguen el orden de las flechas.

Una secuencia ejecuta una instrucción tras otra. Pero «meter los objetos» sigue siendo una acción de alto nivel: si el ejecutor no sabe realizarla, hay que descomponerla. El detalle necesario depende de las operaciones que comprende.

En el laboratorio las acciones elementales son precisas: Avanzar una casilla, Girar 90° a la izquierda, Girar 90° a la derecha. Girar no cambia la casilla del robot, solo la dirección. Después de un giro, Avanzar puede llevarlo en una dirección distinta.

Decisión: SI… SI NO

Problema. Para una visita imaginaria, hasta los 12 años inclusive se pagan 3 €; con más de 12 años se pagan 5 €. Dada una edad entera no negativa, determinar el precio.

Solución humanaSolución de la máquina
Reconocemos si la persona pertenece a la franja reducida y elegimos 3 € o 5 €. Con 12 años todavía se aplica el precio reducido.Primero comprueba que la edad sea admisible. Después evalúa edad ≤ 12: si es verdadero, asigna 3 al precio; en caso contrario, asigna 5. Ejecuta una sola rama, no ambas.
SI edad ≤ 12:
    precio = 3
SI NO:
    precio = 5
Decisión sobre una edad validada: hasta 12 años precio de 3 euros, en caso contrario 5 euros
Decisión: solo se ejecuta una rama.

SI… SI NO permite elegir entre dos caminos. La condición debe poder evaluarse como verdadera o falsa. «Es suficientemente joven» es ambiguo; edad ≤ 12 no lo es en el modelo declarado.

El límite importa: edad = 12 selecciona 3, edad = 13 selecciona 5. Una edad negativa o no entera no debe entrar en este esquema: es un error de entrada. Por eso el diagrama parte de una edad ya validada. No se trata de una tarifa real.

Repetición contada: REPETIR

Problema. Preparar cinco cajas, colocando tres lápices en cada una.

Solución humanaSolución de la máquina
Reconocemos cinco grupos iguales: hacen falta 5 × 3 = 15 lápices. Repetimos la misma operación para cada caja.Usa un contador i que empieza en 1. Repite cinco veces «poner tres lápices en la caja i», aumentando i en una unidad después de cada vuelta.
i = 1
REPETIR 5 VECES:
    Poner 3 lápices en la caja i
    i = i + 1

Aquí el número de repeticiones se conoce al principio. El cuerpo del bucle es el grupo de instrucciones repetidas; el contador distingue las cinco vueltas. Se visitan las cajas 1, 2, 3, 4 y 5. Tras el último incremento, i vale 6, pero no se ejecuta una sexta vuelta.

El bucle evita escribir cinco copias de las instrucciones. No elimina el trabajo material: siguen siendo quince lápices que colocar. REPETIR n veces en el laboratorio sigue la misma regla y muestra la vuelta actual.

Repetición condicional: MIENTRAS

Problema. Meter en la mochila todos los objetos de una lista sin saber de antemano cuántos hay.

Solución humanaSolución de la máquina
Seguimos tomando lo que falta hasta que ya no vemos objetos por guardar.Comprueba si la lista aún contiene objetos. Si los hay, mete el primero en la mochila, lo elimina de la lista y vuelve a comprobar la condición. Si está vacía, sale del bucle.
MIENTRAS la lista no esté vacía:
    Meter el primer objeto en la mochila
    Eliminar ese objeto de la lista
Bucle que comprueba objetos pendientes, guarda uno, lo elimina de la lista y vuelve a comprobar
Bucle: la comprobación se repite tras cada cambio en la lista.

La condición se comprueba antes de cada vuelta. Si la lista está vacía al principio, el cuerpo no se ejecuta ni una vez. Con tres objetos, después de cada vuelta quedan dos, uno y cero: esta disminución explica por qué termina, suponiendo que nadie añada objetos nuevos.

Si olvidamos eliminar el objeto de la lista, la condición puede seguir siendo verdadera para siempre. Escribir MIENTRAS no garantiza la parada: hay que entender qué cambia en el cuerpo y por qué permite salir. A diferencia de REPETIR, el número de vueltas no se fija al principio.

Laboratorio: guía al robot

El laboratorio representa estas ideas en una cuadrícula 6 × 6. El robot tiene una posición y una orientación; algunas casillas son obstáculos y una contiene el objetivo. La tarea es terminar el programa en el objetivo. Pasar por él y después alejarse no basta.

En la primera misión el ejemplo es una secuencia: tres avances, un giro a la izquierda y otros dos avances. En la segunda usamos REPETIR para cinco avances y después cuatro, con un giro entre los grupos. La tercera combina un bucle y una decisión.

MIENTRAS no esté en el objetivo:
    SI delante está libre:
        Avanzar una casilla
    SI NO:
        Girar 90° a la izquierda

«Delante está libre» comprueba la casilla adyacente en la dirección actual; el borde también es un impedimento. No busca un recorrido completo. La estrategia funciona en la tercera cuadrícula preparada, pero no garantiza resolver todos los laberintos. Cambiar obstáculos puede crear un recorrido imposible o una repetición sin fin.

El laboratorio se detiene después de un límite de seguridad de 400 pasos. Protege el navegador, pero no es una demostración matemática de bucle infinito. Garantizar la terminación exige razonar sobre el programa y sus datos.

  1. Elegir la misión y observar salida, dirección y objetivo.
  2. Antes de ejecutar, intentar predecir el recorrido.
  3. Pulsar Un paso: se resalta el bloque actual y se describe la acción o comprobación.
  4. Usar Iniciar para la animación, Pausa para detenerla y Atrás para revisar un estado anterior.
  5. Añadir instrucciones, cambiar su tipo, reordenarlas con las flechas o eliminarlas con ×. Los bloques condicionales tienen dos ramas separadas.
  6. Tocar una casilla libre para añadir un obstáculo y comprobar si el programa sigue funcionando. Cargar ejemplo y Restaurar obstáculos permiten volver a empezar.

Abrir el laboratorio Guía al robot

Verificar y corregir un algoritmo

Verificar significa comparar el resultado con lo solicitado, no solo observar movimiento. Un error puede estar en el enunciado, los datos, el orden de las instrucciones o la condición. Reproducir la ejecución paso a paso ayuda a encontrar el primer estado real que difiere del previsto.

PruebaResultado que comprobar
Edades 12 y 13Precios de 3 € y 5 €, respectivamente: el límite incluido se trata correctamente.
Lista vacíaEl bucle MIENTRAS no ejecuta su cuerpo.
Obstáculo justo delanteAvanzar indica el bloqueo; SI delante está libre selecciona SI NO.
Girar a la izquierdaLa dirección cambia y la posición permanece igual.
Bucle sin cambios útilesBuscar por qué la condición no se vuelve falsa; no confiar solo en el límite de seguridad.

¿Menos bloques o menos acciones?

Un algoritmo correcto y uno corto no son lo mismo. En la segunda misión, nueve avances y un giro pueden escribirse como diez instrucciones elementales. Con dos bloques REPETIR, sus dos cuerpos y el giro bastan cinco bloques escritos, pero se siguen ejecutando diez acciones.

Los pasos del laboratorio también incluyen las condiciones y el control de repeticiones; las acciones solo cuentan avances y giros. Estos números no miden lo mismo. Primero comprobamos la corrección y después precisamos qué queremos reducir: longitud del programa, acciones, memoria o tiempo.

Usar la IA para razonar, no solo responder

Podemos pedir a la IA: «Propón instrucciones para esta cuadrícula, indica la orientación inicial, explica cada giro y establece qué condiciones permiten terminar». La precisión ayuda a hacer visibles las hipótesis, pero no garantiza una respuesta correcta.

Una buena comprobación es buscar un contraejemplo: ¿qué pasa si añado un obstáculo, si empiezo ya en el objetivo o si el cuerpo del bucle está vacío? Hay que contrastar la explicación con la ejecución y el significado de las instrucciones. La IA ayuda a razonar; no sustituye la verificación.

Conclusión: predecir, ejecutar, explicar

Secuencia, decisión y repetición permiten construir procedimientos más ricos que las operaciones aisladas. No se trata de aprender tres palabras, sino de describir qué datos cambian, qué camino se elige y por qué termina el procedimiento.

El hábito que entrenar es sencillo: predecir el resultado, ejecutar los pasos, explicar qué ha ocurrido y corregir las diferencias. Es el vínculo entre intuición, algoritmo y control consciente de la tecnología.

Abrir el laboratorio Guía al robot · Volver a leer la primera lección