Programación para principiantes: un robot y bloques

Monta un programa con bloques y mira cómo un robot lo ejecuta paso a paso en una cuadrícula. Junto a los bloques, el mismo programa aparece escrito en Python. Los niveles te llevan por secuencias, bucles, condiciones, bucles while y funciones.

Concepto nuevo

Un programa es una lista de instrucciones. El robot las ejecuta una tras otra, de arriba abajo, y hace exactamente lo que dicen: no adivina nada. Por eso el orden importa. Cada bloque tiene al lado su línea de Python: «avanzar» es move() y «girar a la izquierda» es turn_left().

En Python

move()
move()
turn_left()
move()

Tarea

Lleva al robot hasta la bandera. Toca «avanzar» en el menú de bloques: el bloque se añade al programa. Cuando el programa esté listo, pulsa Ejecutar.

Pista

Cuenta las casillas que hay entre el robot y la bandera. Cada «avanzar» lleva al robot una casilla en la dirección de la flecha verde.

Mapa

Construye un programa y pulsa Ejecutar.

Programa con bloques

Bloques: 0

Menú de bloques

Teclado: el bloque nuevo se inserta después del seleccionado; mueve el bloque seleccionado con Alt + flecha, elimínalo con Supr; Ctrl + Z deshace el último cambio.

El mismo programa en Python

Este es tu programa como texto. Órdenes como move() y turn_left() pertenecen a este juego; for, while, if y def son Python de verdad.

Todavía no hay nada. Cuando añadas bloques, sus líneas aparecerán aquí.

Un juego de aprendizaje; tu programa y tu progreso se quedan en tu navegador. Cómo se calcula y de dónde salen los datos

Qué aprenderás aquí

Un programa es una lista exacta de instrucciones. Un ordenador no adivina: hace justo lo que dice el programa, aunque a todas luces no tenga sentido. Por eso programar consiste sobre todo en dividir una tarea en pasos pequeños y sin ambigüedad y ponerlos en el orden correcto. Esa es la lógica de la programación, y es la misma en todos los lenguajes.

Secuencia: las órdenes se ejecutan una tras otra, de arriba abajo. El orden importa: «avanzar, girar a la izquierda» lleva al robot a otro sitio que «girar a la izquierda, avanzar».

Bucles: en lugar de seis bloques «avanzar» idénticos, basta un bloque «repetir 6 veces» con un solo avance dentro. En Python es el bucle for i in range(6):. Los bucles pueden anidarse: cuatro vueltas de «dar tres pasos y girar» recorren un cuadrado.

Condiciones: un bloque «si» ejecuta sus bloques solo cuando se cumple una condición, como «si estoy sobre una moneda, recógela». Un bloque «si – si no» elige entre dos caminos. Un programa con condiciones funciona incluso en un mapa que no conoces de antemano, por eso estos niveles tienen varios mapas.

Bucles while: un bloque «mientras» repite sus bloques mientras se cumple una condición, como «mientras el camino de delante esté libre, avanza». A diferencia de repetir N veces, no sabes de antemano cuántas veces se ejecutará. Si la condición nunca deja de cumplirse, tienes un bucle infinito, uno de los errores más comunes que existen.

Funciones: un trozo de programa con nombre que puedes usar una y otra vez. Cuando has construido «dar la vuelta», un solo bloque lo llama. El programa queda más corto y fácil de leer, y una corrección en un sitio vale para todos.

Depuración: todos los programadores cometen errores; lo importante es encontrarlos. Ejecuta el programa paso a paso y fíjate en dónde hace el robot algo distinto de lo que esperabas. El bloque que causó el error aparece resaltado, y el mensaje te dice qué ha pasado.

Por qué bloques y Python al lado: con bloques no puedes cometer una errata ni olvidar un paréntesis, así que te concentras solo en la lógica. El Python de al lado muestra que es el mismo programa escrito como texto: los bloques dentro de un bucle van con sangría en el código, y la línea de encima termina con dos puntos.

Adónde ir después: cuando el robot ya no te sorprenda, prueba a escribir Python tú mismo, por ejemplo con el tutorial oficial de python.org, que empieza con los mismos for, while, if y def. Si prefieres hacer juegos y animaciones, sigue con Scratch, que usa el mismo tipo de bloques.

Preguntas frecuentes

¿A qué edad pueden los niños empezar a programar?

Este juego está pensado para niños de unos diez años en adelante y también sirve a adultos principiantes. Los más pequeños pueden con los primeros capítulos con ayuda de un adulto; basta con saber leer. Todos los niveles están desbloqueados, así que quien conozca lo básico puede saltarse partes.

¿Es gratis y hace falta crear una cuenta?

Es gratis y sin registro. Tu navegador recuerda tu progreso, así que puedes volver a un nivel en el mismo dispositivo.

¿Qué es Python?

Python es uno de los lenguajes de programación más usados. Se emplea en análisis de datos, ciencia, sitios web, automatización e inteligencia artificial, y gusta a los principiantes porque se lee con facilidad. El programa que hay junto a los bloques es Python de verdad; solo las órdenes del robot, como move(), pertenecen a este juego.

¿En qué se diferencia de Scratch?

Scratch es un espacio abierto donde construyes con bloques tus propios juegos y animaciones con personajes. Aquí resuelves rompecabezas con un objetivo claro que te guían paso a paso por ideas como los bucles, las condiciones y las funciones, y junto a los bloques ves el mismo programa en Python. Se complementan muy bien.

