Saber Básico A.2: Elementos de los programas con lenguaje de bloques
1. Recordatorio: de por qué a qué
En el A.1 vimos por qué usamos programación por bloques: evita errores de sintaxis, es rápida de aprender, pero no escala bien en proyectos grandes y no es el estándar profesional.
Hoy vamos a abrir esa “caja” y ver de qué está hecho realmente un programa por bloques: qué tipos de piezas existen, para qué sirve cada una y cómo se combinan para formar un programa completo.
2. Los bloques no son todos iguales: tipos según su forma
En Scratch (y en la mayoría de entornos de bloques) la forma de la pieza indica su función. No es casualidad ni decoración: es la forma la que decide dónde puede encajar y dónde no.
- Bloques de evento (forma de sombrero) 🎩
- Tienen la parte de arriba redondeada, como un gorro: no se puede encajar nada por encima.
- Son siempre el primer bloque de un script: indican cuándo empieza a ejecutarse.
- Ejemplos: al presionar la bandera verde, al presionar la tecla espacio, al recibir mensaje.
- Bloques de instrucción o acción (forma de pieza de puzle) 🧩
- Se encajan uno debajo de otro, como piezas apiladas.
- Cada uno representa una acción concreta que se ejecuta cuando le toca su turno.
- Ejemplos: mover 10 pasos, decir “hola” durante 2 segundos, reproducir sonido.
- Bloques de control (forma de “C”) 🔁
- Tienen una forma que envuelve a otros bloques por dentro, como una C o una pinza.
- Sirven para repetir instrucciones o para decidir si se ejecutan o no.
- Ejemplos: repetir X veces, por siempre, si… entonces.
- (En detalle los trabajaremos en el A.4: tareas repetitivas y condicionales. Hoy solo necesitas reconocer su forma.)
- Bloques reporteros o de valor (forma ovalada) 🥚
- No hacen una acción por sí solos: devuelven un dato (un número, un texto…).
- Solo encajan dentro de otros bloques, en los huecos redondeados que dejan espacio para un valor.
- Ejemplos: posición en x, (2 + 2), nombre del personaje.
- Bloques booleanos (forma hexagonal) 🔷
- Devuelven siempre verdadero o falso.
- Solo encajan en los huecos hexagonales, normalmente dentro de bloques de control.
- Ejemplos: ¿tocando el borde?, (5 > 3), tecla presionada.
Idea clave: si alguna vez no sabes dónde va una pieza, mira su forma y el hueco donde quieres encajarla. Si no encaja, es que ese bloque no pertenece ahí.
3. Elementos del programa, más allá de los bloques
Un programa por bloques no es solo la pila de piezas. También forman parte de él:
- Script: el conjunto de bloques encajados desde un evento hasta el final. Un proyecto puede tener varios scripts.
- Sprite / objeto: el elemento (personaje, robot, sensor…) al que pertenece cada script. Cada sprite tiene sus propios scripts.
- Escenario / fondo: el espacio donde se ve el resultado del programa en marcha.
- Variables: espacios con nombre donde el programa guarda datos que pueden cambiar (una puntuación, una vida, un nombre…).
- Extensiones: paquetes de bloques adicionales que se añaden para tareas concretas (sensores, música, traducción, hardware externo como micro:bit).
📊 4. De bloques a texto: la misma idea, otra forma
| Elemento en bloques | Forma | Equivalente en un lenguaje de texto (Python) |
|---|---|---|
| Bloque de evento | Sombrero | def al_pulsar_tecla(): |
| Bloque de instrucción | Puzle | mover(10) |
| Bloque de control | C | for i in range(10): |
| Bloque reportero | Óvalo | 2 + 2 |
| Bloque booleano | Hexágono | x > 5 |
| Variable | Óvalo con nombre | puntos = 0 |
Fíjate: cada tipo de bloque tiene su equivalente en código de texto. No es que un lenguaje “tenga más cosas” que el otro: es la misma lógica de programación expresada de dos formas distintas.
📝 PARA TU LIBRETA (Resumen clave para copiar)
Copia en tu cuaderno este resumen de 5 puntos:
- La forma del bloque indica su función: sombrero = evento, puzle = acción, C = control, óvalo = valor, hexágono = verdadero/falso.
- Un script es una pila de bloques encajados desde un evento hasta el final; un proyecto puede tener varios scripts.
- Cada sprite (objeto) tiene sus propios scripts, y todos comparten el mismo escenario.
- Las variables guardan datos que cambian durante la ejecución del programa.
- Cada tipo de bloque tiene su equivalente en un lenguaje de texto: no es una lógica distinta, es la misma lógica con otra forma de escribirla.
FICHA DE TRABAJO DESENCHUFADA: LOS ELEMENTOS DE UN PROGRAMA POR BLOQUES
Saber Básico A.2: Elementos de los programas con lenguaje de bloques
Nombre y Apellidos: ____________________________________________________
Curso y Grupo: 2.º ESO ____ | Fecha: __ /__ /2026
🔍 RETO 1: El detective de formas
Ya sabes que la forma de un bloque indica su función: sombrero (evento), puzle (instrucción), C (control), óvalo (reportero), hexágono (booleano).
Para cada bloque de la lista, escribe qué forma tiene y qué tipo es:
| Bloque | Forma | Tipo |
|---|---|---|
| al presionar la bandera verde | ___________ | ___________ |
| mover 10 pasos | ___________ | ___________ |
| repetir 10 veces | ___________ | ___________ |
| posición en x | ___________ | ___________ |
| ¿tocando el borde? | ___________ | ___________ |
| decir “hola” durante 2 segundos | ___________ | ___________ |
| si… entonces | ___________ | ___________ |
| (5 > 3) | ___________ | ___________ |
Reflexión: de estos ocho bloques, ¿cuáles NO podrían ir nunca como primer bloque de un script? ¿Por qué?
Respuesta: ____________________________________________________________________
🩻 RETO 2: Radiografía de un proyecto
Imagina un proyecto de Scratch de un juego de laberinto con estas características:
- Hay 3 sprites: el jugador, un enemigo que patrulla y una meta.
- El jugador se mueve con las flechas del teclado.
- Hay una variable llamada “vidas” que empieza en 3.
- Si el jugador toca al enemigo, pierde una vida.
- Si el jugador toca la meta, el juego avisa de que ha ganado.
Responde:
- ¿Cuántos scripts como mínimo necesita el sprite del jugador? (Pista: piensa en un script por cada tecla de flecha, más el de comprobar si toca algo)
Respuesta: ____________________________________________________________________ - Escribe el nombre de la variable de este proyecto y explica qué tipo de dato guarda.
Respuesta: ____________________________________________________________________ - “Si el jugador toca al enemigo, pierde una vida” necesita un bloque de control y uno booleano trabajando juntos. ¿Cuál es el bloque booleano que hace falta aquí?
Respuesta: ____________________________________________________________________ - ¿Necesita este proyecto algún script en el sprite de la meta, o le basta con estar ahí quieta? Justifica tu respuesta.
Respuesta: ____________________________________________________________________
🔄 RETO 3: Traduce sin ordenador
Usando la tabla de equivalencias que copiaste en tu libreta, traduce estos fragmentos:
De bloques a texto:
- Bloque: al recibir mensaje “empezar” → Texto: ____________________________
- Bloque: repetir 5 veces [ mover 10 pasos ] → Texto:
____________________________________________________
De texto a bloques (descríbelo con palabras, no hace falta dibujar):
- Código:
if vidas == 0:→ Descripción del bloque necesario: ____________________________ - Código:
puntos = puntos + 1→ Descripción del bloque necesario: ____________________________
Conclusión del Reto 3: ¿qué tipo de bloque (de los cinco que conoces) ha aparecido más veces al hacer esta traducción? ¿Por qué crees que es el más frecuente en cualquier programa?
Respuesta: ____________________________________________________________________
💡 Dinámica sugerida para el aula (35-40 min)
- 10 min: Repaso oral rápido de los 5 tipos de bloques (pizarra, sin apuntes).
- 20 min: Trabajo individual o en parejas completando los tres retos.
- 5-10 min: Corrección conjunta del Reto 2 (el más abierto), comparando respuestas distintas y por qué pueden ser todas válidas.
