Combinar predicados
Funciones booleanas
En el nivel más bajo, los circuitos de la computadora están hechos de cables, y cada cable está encendido o apagado. Entonces, las únicas operaciones que se pueden realizar en ese nivel más bajo son aquellas que opera en valores de un solo bit (solo unos y ceros, es decir, solo encendidos y apagados). Estas son llamadas funciones lógicas (o booleanas). (Son predicados, porque su rango es booleano, pero estos son especiales porque su dominio también es booleano.) Hay tres funciones booleanas en la paleta Operadores:
Verdadero
o Falso
) como entradas y reportan un nuevo valor booleano como salida. Cuando usas funciones booleanas en un programa, las entradas serán, normalmente, expresiones como 
-
Experimenta con diferentes valores de entrada en los tres bloques y toma notas sobre los resultados que te dan.
En lugar de arrastrar un bloque
verdadero
ofalso
a la ranura de entrada de los bloquesy
,o
, ono
, puedes hacerle clic en la ranura de entrada vacía para controlar el interruptor deverdarero
/falso
:
Los bloques y
y no
funcionan exactamente de la manera que esperarías de los significados de esas palabras en español:
-
AAP-2.F.3
reporta
verdadero
, y cualquier otra combinación de informes de entradas diríafalso
. -
AAP-2.F.2
reporta lo contrario de cualquier valor de entrada que utilice.
o
es un poco diferente en informática. En español, la palabra "o" tiene dos significados diferentes:
- Cualquiera, pero no los dos: como "Veamos si mañana llueve o hace sol". En informática, esto se llama o exclusivo porque una opción excluye a la otra.
- Cualquiera o los dos: como "Pregúntale a tu maestro si tienes alguna pregunta o si necesitas ayuda". Esto se llama o inclusivo porque es posible incluir las dos opciones.
- Experimenta. ¿El bloque
implementa un
o
exclusivo o inclusivo?



AND,
ORy
NOTy funcionarán exactamente de la misma manera que lo hacen en Snap!.
- Crea los bloques
,
y
. (Puedes copiar los caracteres ≤, ≥ y ≠ de esta página y pegarlos en la ventana de Snap! llamada Crear bloque).
-
Vas a crear un predicado que indica si una entrada está entre otras dos entradas y pruébelo con varios casos diferentes.
Puedes decidir sientre
incluirá los números de las dos entradas o no.Hacer un predicado
-
Elige el predicado con la forma hexagonal.
- Debes usar el bloque
para reportar el resultado de los reporteros (incluyendo predicados).
-
Elige el predicado con la forma hexagonal.
-
Usa
entre
para crear un guion que te permita escribir en el escenario en tres colores (dependiendo de la altura del escenario), usando el ratón.
-
AAP-2.E parte bAutoevaluaciónNo hay un bloque ≤ incorporado en Snap!. Supongamos que quisiéramos construir uno. ¿Cuáles dos de las siguientes expresiones booleanas son equivalentes a la expresión
?
Este es tu intento n.º 1. -
AAP-2.F parte bAutoevaluación¿Cuál de las siguientes expresiones reportará
verdadero
?Este es tu intento n.º 1.
Llevándolo más allá
-
Debido a que solo hay dos valores booleanos (
verdadero
yfalso
), solo hay cuatro combinaciones de entradas para un operador booleano de dos entradas. Aquí están las cuatro combinaciones que se muestran con el operadoro
:
- Con
o
, las cuatro combinaciones reportanverdadero
,verdadero
,falso
yfalso
, en ese orden. (Comprueba por ti mismo que eso sea cierto.) De esta forma, puedes representar la funcióno
como VVVF (usando V y F como abreviaturas deverdadero
yfalso
). ¿Cuáles son las cuatro letras para la funcióny
? (Utiliza el mismo orden de las entradas: VV, VF, FV, y FF como se muestra arriba cono
.) -
Inventa otra combinación de cuatro letras (como VFVF) y construye una función de predicado con ese comportamiento. Describe cómo se comporta la función.
Haz clic para ver un ejemplo que muestra y describe el comportamiento de VFVF.
La función VFVF reporta verdadero siempre que la segunda entrada sea verdadera, sin importar cuál sea la primera entrada. No es una función útil porque podría usar la segunda entrada como predicado en lugar de construir esta función de predicados.
- Haz lo mismo con otra combinación de cuatro letras.
- ¿Cuántos posibles operadores booleanos de dos entradas hay?
Obviamente, VVVF (la función
o
) es útil, pero VVVV no es útil (¿por qué no?). ¿Cuál de los posibles operadores booleanos de dos entradas crees que sería útil? Reflexiona por qué.- ¿Cuántos operadores booleanos de tres entradas hay?
- Con