Scratch: condiciones, comparaciones y decisiones paso a paso

Aprende a tomar decisiones con Scratch. Hasta ahora los programas ejecutaban instrucciones en orden. Con una condición pueden elegir qué hacer según los datos que reciben. Trabajaremos con comparaciones, decisiones con uno o dos caminos y los operadores lógicos y, o y no. Las imágenes muestran modelos de bloques de Scratch 3 en español, con las piezas encajadas.

1. Qué es una condición

Una condición es una expresión que se evalúa como verdadera o falsa. En Scratch tiene forma hexagonal. «7 > 10» es falsa; «8 = 8» es verdadera. Los bloques <, > e = comparan valores. Coloca el bloque de comparación completo dentro del hueco hexagonal del bloque si.

PreguntaBloque disponibleEjemplo
¿Es menor?<3 < 5 → verdadero
¿Es mayor?>7 > 10 → falso
¿Es igual?=8 = 8 → verdadero

Atención: Scratch no tiene un bloque directo «≥». Para comprobar que un número es mayor o igual que 18 puedes usar no (número < 18). Si el dato es una edad entera, también puedes usar edad > 17. Esta segunda equivalencia depende de que la edad sea entera; no sirve como regla general para números con decimales.

2. Práctica guiada Una condición sin alternativa

Objetivo: observar qué sucede cuando una condición no se cumple. Utiliza un solo objeto, el gato, y escribe edades enteras no negativas.

  1. En Eventos, coloca «al hacer clic en la bandera verde».
  2. En Sensores, añade «preguntar [Escribe una edad entera:] y esperar».
  3. En Control, coloca «si… entonces».
  4. En Operadores, toma el bloque «>». Arrastra «respuesta», de Sensores, a la izquierda y escribe 17 a la derecha.
  5. Encaja la comparación en el hueco hexagonal del bloque si.
  6. Dentro del si, coloca «decir [Eres mayor de edad] durante (2) segundos».
Programa de Scratch: preguntar edad y mostrar un mensaje solo si respuesta es mayor que 17.
Gato · Programa con una sola rama · Pulsa la imagen para ampliarla.

Prueba: introduce 18 y después 17. Con 18 aparece el mensaje; con 17 no aparece un mensaje de resultado. El bloque si no inventa una alternativa: solo ejecuta su interior cuando la condición es verdadera.

3. Práctica guiada Control de acceso

El bloque si… entonces… si no permite elegir entre dos caminos. Solo se ejecuta uno de ellos. En este ejercicio el acceso es ficticio y depende de una edad entera.

  1. Conserva la pregunta inicial y sustituye el bloque si por «si… entonces… si no», de Control.
  2. Mantén la comparación «respuesta > 17».
  3. En la primera rama, coloca «decir [Acceso permitido] durante (2) segundos».
  4. En la rama si no, coloca «decir [Acceso no permitido] durante (2) segundos».
  5. Ejecuta una prueba cada vez y anota lo que aparece.
Programa del gato con dos ramas: acceso permitido para edad entera mayor que 17 y no permitido en caso contrario.
Gato · Control de acceso completo · Pulsa la imagen para ampliarla.
Edad enteraCondiciónResultado esperado
12FalsaAcceso no permitido
17FalsaAcceso no permitido
18VerdaderaAcceso permitido
25VerdaderaAcceso permitido

Comprueba que lo entiendes: si cambias 17 por 18 en la comparación, ¿qué ocurrirá con una persona de 18 años? Haz la predicción antes de ejecutarlo y corrige después el programa.

4. Práctica guiada Una pregunta que se corrige

  1. Crea un proyecto nuevo con el gato.
  2. Coloca la bandera verde y «preguntar [¿Cuánto es 5 + 3?] y esperar».
  3. Añade un si con dos ramas. En el hueco de condición coloca «respuesta = 8».
  4. En la primera rama, escribe «Correcto». En la segunda, «La respuesta correcta es 8». Usa decir durante 2 segundos.
  5. Prueba primero 8 y después 7. Comprueba que el personaje responde en ambos casos.
Bloques de Scratch para una pregunta sobre 5 más 3, con mensaje correcto o explicación de la respuesta.
Gato · Pregunta con corrección · Pulsa la imagen para ampliarla.

Reto: cambia la pregunta por otra operación y ajusta también el valor de la comparación y el mensaje de corrección. Cambiar solo el texto de la pregunta deja el programa incoherente.

5. Operadores lógicos

OperadorCuándo da verdaderoIdea clave
yCuando las dos condiciones son verdaderasDeben cumplirse ambas
oCuando se cumple al menos una condiciónTambién vale si se cumplen las dos
noCuando la condición interior es falsaInvierte el resultado lógico

Práctica con y Temperatura entre 20 y 25

