Operadores lógicos y de comparación en Scratch
Daniela hace un juego en Scratch: el objeto avanza solo si la nota es mayor que 59 y además la asistencia supera el 80 %. ¿Cómo le explica eso a la computadora? Con bloques que no devuelven un número, sino una respuesta: verdadero o falso. En esta página aprenderás a construirlos y a evaluarlos.
Bloques que responden verdadero o falso
En el apartado anterior viste bloques redondeados, como ( ) + ( ), que devuelven un número. Los de esta página tienen forma de hexágono y devuelven solo dos valores posibles: verdadero o falso. Por eso se llaman condiciones.
Los de comparación son tres:
| Bloque | Se lee | Es verdadero cuando… |
|---|---|---|
( ) > ( ) |
mayor que | el primer valor es más grande que el segundo |
( ) < ( ) |
menor que | el primer valor es más pequeño que el segundo |
( ) = ( ) |
igual a | los dos valores son iguales |
Fíjate en que el bloque ( ) > ( ) compara, no calcula: (10) > (7) es verdadero y (4) < (4) es falso, porque 4 no es menor que 4.
Los bloques de comparación de Scratch son « ( ) > ( ) », « ( ) < ( ) » y « ( ) = ( ) ». Indica si cada una de estas condiciones es verdadera o falsa: a) $(10) > (7)$ b)…
Los bloques de comparación de Scratch son « ( ) > ( ) », « ( ) < ( ) » y « ( ) = ( ) ». Indica si cada una de estas condiciones es verdadera o falsa:
- a) $(10) > (7)$
- b) $(4) < (4)$
- c) $(5) = (5)$
En un juego hecho en Scratch, la variable «vidas» vale 3. Determina si cada condición es verdadera o falsa: a) vidas > 0 b) vidas = 5 c) no (vidas = 5)
En un juego hecho en Scratch, la variable «vidas» vale 3. Determina si cada condición es verdadera o falsa:
- a) vidas > 0
- b) vidas = 5
- c) no (vidas = 5)
Los operadores «y», «o», «no»
Los operadores lógicos no reciben números ni texto: sus espacios hexagonales solo admiten condiciones (verdaderas o falsas). Sirven para combinar condiciones.
-
< > y < >: es verdadero solo si las dos condiciones son verdaderas. -
< > o < >: es verdadero si al menos una es verdadera. -
no < >: invierte el valor: lo verdadero pasa a falso y lo falso a verdadero.
Sus tablas de verdad (V = verdadero, F = falso):
| A | B | A y B | A o B |
|---|---|---|---|
| V | V | V | V |
| V | F | F | V |
| F | V | F | V |
| F | F | F | F |
| A | no A |
|---|---|
| V | F |
| F | V |
El porqué es el del lenguaje diario: «voy a la pelota y hago la tarea» exige las dos cosas; «tomo jugo o refresco» se cumple con una de ellas.
Scratch tiene tres operadores lógicos: «y», «o» y «no». Escribe el nombre de cada uno y di qué tipo de valores reciben en sus espacios (números, texto o condiciones…
Scratch tiene tres operadores lógicos: «y», «o» y «no». Escribe el nombre de cada uno y di qué tipo de valores reciben en sus espacios (números, texto o condiciones verdaderas o falsas).
Yanelis programa un personaje que avanza si se cumple la condición «(nota > 59) y (asistencia > 80)». Evalúa la condición en estos casos e indica si el personaje avanza:…
Yanelis programa un personaje que avanza si se cumple la condición «(nota > 59) y (asistencia > 80)». Evalúa la condición en estos casos e indica si el personaje avanza:
- a) nota = 75 y asistencia = 90
- b) nota = 75 y asistencia = 70
- c) nota = 50 y asistencia = 95
En un programa de Scratch se usa la condición «(tecla espacio presionada?) o (tecla flecha arriba presionada?)» dentro de un bloque «si». Explica en qué situaciones el…
En un programa de Scratch se usa la condición «(tecla espacio presionada?) o (tecla flecha arriba presionada?)» dentro de un bloque «si». Explica en qué situaciones el personaje salta y en cuál no salta. Indica además qué cambiaría si el operador «o» se sustituyera por «y».
Negar una condición con «no»
El operador «no» da la vuelta al resultado. Si vidas = 5 es falso, entonces no (vidas = 5) es verdadero.
Como Scratch no tiene «≥» ni «≤», «no» es muy útil:
-
no (x > 10)significa «x no es mayor que 10», es decir, x vale 10 o menos. Equivale a(x < 10) o (x = 10). -
no (x < 5)significa x vale 5 o más. Equivale a(x > 5) o (x = 5).
Ernesto escribe este bloque: si ( no ( (x) > (10) ) ) entonces decir «pequeño» Evalúa la condición cuando $x = 4$, cuando $x = 10$ y cuando $x = 15$, y di en cuáles se…
Ernesto escribe este bloque:
si ( no ( (x) > (10) ) ) entonces decir «pequeño»
Evalúa la condición cuando $x = 4$, cuando $x = 10$ y cuando $x = 15$, y di en cuáles se muestra el mensaje. Luego escribe una condición equivalente sin usar el operador «no».
Condiciones en «si» y «repetir hasta que»
Las condiciones se encajan en los bloques de control:
-
si < > entonces: ejecuta lo de dentro una vez si la condición es verdadera. -
repetir hasta que < >: repite mientras la condición sea falsa y se detiene cuando se vuelve verdadera.
Esto último confunde a muchos: en «repetir hasta que» la condición es la de parada.
Un programa de Scratch debe decidir si un educando aprueba una asignatura. Se aprueba cuando la nota es de 60 puntos o más y la nota está entre 0 y 100. a) Construye la…
Un programa de Scratch debe decidir si un educando aprueba una asignatura. Se aprueba cuando la nota es de 60 puntos o más y la nota está entre 0 y 100.
- a) Construye la condición con bloques de comparación y el operador «y».
- b) Evalúala para las notas 60, 59, 100 y 105.
- c) Explica por qué la condición «(nota > 59) o (nota < 101)» no sirve para validar la nota, y da un valor de nota que la haga verdadera aunque no sea válido.
Leonardo programa un bucle «repetir hasta que» para un juego de adivinar un número secreto. El bucle debe detenerse cuando el jugador acierta el número o cuando se le…
Leonardo programa un bucle «repetir hasta que» para un juego de adivinar un número secreto. El bucle debe detenerse cuando el jugador acierta el número o cuando se le acaban los intentos. Las variables son «respuesta», «secreto» e «intentos» (que empieza en 5 y baja de uno en uno).
- a) Escribe la condición de parada usando operadores de comparación y lógicos.
- b) Evalúala cuando respuesta = 7, secreto = 7 e intentos = 3.
- c) Evalúala cuando respuesta = 2, secreto = 7 e intentos = 0.
- d) Evalúala cuando respuesta = 2, secreto = 7 e intentos = 3, e indica si el bucle continúa.
- e) Explica por qué usar «y» en lugar de «o» haría que el juego casi nunca terminara.
Resumen
-
Los bloques
>,<y=comparan y devuelven verdadero o falso (son hexagonales). -
No hay «≥» ni «≤»: usa
nota > 59o combina con «o» y con «no». -
«y» exige las dos condiciones; «o» basta con una; «no» invierte el resultado.
-
Los operadores lógicos solo reciben condiciones, no números ni texto.
-
«si» actúa cuando la condición es verdadera; «repetir hasta que» se detiene cuando lo es.
-
Evalúa siempre con valores concretos y prueba los valores límite.
Vuelve al principio: la condición de Daniela es (nota > 59) y (asistencia > 80), y el objeto avanza solo si las dos partes son verdaderas.