¿Qué es un predicado?
En este laboratorio, desarrollarás herramientas para ayudar a resolver acertijos de palabras al buscar palabras que coincidan con características específicas.
En esta página, revisarás los predicados y crearás algunos que puede usar en otros proyectos.
AAP-2.H.1
Como sabes, los predicados son bloques reporteros (funciones) que siempre reportan un valor booleano (solo reportan los valores
o
). En Snap!, los predicados se representan mediante bloques hexagonales. Calculan la condición utilizada por los condicionales (como si
, si / sino
, o repetir hasta que
) para decidir cuándo hacer algo.
Entonces, el tipo de entrada de un condicional es booleano y el tipo de salida de un predicado también es booleano.
:
Tipo de entrada,
tipo de salida,
dominio y
rango
- El tipo de entrada (input type) (normalmente llamado dominio [domain] entre los programadores) de una función es el tipo de datos que acepta como entrada.
- El tipo de salida (output type) (normalmente llamado rango [range]) de una función es el tipo de datos que genera al final.
Junto con "abstracción" estas dos ideas se encuentran entre las más importantes de la informática. Si desarrollas el hábito de usarlos en tu forma de pensar, tus programas tendrán muchos menos errores, porque verificarás automáticamente que el tipo de salida de un reportero coincide con el tipo de entrada del bloque que intentas usar.
Los predicados hacen una pregunta verdadera o falsa como "¿Es 3 el número aleatorio?"" o "¿Es verdad que este objeto toca a un objeto llamado 'Líder'?"
Cada bloque si / sino
tiene dos guiones dentro, exactamente uno de los cuales se ejecutará según el valor que informe el predicado. Luego, la computadora continúa con lo que viene después del bloque si / sino
.
AAP-2.E.2
Puedes ver estos cinco operadores relacionales:
=, >, <, ≥, ≤
así como un sexto:
≠
, que significa "distinto a" y reporta
falso
si las dos entradas son iguales y, de lo contrario, reporta
verdadero
(si no son iguales). Cuando escribes el bloque de

, funcionará así:
Estos seis operadores relacionales reportan un valor booleano (verdadero
o falso
).
-
Haz que el objeto dibuje solo si el botón del ratón está presionado, para que puedas dibujar formas desconectadas. Vas a tener que desmarcar la casilla "arrastrable" sobre el área de secuencias de comandos (que se muestra a la derecha) antes de intentar esto (para que Snap! no piense que estás tratando de arrastrar el objeto cuando haces clic).
Probablemente necesitarás usar el bloque de

, que puedes encontrar en la paleta de Sensores.
:
Secuenciación,
selección e
iteración
Selección: AAP-2.G.1; secuenciación, selección, iteración: AAP-2.A.4
Selección decide (selecciona) qué parte de un algoritmo ejecutar basado en si una condición es verdadera o falsa.
Cada algoritmo se puede construir usando secuenciación (siguiendo los pasos en orden), selección (decidir) e iteración (repetir).
-
AAP-2.E.4B
Considere el siguiente segmento de código.

Si un usuario ingresa "contraseña123", ¿cuál será el resultado?
¡Acceso concedido!
"contraseña123" no coincide con "secreta."
¡Acceso denegado!
¡Correcto! Como "contraseña123" no es igual a "secreta", la condición "si" es verdadera y se muestra "¡Acceso denegado!".
No hay resultado; habrá un mensaje de error.
Este código se ejecutará sin errores y siempre producirá resultados.
Sin resultado; el código no proporciona un resultado para esta situación.
El código maneja todas las entradas y siempre dice "¡Acceso concedido!" o "¡Acceso denegado!"
-
AAP-2.L.1D
¿Los siguientes segmentos de código producen el mismo resultado?
No, dondequiera que un segmento de código establece el color del lápiz en azul, el otro establece el color del lápiz en amarillo (y viceversa).
En la mayoría de los casos, los dos segmentos de código establecerán el mismo color del lápiz. Observe que ambos segmentos de código tienen signos de desigualdad diferentes (uno es menor que, el otro es mayor que).
No, tienen resultados diferentes cuando la posición x del sprite es 100.
¡Correcto! Para "si la posición x es menor que 100", la condición "sino" se ejecutará cuando x = 100 (y el color del lápiz será amarillo). De forma similar, para "si la posición x es mayor que 100", la condición "sino" se ejecutará cuando x = 100 (y el color del lápiz será azul).
Sí, el resultado para ambos segmentos no cambia: el color del lápiz nunca cambiará.
En ambos segmentos de código, el color del lápiz cambiará según la posición x del sprite.
Sí, siempre que un segmento de código establece el color del lápiz en azul, el otro también lo hace (y lo mismo para el amarillo).
Esto es cierto excepto cuando la posición x del sprite es exactamente 100.