A.4 – Reconocimiento de tareas repetitivas y condicionales
Computación y Robótica – 1º ESO
Antes de empezar: ¿te acuerdas?
Tu lince ya sabe hacer cosas en orden (una secuencia) y reaccionar a eventos distintos (scripts que arrancan de formas diferentes). Pero sigue siendo un lince bastante simple: hace lo que le dices, siempre igual, una vez por cada clic o pulsación.
Un lince de verdad, de noche, en la sierra, necesita dos habilidades más: repetir lo que hace sin cansarse y decidir según lo que se encuentra. Hoy vamos a aprender a reconocerlas.
1. Dos ideas que ya usas todos los días
| Situación | ¿Qué tiene? |
|---|---|
| Bajar una escalera de 20 escalones | Repetición: el mismo movimiento una y otra vez |
| “Si suena el despertador, me levanto” | Condición: solo pasa algo si la respuesta es sí |
| Un semáforo | Las dos: rojo-verde-ámbar sin parar (repetición) y, si un peatón pulsa el botón, los coches se paran (condición) |
| Tu móvil | Las dos: se apaga la pantalla si pasa un rato sin tocarlo (condición) y lo comprueba continuamente (repetición) |
Idea clave: una tarea es repetitiva cuando se hace lo mismo varias veces. Una tarea es condicional cuando lo que ocurre depende de una pregunta cuya respuesta es sí o no.
2. Tareas repetitivas: los bucles
Imagina que quieres que tu lince recorra un cuadrado. Sin repetir, tendrías que encajar 8 bloques. Con una repetición, bastan 3:
SIN BUCLE CON BUCLE
mover (50) pasos repetir (4)
girar ↻ (90) grados mover (50) pasos
mover (50) pasos girar ↻ (90) grados
girar ↻ (90) grados
mover (50) pasos
girar ↻ (90) grados
mover (50) pasos
girar ↻ (90) grados
A un grupo de bloques que se repite se le llama bucle. Los que más vas a usar en Scratch son:
- repetir (n): repite las veces que tú digas. Es un bucle finito.
- por siempre: repite sin parar hasta que pulses el botón rojo de stop. Es un bucle infinito.
Además de gastar menos bloques, si quieres un octógono, en el bucle cambias un número y no tienes que copiar y pegar nada.
Cómo reconocer una tarea repetitiva en un script: busca un grupo de bloques que se repite igual, o que podrías describir con “otra vez”.
3. Tareas condicionales: si… entonces
Una condición es una pregunta cuya respuesta solo puede ser verdadero o falso (sí o no). Con ella, el programa decide si hace algo o no:
si <¿tocando [borde]?> entonces
decir [¡Límite del territorio!]
Si el lince toca el borde, lo dice. Si no lo toca, no ocurre nada. También puedes dar una alternativa con si no:
si <¿tecla [espacio] presionada?> entonces
cambiar disfraz a [cazando]
si no
cambiar disfraz a [normal]
Las condiciones viven en las categorías Sensores y Operadores: por ejemplo “¿tocando [borde]?”, “¿tecla [espacio] presionada?” o “¿tocando el color [ ]?”.
Idea clave: las condiciones tienen forma de hexágono, porque son preguntas, y solo encajan en el hueco de un “si”. Otra vez la forma de la pieza te avisa de si tiene sentido.
4. Cuando se juntan: repetir y preguntar
Lo más potente es combinarlas. El ordenador repite vuelta tras vuelta y, en cada vuelta, se hace la pregunta:
por siempre
mover (5) pasos
si <¿tocando [borde]?> entonces
decir [¡Límite!] por (1) segundos
| Vuelta | Qué hace el ordenador |
|---|---|
| 1 | Mueve 5 pasos. ¿Toca el borde? No → sigue. |
| 2 | Mueve 5 pasos. ¿Toca el borde? No → sigue. |
| … | … |
| 60 | Mueve 5 pasos. ¿Toca el borde? Sí → dice “¡Límite!”. |
Error típico: poner el “si” fuera del “por siempre”. Entonces la pregunta se hace una sola vez, al empezar, y el lince no se entera de nada de lo que pase después. El ordenador solo pregunta donde tú le pones la pregunta.
5. ¿Dónde se usa esto?
- Un termostato: mide una y otra vez (repetición) y, si hace más calor que lo programado, enciende el aire (condición).
- Un robot aspirador: avanza sin parar y, si toca un obstáculo, gira.
- Un robot Maqueen con micro:bit: si el sensor de distancia detecta algo cerca, para.
- Un CanSat (satélite del tamaño de una lata): mide cada segundo y, si detecta que ha llegado al suelo, avisa.
Idea clave: en Python o en un robot, esto se escribe de otra forma, pero la idea es la misma: repetir y decidir.
6. Vocabulario para memorizar
| Palabra | Significado |
|---|---|
| Tarea repetitiva | Algo que se hace varias veces igual |
| Bucle | Grupo de bloques que se repite |
| Repetir (n) | Bucle finito: se repite un número de veces |
| Por siempre | Bucle infinito: se repite hasta que lo paras |
| Condición | Pregunta cuya respuesta es verdadero o falso |
| Condicional | Bloque “si… entonces” que ejecuta algo solo si la condición se cumple |
| Si no | Lo que se hace cuando la condición es falsa |
7. Para repasar (respóndelas de memoria antes del examen)
- Explica con tus palabras qué es una tarea repetitiva y pon un ejemplo de tu vida diaria (que no sea de Scratch).
- ¿Qué diferencia hay entre “repetir (10)” y “por siempre”?
- ¿Qué es una condición? ¿Qué dos respuestas puede dar?
- Mira este script: ¿qué parte se repite y qué pregunta hace el programa?
al presionar bandera verderepetir (10) mover (10) pasos si <¿tocando [borde]?> entonces girar ↻ (180) grados - ¿Por qué sería un error colocar el “si” fuera del “por siempre” en el script de la ronda del lince?
Próxima sesión: parte práctica de A.4.
Ficha de actividad — A.4 La ronda del lince
Computación y Robótica — 1º ESO
Antes de nada
Abre tu proyecto de la sesión anterior y guárdalo con un nombre nuevo (nombre_apellido_A4.sb3) para no estropear el anterior. Guarda al menos dos veces durante la actividad.
Qué vamos a hacer
Tu lince ya reacciona a eventos. Hoy hace su ronda nocturna: recorre su territorio sin parar y reacciona cuando encuentra algo. Pero antes de construir nada, vas a leer scripts ajenos y a predecir qué harán.
Fase 1 — Detective (sin ejecutar nada)
Lee estos tres scripts y rellena la tabla en tu cuaderno:
Script 1
al presionar tecla [1]
repetir (4)
mover (50) pasos
girar ↻ (90) grados
Script 2
al presionar tecla [2]
si <¿tocando [borde]?> entonces
decir [¡Estoy en el límite!] por (2) segundos
Script 3
al presionar tecla [3]
por siempre
mover (5) pasos
rebotar si toca un borde
| ¿Qué se repite? | ¿Hay una pregunta sí/no? ¿Cuál? | Mi predicción: ¿qué hará el lince? | |
|---|---|---|---|
| Script 1 | |||
| Script 2 | |||
| Script 3 |
Pista para el Script 3: el nombre de un bloque también puede esconder una condición. Lee bien “rebotar si toca un borde”.
Fase 2 — Comprueba tu predicción
Construye los tres scripts en tu lince, cada uno con su tecla (1, 2 y 3), y pruébalos.
- Script 2: pruébalo dos veces, una con el lince en el centro y otra con el lince pegado al borde.
- Script 3: para pararlo, pulsa el botón rojo de stop.
- Si tu lince se pone boca abajo al rebotar, busca el bloque “fijar estilo de rotación” y elige izquierda-derecha.
Después, anota en una línea para cada script: ¿acerté? Si no, ¿qué no había visto?
Fase 3 — La misión: caza nocturna
- Añade un segundo personaje que haga de presa (de la biblioteca o dibujado por ti) y colócalo donde quieras.
- En tu lince, crea un script que empiece con bandera verde y contenga un por siempre con:
mover (5) pasosyrebotar si toca un borde. - Dentro del mismo “por siempre”, añade un condicional: si
<¿tocando [tu presa]?>entonces reproduce un sonido y di “¡Te pillé!” durante 1 segundo. - Prueba: ¿detecta siempre a la presa? Cambia la presa de sitio y vuelve a probar.
- Prueba del fallo, a propósito: haz una copia del script (clic derecho → Duplicar) y, en la copia, saca el “si” fuera del “por siempre”. Ejecútalo y explica qué pasa.
- Con “si no”: haz que el lince cambie a un disfraz de “cazando” cuando toque la presa y vuelva a su disfraz normal cuando no la toque.
Checklist — marca cuando lo consigas
- He guardado mi proyecto con el nombre nuevo
- He rellenado la tabla de la Fase 1 antes de ejecutar nada
- He comprobado mis predicciones y sé en cuáles fallé
- Mi lince patrulla con un “por siempre” y rebota en los bordes
- El “si” está dentro del “por siempre” y detecta a la presa
- He hecho la prueba del fallo y sé explicarla
- He guardado el proyecto (dos veces)
Antes de cerrar: relaciona la práctica con la teoría
Respóndelas por escrito donde te indique el profesor.
- Señala en tu proyecto un bloque de repetición y di si es finito o infinito.
- En tu condicional de la presa, ¿cuál es la pregunta? ¿Qué respuesta tiene que dar para que ocurra algo?
- Explica con tus palabras por qué la prueba del fallo no funciona cuando el “si” está fuera del “por siempre”.
- En la Fase 1 hiciste predicciones. ¿Cuál fue la que más te sorprendió al comprobarla, y por qué?
Si terminas antes que tus compañeros
- Reto 1: controla al lince con las flechas del teclado. Necesitas un “por siempre” y cuatro “si” dentro. ¿Ves qué parte se repite igual en los cuatro?
- Reto 2: pinta una zona del escenario de rojo. Haz que, si el lince toca ese color, vuelva al punto de inicio.
- Reto 3: investiga el bloque “repetir hasta que”. ¿En qué se parece a un “por siempre” y en qué se parece a un “si”?
Notas para ti
- No he visto tu entrada A.3. Enlazo con el A.2 y con el título oficial del saber, así que ajusta el “¿te acuerdas?” si en A.3 hicisteis algo distinto.
- En la programación de CyR el A.4 es “reconocimiento” en 1º, “generación” en 2º y “bucles y condicionales anidadas básicas” en 3º. Por eso no hay bucles anidados. La Fase 3 va algo más allá de reconocer, pero igual que la práctica de A.2.
- Calculo unos 50 minutos. Si vas justo, deja los pasos 5 y 6 de la Fase 3 como ampliación.
- Los nombres de bloques son los que recuerdo de Scratch en español, sin haber abierto tu versión. Compruébalos.
- El patrón “por siempre + si” es justo el de una alarma de temperatura con micro:bit. Si al final montamos eso en 1º ESO para Moon Camp, esta sesión ya lo prepara.
¿Quieres que te lo deje en un archivo listo para pegar en WordPress?