Usaremos temperaturas enteras. Para incluir del 20 al 25, ambas inclusive, comprobaremos «temperatura > 19» y «temperatura < 26».

  1. Crea la variable temperatura. Pregunta una temperatura entera y guarda respuesta en ella.
  2. Añade un si con dos ramas. Arrastra el operador y a su condición.
  3. Encaja «temperatura > 19» en el primer hueco y «temperatura < 26» en el segundo.
  4. Añade los dos mensajes de la imagen. Prueba 19, 20, 25 y 26.
Programa con operador y: temperatura entera mayor que 19 y menor que 26.
Gato · Las dos comparaciones deben cumplirse · Pulsa la imagen para ampliarla.

Resultado: 20 y 25 pertenecen al intervalo; 19 y 26 quedan fuera. Para admitir temperaturas con decimales habría que construir comparaciones que incluyan exactamente los límites 20 y 25, por ejemplo, con no y < o >.

Práctica con o Una entrada ficticia

  1. Crea la variable edad. Pregunta una edad entera y guarda respuesta.
  2. Coloca un si con dos ramas. Encaja el operador o en su condición.
  3. Dentro del o, coloca «edad < 12» y «edad > 65».
  4. Añade los mensajes de la imagen. Prueba 11, 12, 65 y 66.
Programa de entrada ficticia gratuita si edad es menor que 12 o mayor que 65.
Gato · Basta con una de las comparaciones · Pulsa la imagen para ampliarla.

Resultado: 11 y 66 reciben entrada gratuita; 12 y 65 reciben entrada de pago. Estas reglas son las del ejercicio, no las de un establecimiento real.

Práctica con no Negar una comparación

  1. Pregunta «Escribe verde o rojo:».
  2. Añade un si con dos ramas. En su condición coloca no y, dentro, «respuesta = verde».
  3. Coloca «No has escrito verde» en la primera rama y «Has escrito verde» en la segunda.
  4. Prueba verde y rojo. Después prueba azul y explica por qué también cumple «no es verde».
Programa de Scratch con negación de respuesta igual a verde.
Gato · No invierte verdadero y falso · Pulsa la imagen para ampliarla.

6. Semáforo y búsqueda de errores

Este programa comprueba tres casos con tres bloques si independientes. Escríbelos en la misma secuencia, uno debajo de otro; no van unos dentro de otros. Las condiciones anidadas quedan como ampliación.

  1. Crea la variable color. Al iniciar, coloca «decir [ ]» para borrar el bocadillo anterior.
  2. Pregunta «Color: rojo, amarillo o verde» y guarda respuesta en color.
  3. Añade tres bloques si: color = rojo, color = amarillo y color = verde.
  4. Dentro de cada uno, coloca el mensaje correspondiente de la imagen.
  5. Prueba rojo, amarillo, verde y azul. Escribe las respuestas sin espacios al principio o al final.
Programa del gato con tres condiciones independientes para rojo, amarillo y verde.
Gato · Semáforo con tres casos · Pulsa la imagen para ampliarla.
EntradaResultado esperado
rojoDetente
amarilloPrecaución
verdePuedes pasar
azulNo aparece mensaje de resultado: no hay un caso para ese texto

Depura. Cambia temporalmente la condición verde por azul. Prueba ambas entradas, describe el fallo y restaura el valor correcto. Anota: dato probado, resultado esperado, resultado observado y cambio realizado. Reto extra: diseña una comprobación para mostrar «Color no reconocido» cuando no se cumpla ninguno de los tres casos.

7. Reto final

Crea tu propia pregunta con dos respuestas posibles mediante si… entonces… si no. Pide un dato, compáralo y muestra un mensaje adecuado en cada rama. Puedes elegir un control de acceso ficticio, una pregunta de cálculo o una recomendación según un valor.

  • Personaliza los mensajes y el escenario.
  • Prueba al menos cuatro entradas, cubriendo las dos ramas y el límite si utilizas un umbral numérico.
  • Si detectas un fallo, corrígelo y repite la prueba.
  • Guarda el proyecto como mi-pregunta.sb3.

Reto extra: incorpora una segunda condición con y, o o no cuando la versión básica funcione.

Más prácticas y repaso

Para empezar: repite el control de acceso con una sola pregunta y dos mensajes. Señala con el dedo la condición y las dos ramas antes de ejecutar. Después explica con tus palabras qué camino seguirá la edad 17 y cuál la edad 18.

¿Se ejecutan las dos ramas de si… si no?

No. El programa evalúa la condición y ejecuta una de las dos ramas. Después continúa con los bloques que estén debajo de toda la estructura.

¿En qué se diferencian y y o?

y exige que se cumplan las dos condiciones. o es verdadero cuando se cumple al menos una.

¿Por qué no basta con probar un único número?

Porque una sola prueba puede dejar sin comprobar otra rama o un límite. Un programa puede funcionar para 20 y fallar para 18.

Continúa con las prácticas de variables y operadores si necesitas repasar la recogida de datos. Puedes consultar también el editor oficial de Scratch.

Más prácticas de Scratch