Antes de entrar en cada concepto por separado, mira el mapa completo del pensamiento computacional. Verás cómo se conectan los algoritmos con las variables, las decisiones, los bucles, las funciones y el control — y cómo todo se practica en el Laboratorio de algoritmos.
Una secuencia de pasos ordenados y finitos para resolver un problema. Es la base del pensamiento computacional: el ordenador ejecuta los pasos uno a uno.
Cómo se escribe y se dibuja un algoritmo paso a paso
Qué es y por qué importa el orden
Pasos uno tras otro
Cada paso: avanzar, escribir…
Leer datos · escribir resultados
El mismo algoritmo, sincronizado
Piezas que encajan
Óvalos, rectángulos, rombos
Pseudocódigo en español
Guardar información y operar con ella
Cajas con nombre para guardar datos
poner x = 5
5, 3.14
"hola"
verdadero / falso
Calcular y comparar
+ − × ÷ resto
< > = ≠
poner x = x + 1
Decidir qué camino seguir y repetir instrucciones
El rombo: tomar un camino u otro
Un solo camino
Dos caminos
n ≥ 0, x = 10
Repetir sin copiar y pegar
Número de vueltas conocido
Mientras se cumpla algo
Sumar 1 + 2 + … + N
Reutilizar, corregir errores y controlar el mundo real
Agrupar pasos para reutilizarlos
definir «cuadrado»
usar «cuadrado»
Encontrar y corregir errores (bugs)
Ejecutar paso a paso
Comprobar de nuevo
Programar el mundo real
sensor → decisión → actuador
Robótica (siguiente unidad)
Aprenderás a representar algoritmos (azul) con bloques, diagramas de flujo y código; a usar variables y datos (violeta); a controlar el flujo (ámbar) con decisiones y bucles; y a organizar y validar (rosa) con funciones, depuración y control. Todo lo marcado con 🎮 sim se practica en el Laboratorio de algoritmos.
Cuando sigues una receta de cocina, ejecutas un algoritmo: una lista de pasos en un orden concreto. Si te saltas un paso o cambias el orden, el plato sale mal. Programar es justo eso: escribir los pasos para que el ordenador los siga, uno a uno, sin equivocarse.
Un algoritmo es una secuencia de pasos ordenados y finitos que resuelve un problema. El ordenador los ejecuta uno a uno, de arriba abajo.
La forma más básica de un algoritmo es la secuencia: los pasos se ejecutan en orden, del primero al último. Cambiar el orden cambia el resultado. Piensa en «hacer una tostada»: meter el pan → tostarlo → untar la mantequilla. Si untas la mantequilla antes de tostar, el resultado es muy distinto.
1) meter el pan · 2) tostarlo · 3) untar la mantequilla
Resultado: una tostada con mantequilla.
1) untar la mantequilla · 2) meter el pan · 3) tostarlo
Resultado: mantequilla quemada y pan sin untar.
Los mismos pasos en distinto orden dan un resultado distinto (o un error). Por eso, al programar, el orden de las instrucciones es tan importante como las instrucciones en sí.
Un algoritmo se puede dibujar con un diagrama de flujo: cada tipo de paso tiene su símbolo. Las flechas indican el orden en que se recorren. Estos son los cuatro símbolos básicos:
Óvalo = inicio o fin · rectángulo = proceso (un cálculo o una acción) · paralelogramo = entrada/salida (leer datos o escribir resultados) · rombo = decisión (el camino se bifurca según una condición).
Un diagrama de flujo se recorre siguiendo las flechas, desde el Inicio hasta el Fin. Aquí tienes el algoritmo «calcular el área de un rectángulo» dibujado entero. Es una secuencia: una flecha detrás de otra, sin bifurcaciones.
Cuando el algoritmo tiene que decidir entre dos caminos, aparece el rombo. Mira «¿un número es par o impar?»: del rombo salen dos flechas (Sí / No), cada una hacia una salida distinta, y luego se vuelven a juntar. (Las decisiones las trabajarás a fondo en el Bloque 3.)
En una secuencia solo hay un camino (una flecha detrás de otra). En una decisión, el rombo parte el camino en dos según se cumpla o no una condición — y las ramas se vuelven a juntar antes del Fin.
En esta unidad usarás el Laboratorio de algoritmos. Construyes el programa con bloques que encajan (como piezas), y lo ves a la vez de tres formas sincronizadas: 🧩 Bloques, 🔀 Diagrama de flujo y 📝 Código. Al ejecutarlo paso a paso, se resalta a la vez la pieza, el nodo del diagrama y la línea de código que se está ejecutando. Los bloques de la tortuga (avanzar, girar) dibujan en el lienzo, y escribir muestra texto en la consola.
Abre el Laboratorio y resuelve tus dos primeros retos: escribir un saludo y dibujar un cuadrado con la tortuga. Pulsa Comprobar para ver si lo has logrado.
▶ Reto: «Tu primer programa» ↗ ▶ Reto: «Dibuja un cuadrado» ↗Autocorrección inmediata: pulsa, empareja, ordena y completa. Tu progreso aparece al final.
1. ¿Cuál de estas afirmaciones sobre un algoritmo es correcta?
2. En un diagrama de flujo, ¿qué símbolo se usa para una decisión (¿sí o no?)?
Une cada símbolo del diagrama de flujo con su significado:
Ordena los pasos del algoritmo «calcular el área de un rectángulo» (arriba = primero):
Completa la definición eligiendo la opción correcta:
Cuando juegas a un videojuego, la puntuación empieza en 0 y va subiendo. Ese número guardado en algún sitio, con un nombre («puntos»), que cambia durante la partida, es una variable. Los programas están llenos de ellas: son su memoria.
Una variable es una caja con un nombre (una etiqueta) donde el programa guarda un dato para usarlo después. Su valor puede cambiar mientras el programa se ejecuta.
No todos los datos son iguales. En esta unidad usamos tres tipos, y el tipo cambia lo que puedes hacer con ellos:
Para contar y calcular. Pueden tener decimales.
Ejemplos: 5, 3.14, −2
Palabras o frases, siempre entre comillas.
Ejemplos: "hola", "María"
Solo dos valores. Sirve para decidir.
Ejemplos: verdadero, falso
El tipo importa: sumar dos números da otro número (2 + 3 = 5), pero «sumar» dos textos los une ("Tecno" + "logía" = "Tecnología"). Mezclar tipos sin cuidado da errores.
Para meter un dato en una variable se usa la asignación: poner nombre = valor. Piensa en la variable como una caja con su etiqueta:
En poner x = x + 1, primero se calcula la parte de la derecha (el valor actual de x más 1) y ese resultado se guarda en x. Por eso una variable puede «actualizarse a sí misma».
Con los datos se hacen operaciones. Hay dos grandes grupos:
Dan un número: + (suma), − (resta), × (multiplica), ÷ (divide) y resto (lo que sobra al dividir).
7 resto 2 = 1 · 6 ÷ 2 = 3
Dan verdadero o falso: < (menor), > (mayor), = (igual), ≠ (distinto), ≤ y ≥.
5 > 3 → verdadero · 4 = 7 → falso
Al ejecutar un programa, el Laboratorio muestra una tabla de variables con el nombre de cada variable y su valor actual — así ves cómo cambian paso a paso. El bloque leer toma el siguiente dato de la lista de entradas y lo guarda en una variable; el bloque escribir muestra un valor en la consola.
Usa leer, la asignación y los operadores para resolver estos dos retos. Fíjate en la tabla de variables mientras ejecutas paso a paso.
▶ Reto: «La media de tres notas» ↗ ▶ Reto: «De kilómetros a metros» ↗Autocorrección inmediata: pulsa, calcula, empareja, ordena y completa. Tu progreso aparece al final.
1. ¿De qué tipo es el valor verdadero?
2. Tras poner x = 5 y luego poner x = x × 4, ¿cuánto vale x?
3. ¿Cuál es la media de las notas 4, 8 y 6?
Une cada operador con lo que hace:
Ordena los pasos del algoritmo «media de tres notas» (arriba = primero):
Completa el programa que guarda en total la suma de a y b:
Antes de salir de casa miras por la ventana: si está lloviendo, coges el paraguas; si no, lo dejas. Acabas de tomar una decisión según una condición. Los programas hacen exactamente eso para elegir qué hacer.
Una decisión (si … si no) hace que el programa siga un camino u otro según se cumpla o no una condición. En el diagrama de flujo es un rombo.
Una condición es una comparación que solo puede dar dos resultados: verdadero o falso. Se construye con los operadores de comparación que viste en el bloque anterior (< > = ≠ ≤ ≥).
edad ≥ 18 cuando edad vale 20 · 7 > 3 · nota = 5 cuando la nota es 5.
edad ≥ 18 cuando edad vale 12 · 2 > 9 · nota = 5 cuando la nota es 8.
Hay dos formas de decisión. Con si … entonces haces algo solo si se cumple la condición. Con si … si no eliges entre dos caminos: uno cuando es verdadera y otro cuando es falsa. Este es el diagrama de «¿está aprobado?»:
Del rombo salen siempre dos flechas: la de Sí (la condición se cumple) y la de No. Solo se recorre una de las dos, y luego el programa continúa.
En el Laboratorio, el bloque si tiene un hueco para la condición y dos zonas: entonces (lo que se hace si es verdadera) y si no (lo que se hace si es falsa). Al ejecutar paso a paso, verás que el diagrama de flujo ilumina el camino que realmente se recorre.
Usa el bloque si … si no con una condición para resolver estos dos retos clásicos de decisiones.
▶ Reto: «¿Par o impar?» ↗ ▶ Reto: «El mayor de tres» ↗Autocorrección inmediata. Tu progreso aparece al final.
1. ¿Qué resultado puede dar una condición?
2. Predice la salida. El programa dice: si n > 10 escribir «grande» · si no escribir «pequeño». Si n = 7, ¿qué escribe?
Une cada condición con lo que significa:
Ordena el algoritmo «escribe el mayor de dos números» (arriba = primero):
Completa la decisión «puedes entrar si tienes 18 o más»:
Para dibujar un cuadrado con la tortuga tendrías que escribir «avanzar, girar» cuatro veces. ¿Y un polígono de 100 lados? Copiar y pegar 100 veces sería una locura. Para eso están los bucles: repiten instrucciones sin tener que escribirlas una y otra vez.
Un bucle repite un grupo de instrucciones (el cuerpo del bucle) varias veces. Cada repetición se llama una iteración o «vuelta».
Si sabes de antemano cuántas veces hay que repetir, usas repetir N veces. Es el bucle más sencillo. Con la tortuga se ve genial: un cuadrado son cuatro veces «avanzar y girar 90°».
repetir 4 veces [ avanzar 100 · girar 90° ]| Vuelta | Acción | Giro acumulado | Resultado |
|---|---|---|---|
| 1 | avanzar 100 · girar 90° | 90° | lado 1 dibujado |
| 2 | avanzar 100 · girar 90° | 180° | lado 2 dibujado |
| 3 | avanzar 100 · girar 90° | 270° | lado 3 dibujado |
| 4 | avanzar 100 · girar 90° | 360° | cuadrado cerrado ✓ |
Tras 4 giros de 90° el giro acumulado es 360° = una vuelta completa: la tortuga vuelve a mirar hacia donde empezó y la figura se cierra. Para un triángulo serían 3 giros de 120° (3 × 120 = 360).
Cuando no sabes cuántas veces hay que repetir (depende de algo), usas mientras: el cuerpo se repite mientras la condición sea verdadera, y para en cuanto se vuelve falsa. Aparecen entonces dos herramientas clave:
i, que va 1, 2, 3…).s, que suma poco a poco).poner s = 0 · poner i = 1 · mientras i ≤ 5 [ poner s = s + i · poner i = i + 1 ] · escribir s| Vuelta | i | ¿i ≤ 5? | s = s + i | i = i + 1 |
|---|---|---|---|---|
| inicio | 1 | — | s = 0 | — |
| 1 | 1 | sí | 0 + 1 = 1 | 2 |
| 2 | 2 | sí | 1 + 2 = 3 | 3 |
| 3 | 3 | sí | 3 + 3 = 6 | 4 |
| 4 | 4 | sí | 6 + 4 = 10 | 5 |
| 5 | 5 | sí | 10 + 5 = 15 | 6 |
| fin | 6 | no → sale | escribe s = 15 | |
El acumulador s guarda el total que va creciendo (1, 3, 6, 10, 15) y el contador i controla cuándo parar. Sin el i = i + 1, la condición nunca se volvería falsa → el bucle no terminaría nunca (bucle infinito).
El contador no tiene por qué ir de uno en uno. Aquí doblamos un número hasta que pasa de 100. No sabíamos de antemano cuántas vueltas harían falta — por eso mientras es perfecto.
poner x = 1 · mientras x ≤ 100 [ poner x = x × 2 ] · escribir x| Vuelta | x (antes) | ¿x ≤ 100? | x = x × 2 |
|---|---|---|---|
| 1 | 1 | sí | 2 |
| 2 | 2 | sí | 4 |
| 3 | 4 | sí | 8 |
| 4 | 8 | sí | 16 |
| 5 | 16 | sí | 32 |
| 6 | 32 | sí | 64 |
| 7 | 64 | sí | 128 |
| fin | 128 | no → sale | escribe x = 128 |
repetir N = sabes el número de vueltas de antemano (un cuadrado son 4). mientras = repites hasta que se cumple (o deja de cumplirse) una condición, y las vueltas dependen de los datos.
Al ejecutar un bucle paso a paso, el Laboratorio resalta el bloque del bucle en cada vuelta y la tabla de variables muestra cómo cambian el contador y el acumulador. Con la tortuga, cada iteración dibuja un trozo de la figura: así ves la repetición.
Resuelve estos dos retos de bucles: uno con acumulador (mientras) y otro con la tortuga (repetir).
▶ Reto: «Suma de 1 hasta N» ↗ ▶ Reto: «La escalera» ↗Autocorrección inmediata: predice, calcula, ordena y completa. Tu progreso aparece al final.
1. ¿Qué bucle usas cuando sabes de antemano cuántas veces hay que repetir?
2. Un bucle mientras con un contador que nunca cambia hace que la condición no deje de cumplirse. ¿Qué pasa?
3. poner s = 0 · repetir 3 veces [ poner s = s + 2 ]. ¿Cuánto vale s al final?
4. Siguiendo la traza del ejemplo 2, ¿cuánto suma 1 + 2 + 3 + 4 (es decir, N = 4)?
5. poner x = 1 · mientras x ≤ 20 [ poner x = x × 2 ]. Haz la traza: ¿qué valor final tiene x?
Ordena el algoritmo «sumar 1 + 2 + … + N» (arriba = primero):
Completa el bucle que cuenta de 1 a N con un contador:
Ahora te toca a ti. Abre el Laboratorio y resuelve estos retos con bucles (de más fácil a más difícil):
repetir 3 y girar 120°).Para dibujar tres cuadrados, ¿escribirías los mismos pasos tres veces? Mejor: defines un bloque «cuadrado» una vez y lo usas tres. Y cuando algo no sale como esperabas, no lo tiras: lo depuras (buscas el fallo y lo corriges).
Una función (o subprograma) es un bloque con nombre que agrupa varios pasos para poder reutilizarlos. Descomponer es partir un problema grande en trozos pequeños con nombre.
En el Laboratorio, definir «nombre» crea un bloque con los pasos que quieras dentro. Después, cada vez que pones usar «nombre», se ejecutan esos pasos. Así no repites código y, si quieres cambiar algo, lo cambias en un solo sitio.
repetir 4 [ avanzar 50 · girar 90° ].Si quisieras cuadrados más grandes, cambias el avanzar 50 por avanzar 80 una sola vez dentro del bloque, y los tres cambian a la vez. Eso es la potencia de reutilizar.
Un error (o bug) es un fallo que hace que el programa no haga lo que queremos. Depurar es encontrarlo y corregirlo. La mejor herramienta es ejecutar paso a paso: así ves en qué momento algo se desvía de lo esperado.
repetir 4 [ avanzar 100 · girar 80° ].girar 80° por girar 90° y vuelvo a ejecutar.Cuando algo falle: ejecuta paso a paso, mira la tabla de variables y la tortuga en cada instrucción, y compara con lo que esperabas. El punto donde deja de coincidir es donde está el bug.
Usa los bloques definir y usar (categoría Funciones) para el reto de los tres cuadrados. Y en los retos de depuración, el programa viene ya escrito con un fallo: ejecútalo paso a paso, encuentra el error y corrígelo hasta que Comprobar se ponga verde.
Un reto de funciones y dos de depuración (el programa ya viene con el fallo — encuéntralo y arréglalo).
▶ Reto: «Tres cuadrados con un bloque» ↗ 🐞 Arréglalo: «El cuadrado torcido» ↗ 🐞 Arréglalo: «La media rota» ↗Autocorrección inmediata. Tu progreso aparece al final.
1. ¿Para qué sirve definir una función (un bloque con nombre)?
2. Un cuadrado sale torcido con repetir 4 [ avanzar 100 · girar 80° ]. ¿Cuál es el fallo?
Une cada idea con su significado:
Ordena los pasos para depurar un programa que falla (arriba = primero):
Completa la idea de reutilizar con funciones:
Un termostato mide la temperatura y decide encender o apagar la calefacción, sin que nadie lo toque. Es un algoritmo controlando una máquina. Con lo que ya sabes —leer, decidir y actuar— puedes programar un sistema de control.
Un sistema de control programado sigue el esquema sensor → decisión → actuador: lee un dato del entorno, decide qué hacer según una condición y actúa en consecuencia — una y otra vez.
Es el mismo patrón en casi cualquier máquina automática. Fíjate en cómo cada parte se corresponde con algo que ya sabes programar:
sensor = un leer · decisión = un si … si no con una condición · actuador = lo que se escribe o se hace. ¡Son las mismas herramientas de los bloques anteriores!
Queremos que un ventilador se encienda cuando hace calor. El «sensor» nos da la temperatura; decidimos con un si; el «actuador» es el ventilador.
leer temp · si temp > 30 escribir «ON» · si no escribir «OFF»Programa tu primer sistema de control: lee la temperatura y decide encender (ON) o apagar (OFF) el ventilador.
▶ Reto: «Control del ventilador» ↗En la unidad de Robótica darás el salto al mundo real: el sensor será un sensor de verdad (de luz, de distancia, de color…) y el actuador, un motor o una luz. El algoritmo será el mismo esquema sensor → decisión → actuador, pero controlando un robot. Además añadirás IoT (objetos conectados a internet) e inteligencia artificial aplicada.
Todo lo de esta unidad —algoritmos, variables, decisiones, bucles y funciones— es la base con la que se programan los robots. Cambia la tortuga por un motor y tendrás lo mismo. ¡Enhorabuena, ya sabes pensar como un programador!
Autocorrección inmediata. Tu progreso aparece al final.
1. ¿Cuál es el esquema de un sistema de control?
2. En si temp > 30 escribir «ON» si no «OFF», ¿qué escribe con temp = 30?
Une cada parte del sistema de control con el bloque de programación que le corresponde:
Ordena los pasos del control del ventilador (arriba = primero):
Completa el esquema del control:
Un recorrido por toda la unidad, con ejemplos y datos nuevos (no son los mismos de los bloques). Autocorrección inmediata; tu progreso aparece al final.
1. ¿Cuál de estas NO es una característica de un algoritmo?
2. En un diagrama de flujo, «leer edad» se dibuja con un…
3. ¿Qué indican las flechas de un diagrama de flujo?
4. ¿Cuántas flechas salen de un rombo (decisión)?
Ordena el algoritmo «convertir euros a dólares» (arriba = primero):
5. ¿De qué tipo es el valor 3.14?
6. ¿De qué tipo es el valor "hola" (entre comillas)?
7. poner x = 10 · poner x = x − 3 · poner x = x × 2. ¿Cuánto vale x?
8. ¿Cuánto vale 17 resto 5 (lo que sobra al dividir 17 entre 5)?
9. poner n = 6 · poner n = n ÷ 2 · poner n = n + 1. ¿Cuánto vale n?
10. Con textos, "Tecno" + "logía" da como resultado…
11. Predice la salida. si edad ≥ 65 escribir «jubilado» · si no escribir «trabaja». Con edad = 40, ¿qué escribe?
12. ¿Qué valor tiene la condición 8 ≠ 8?
13. Predice la salida. si n > 0 escribir «positivo» · si no escribir «no positivo». Con n = −5, ¿qué escribe?
14. Si n = 10, ¿cuál de estas condiciones es verdadera?
15. poner p = 1 · repetir 3 veces [ poner p = p × 2 ]. Haz la traza: ¿cuánto vale p?
16. Quieres repetir algo hasta que un dato cumpla una condición, sin saber cuántas vueltas. ¿Qué bucle usas?
17. Con la suma del ejemplo (acumulador), ¿cuánto vale 1 + 2 + 3 (N = 3)?
18. poner c = 0 · repetir 4 veces [ poner c = c + 3 ]. ¿Cuánto vale c?
19. ¿Cuántas veces se ejecuta el cuerpo de repetir 6 veces?
20. Vas a dibujar 5 estrellas iguales. ¿Qué te ahorra repetir el código?
21. Encuentra el error. Este programa debía dibujar un triángulo: repetir 3 veces [ avanzar 100 · girar 90° ], pero no cierra. ¿Cuál es el fallo?
22. ¿Qué significa depurar un programa?
23. En el esquema sensor → decisión → actuador, ¿qué bloque hace de sensor?
Empareja cada concepto de la unidad con un ejemplo de bloque:
Completa el sistema de control «alarma si hay poca luz»:
24. Explica con tus palabras cómo resolverías: leer tres números y escribir el mayor. ¿Qué conceptos de la unidad usarías?
Ya sabes pensar en pasos, guardar datos, decidir, repetir y reutilizar. Ahora te toca crear tu propio programa de principio a fin en el Laboratorio de algoritmos: elegir un reto, diseñar su algoritmo, programarlo, probarlo y depurarlo, y explicarlo.
Diseñar, programar y depurar un algoritmo propio que resuelva un problema, siguiendo el método: analizar → diagrama de flujo → programar → probar → documentar.
Programar no es memorizar bloques: es resolver problemas paso a paso. En este proyecto juntas todo lo de la unidad en una sola creación tuya — y aprendes lo más valioso de la programación: cuando algo no funciona, se prueba y se corrige hasta que sale.
Los tres se hacen en el simulador y usan lo aprendido. Elige según lo que más te guste:
Programa un dibujo con la tortuga: un polígono, una estrella, una escalera o una casa.
Usa: bucles (repetir), funciones (definir/usar) y giros. Dificultad: media — muy visual.
Un programa que lee datos y calcula: una calculadora de notas (media + aprobado/suspenso), un conversor de unidades…
Usa: variables, operadores y decisiones. Dificultad: media.
Un sistema de control simulado: un semáforo, un termostato o una alarma (sensor → decisión → actuador).
Usa: leer, decisiones y quizá un bucle. Dificultad: alta — el más completo.
Empieza sencillo y ve añadiendo. Prueba a menudo (ejecuta paso a paso cada poco, no al final). Y si algo falla, depura: mira la tabla de variables y la tortuga para ver dónde se desvía de lo que esperabas.
⏱ ½ sesión
Elige tu reto y descríbelo: ¿qué entra (datos), qué debe salir (resultado) y qué hay que hacer entre medias?
Entrega: descripción del problema (entrada/salida).
⏱ 1 sesión
Dibuja el diagrama de flujo (a mano o en el simulador) con los pasos, las decisiones y los bucles que necesites.
Entrega: diagrama de flujo.
⏱ 1 sesión
Constrúyelo con bloques en el Laboratorio. Ve montándolo por trozos y comprobando que cada parte hace lo suyo.
Entrega: programa en el simulador (comparte el enlace).
⏱ 1 sesión
Ejecútalo paso a paso con distintos datos. Busca los errores, encuéntralos y corrígelos hasta que funcione bien.
Entrega: lista de fallos encontrados y cómo los arreglaste.
⏱ ½ sesión
Escribe una memoria corta (qué hace, qué conceptos usaste) y enséñalo funcionando a la clase.
Entrega: memoria + demostración.
La nota sale de 5 dimensiones. Que el programa funcione importa, pero diseñar el algoritmo y saber depurar pesan igual (bloque C · pensamiento computacional):
Abre el simulador en modo libre para diseñar tu proyecto desde cero (o repasa un reto parecido para coger ideas).
▶ Abrir el Laboratorio de algoritmos ↗