¿Qué hago cuando termine todos los niveles?

Prueba a escribir Python tú mismo: el tutorial oficial de python.org empieza con los mismos if, for, while y def que ya conoces de los bloques. Si disfrutas creando cosas, sigue con Scratch. Y prueba a resolver los niveles con menos bloques.

¿Se envía mi programa a algún sitio?

No. El programa se ejecuta en tu navegador y se guarda solo en su almacenamiento, para que lo encuentres la próxima vez. No se envía a ningún sitio y nadie más lo ve.

Cómo se calcula y de dónde salen los datos

Cómo se calcula el resultado

  1. Un programa se compone de bloques. Cada bloque corresponde a una o varias líneas de Python generadas al lado, de modo que, mientras el programa se ejecuta, el bloque y su línea se iluminan a la vez.
  2. El robot vive en una cuadrícula de 8 × 8 casillas como máximo. Una casilla puede estar libre, ser un muro, una moneda o la meta con una bandera; el borde de la cuadrícula es un muro. El robot está en una casilla y mira hacia una de las cuatro direcciones.
  3. Al pulsar Ejecutar, se calcula primero toda la ejecución y después se reproduce. Cada orden realizada es un paso, y también lo es cada condición comprobada («¿Está libre el camino de delante? Sí»). El mismo programa en el mismo mapa siempre se ejecuta igual.
  4. Un nivel está resuelto cuando el programa termina sin error, el robot acaba en la meta (si el mapa la tiene) y no queda ninguna moneda. Algunos niveles tienen dos o tres mapas y el programa debe superarlos todos: el mapa en pantalla se ejecuta a la vista, los demás se comprueban en silencio, y si alguno falla, el juego cambia a él y muestra por qué.
  5. Una ejecución se detiene con un error en el bloque que lo causó: el robot chocaría con un muro, recogería una moneda donde no hay ninguna o el programa está vacío. Tras 1000 pasos la ejecución se detiene como bucle infinito, y una función que se llama a sí misma a más de 50 niveles de profundidad se detiene como llamada infinita.
  6. Algunos niveles permiten solo un número limitado de bloques. Cuenta cada bloque, incluidos los que están dentro de bucles, condiciones y funciones; un bloque que contiene otros bloques cuenta una vez.
  7. El programa en el que trabajas en cada nivel y la lista de niveles resueltos se guardan solo en el almacenamiento de tu navegador.

Supuestos y límites

  • El robot solo conoce 4 órdenes (avanzar, girar a la izquierda, girar a la derecha, recoger una moneda) y 5 condiciones (camino libre delante, a la izquierda y a la derecha, estar sobre una moneda, estar en la meta), cada una también negada.
  • No hay variables, ni operaciones con números, ni funciones propias con parámetros. El nivel prepara cada función (su nombre y su finalidad); tú solo construyes lo que hace.
  • El Python es de solo lectura: muestra cómo se ve el programa como texto, pero todavía no puedes escribirlo. Órdenes como move() o path_ahead() son funciones de este juego, no forman parte de Python, así que el código por sí solo no funcionará fuera del juego.
  • Los nombres en Python están en inglés (move, turn_left, pick_coin…), como en los programas reales; los bloques aparecen en el idioma de la página.
  • El robot hace exactamente lo que dice el programa; no adivina ni corrige nada. No es una carencia: es lo principal que se aprende aquí.

Los mapas y los niveles los hemos diseñado nosotros como ejercicios; no son datos. La idea de un robot guiado por un programa a través de una cuadrícula viene de Karel the Robot, que Richard E. Pattis describió en 1981 como primera lección de programación.

Fuentes de datos y el periodo al que corresponden

Cada número con el que una calculadora empieza o con el que calcula procede de una de las fuentes de abajo. Los nombres de las series figuran tal como los da el editor. Cada fila muestra el periodo al que se refieren los datos y, donde lo registramos, el día en que los descargamos. Los datos oficiales pueden tener meses cuando se publican, así que compruebe la cifra actual antes de decidir.

Oficial
Publicado por un banco central, una oficina de estadística, la Unión Europea u otro organismo público.
Datos académicos o del sector
Un conjunto de datos de una universidad, un proveedor de índices, una asociación del sector o un proveedor de datos.
Según la prensa
Una cifra de un organismo oficial que solo conocemos por la prensa y no hemos comprobado en la fuente original. Tómela como aproximada.
Ejemplo
Un número redondo nuestro, no una estadística. Sustitúyalo por el suyo.

Fundamentos de programación y el lenguaje Python

FuentePeriodoTipo
Python Software FoundationThe Python Tutorial, 4. More Control Flow Tools (if, for, range, def)
vigentedescargado el 2026-10-19Datos académicos o del sector
Python Software FoundationThe Python Language Reference, 8. Compound statements (if, while, for, function definitions)
vigentedescargado el 2026-10-19Datos académicos o del sector
Richard E. PattisKarel the Robot: A Gentle Introduction to the Art of Programming (John Wiley & Sons, 106 pages)
1981descargado el 2026-10-19Datos académicos o del sector

Texto de la metodología revisado por última vez el 2026-10-06. Datos descargados por última vez el 2026-10-19. Cómo trabajamos con datos y fuentes