OPERADORES LÓGICOS TOMA DE DECISIONES REPETICIONES FUNCIONES BOOLEANAS Subrayar en la pág. 136 de su guía lo sig: Estas funciones booleanas solo pueden tener uno de dos valores, cierto o falso. Completar cuadro de columnas con la descripción de cada una. De estado actual frontIsClear(); frontIsBlocked(); leftIsClear(); leftIsBlocked(); rightIsClear(); rightIsBlocked(); Descripción frente-libre frente-bloqueado izquierda-libre izquierda-bloqueada derecha-libre derecha-bloqueada NOTA: «LIBRE SIGNIFICA QUE NO HAY NINGÚN MURO». mientras que "bloqueado" significa que hay un muro en esa dirección. De Zumbadores nextToABeeper(); Descripción junto-a-zumbador notNextToABeeper(); no-junto-a-zumbador anyBeepersInBeeperBag(); algun-zumbador-en-la-mochila noBeepersInBeeperBag(); ningun-zumbador-en-la-mochila Nota: Karel puede detectar si hay o no algún zumbador en la esquina en la que se encuentra actualmente, así como detectar si tiene algún zumbador en la mochila o no. De Orientación facingNorth(); facingSouth(); facingEast(); facingWest(); notFacingNorth(); notFacingSouth(); notFacingEast(); notFacingWest(); Descripción orientado-al-norte orientado-al-sur orientado-al-este orientado-al-oeste no-orientado-al-norte no-orientado-al-sur no-orientado-al-este no-orientado-al-oeste Nota: También tiene una brújula para detectar hacia qué dirección está orientado. Ejemplos • Observa los ejemplos que vienen en la pág. 136 y 147 Función Valor frontIsClear(); Falso frontIsBlocked(); Verdadero Función rightIsClear(); Valor Falso rightIsBlocked(); Verdadero Función nextToABeeper(); Valor Verdadero notNextToABeeper(); Falso TOMA DE DECISIONES Subrayar en tu libro pág. 138 Las sentencias de control se usan para tomar decisiones en el programa y saber que instrucción realizar o cuando realizarla. Simplemente permiten la ejecución de otras sentencias o fragmentos de código si se cumple una condición o no. Pág. 138 Decisiones simples • If( si/ entonces) « Karel puede hacer una serie de instrucciones , si es que se cumple una condición If (<condición>) { <instrucciones> } Pág. 139 • If/ else ( si/ entonces) « En este tipo de decisiones, Karel, puede hacer una serie de instrucciones si se cumple la condición y llevar a cabo otra serie si no se cumple. La sintaxis es la siguiente if (<condición>) { <instrucciones> } Else { <instrucciones> } Repeticiones iterate(n) (repiten número de veces) Muchas veces, Karel necesita repetir una serie de instrucciones varias veces, por ejemplo, girará la derecha implica 3 giros a la izquierda. Si se desea que Karel ejecute la misma instrucción varias veces se puede utilizar la instrucción iterate(x veces).Por ejemplo: iterate(5) { <instrucciones> } Decisiones con múltiples condiciones pág. 133 Karel maneja 3 tipos de operadores: ! -Operador que cambia el valor de una instrucción de Karel (de verdadero a falso y viceversa). &&-Esta función evalúa dos o más condiciones, si todas las condiciones se cumplen, el resultado será verdadero, con una condición que no se cumpla, el resultado será falso. || -Al igual que la función anterior, evalúa dos o más condiciones. Si alguna de las condiciones se cumple, el resultado será verdadero, si no se cumple ninguna condición, el resultado será falso. Observa los Ejemplos que vienen en la pág. 133 y 134 if(frontIsClear&&facingSouth) Verdadero (se cumplen las 2) Falso (el frente no está Falso (orientado al libre) norte) if(frontIsClear||facingSouth) Verdadero (se cumplen las 2) Verdadero (frente libre) Verdadero (orientado al sur) Falso (no se cumple ninguna)