Saber Básico A.1: Conexión de los lenguajes de programación visuales con los lenguajes de programación textuales
CYR 3ESO
1. De los bloques al texto: ¿Por qué dar el salto?
En 1.º y 2.º de ESO hemos trabajado con programación visual (Scratch, MakeCode, App Inventor) para entender el pensamiento computacional. En 3.º de ESO avanzamos hacia la programación textual (como Python o C++).
- Lo que NO cambia: La lógica del algoritmo. Las condiciones, las variables y los bucles funcionan exactamente igual.
- Lo que SÍ cambia: La sintaxis (las reglas de escritura). En lugar de encajar piezas de colores, escribimos instrucciones respetando símbolos, paréntesis y mayúsculas.
2. Equivalencia de estructuras (Traductor Bloque $\rightarrow$ Código)
- Variables (Guardar datos):
- Visual (Scratch):
[ fijar [puntos] a (10) ] - Textual (Python):
puntos = 10
- Visual (Scratch):
- Condicionales (Toma de decisiones):
- Visual: Bloque
[ Si <vida < 1> entonces ]…[ si no ] - Textual (Python):Python
if vida < 1: print("Game Over") else: print("Sigue jugando")
- Visual: Bloque
- Bucles (Repetición):
- Visual: Bloque
[ Repetir (5) veces ] - Textual (Python):Python
for i in range(5): print("Repitiendo...")
- Visual: Bloque
- Eventos y Funciones:
- Visual: Bloque
[ Al hacer clic en 🚩 ] - Textual: Definición de funciones como
def inicio():o escuchadores de eventos (event listeners).
- Visual: Bloque
3. Las tres reglas clave de la programación textual
- Atención a la sintaxis: Un paréntesis sin cerrar, una comilla olvidada o escribir
Printcon mayúscula en vez deprintprovocará un error de compilación. - La Indentación (Sangría): En lenguajes como Python, dar 4 espacios a la derecha indica qué instrucciones están dentro de un bucle o condicional (reemplaza la forma envolvente de los bloques de Scratch).
- Puntos y comas / Dos puntos: Se utilizan símbolos como los dos puntos (
:) o el punto y coma (;) para delimitar dónde empiezan o terminan las órdenes.
📊 4. Tabla comparativa: Scratch vs. Python
| Estructura | Scratch (Bloques) | Python (Texto) |
| Inicio del programa | [ Al hacer clic en 🚩 ] | Ejecución directa de arriba a abajo / def main(): |
| Imprimir en pantalla | [ Decir "Hola" ] | print("Hola") |
| Bucle infinito | [ Por siempre ] | while True: |
| Entrada de usuario | [ Preguntar [...] y esperar ] | respuesta = input("¿Tu nombre?") |
| Operadores lógicos | Bloques verdes < (a) Y (b) > | Palabras clave: and, or, not |
📝 PARA TU LIBRETA (Resumen clave para copiar)
Copia en tu cuaderno los siguientes puntos:
- Misma lógica, distinta sintaxis: La programación por bloques y la textual comparten las mismas estructuras lógicas; solo cambia la forma de escribir las órdenes.
- Sintaxis: Es el conjunto de reglas que define cómo deben escribirse los comandos en un lenguaje de texto (mayúsculas, paréntesis, comillas).
- Indentación: Es la sangría o espacio al inicio de una línea. Sirve para indicar qué código pertenece a un bucle o a un condicional.
- Traducción clave:
[ Decir X ]$\rightarrow$print(X)[ Por siempre ]$\rightarrow$while True:[ Si ... entonces ]$\rightarrow$if ... :
📄 FICHA DE TRABAJO DESENCHUFADA: DEL BLOQUE AL CÓDIGO
Saber Básico A.1: Conexión de lenguajes visuales (Scratch) a textuales (Python)
Nombre y Apellidos: ____________________________________________________
Curso y Grupo: 3.º ESO ____ | Fecha: //2026
📖 Tabla de referencia (Consulta si tienes dudas)
| Estructura Scratch | Código equivalente en Python |
[ Decir "Hola" ] | print("Hola") |
[ Preguntar "¿Nombre?" y esperar ] | nombre = input("¿Nombre?") |
[ Fijar [puntos] a (0) ] | puntos = 0 |
[ Cambiar [puntos] por (1) ] | puntos = puntos + 1 |
[ Repetir (5) veces ] | for i in range(5): |
[ Por siempre ] | while True: |
[ Si <puntos > 10> entonces ] ... [ si no ] | if puntos > 10:...else: |
⚠️ REGLA DE ORO DE PYTHON: Recuerda poner los dos puntos (:) al final de if, else, for y while, y dejar 4 espacios de sangría (indentación) en las líneas de dentro.
🧩 RETO 1: Traducción rápida de bloques sueltos (10 min)
Escribe la línea exacta de código Python que corresponde a cada bloque de Scratch:
[ Fijar [nivel] a (1) ]$\rightarrow$________________________________________________[ Decir "¡Has ganado!" ]$\rightarrow$________________________________________________[ Cambiar [vidas] por (-1) ]$\rightarrow$________________________________________________[ Preguntar "Introduce tu clave" y esperar ]$\rightarrow$________________________________________________[ Repetir (10) veces ]$\rightarrow$________________________________________________
⚙️ RETO 2: Traducción de programas completos (20 min)
Traduce los siguientes programas visuales escritos en Scratch a código Python completo dentro de los cuadros.
📍 Programa A: Control de acceso por edad
Plaintext
[ Al hacer clic en 🚩 ]
[ Preguntar "¿Cuántos años tienes?" y esperar ]
[ Si <respuesta >= 18> entonces ]
|-- [ Decir "Acceso permitido" ]
[ Si no ]
|-- [ Decir "Acceso denegado" ]
Código Python:
Python
📍 Programa B: Bucle de entrenamiento (Contador)
Plaintext
[ Al hacer clic en 🚩 ]
[ Fijar [serie] a (1) ]
[ Repetir (3) veces ]
|-- [ Decir "Haciendo repetición" ]
|-- [ Cambiar [serie] por (1) ]
[ Decir "¡Entrenamiento terminado!" ]
Código Python:
Python
📍 Programa C: Sensor de temperatura (Bucle continuo)
Plaintext
[ Al hacer clic en 🚩 ]
[ Fijar [temp] a (30) ]
[ Por siempre ]
|-- [ Si <temp > 25> entonces ]
|-- [ Decir "Encender aire acondicionado" ]
Código Python:
Python
🐛 RETO 3: Caza de Errores / Depurador de Python (10 min)
Un alumno de 3.º ESO intentó traducir un script de Scratch a Python, pero cometió 5 errores graves de sintaxis.
Código con errores:
Python
1. puntos = 0
2. If puntos == 0
3. Print("Empieza el juego")
4. for i in range(5)
5. puntos = puntos + 1
6. print "Puntuación actualizada"
Localiza los 5 errores y explica cómo corregirlos:
- Error 1 (Línea ___): __________________________________________________________________
- Error 2 (Línea ___): __________________________________________________________________
- Error 3 (Línea ___): __________________________________________________________________
- Error 4 (Línea ___): __________________________________________________________________
- Error 5 (Línea ___): __________________________________________________________________
✍️ RETO 4: Reto de creación (10 min)
Diseña un pequeño programa en Python (mínimo 5 líneas) que pida un número al usuario. Si el número es mayor que 50, debe decir “Número alto”, y si no, decir “Número bajo”.
Tu programa en Python:
Python



