domingo, 28 de junio de 2015

Tema 4.2. Toma de Decisiones

Muchas veces, Karel necesita tomar una decisión cuando está en una situación dificil, como cuando está enfrente de una pared y necesita saber si avanza o si no.

Las condiciones que karel puede detectar para poder hacer su decisión son:

1) frente-libre
2) frente-bloqueado
3) izquierda-libre
4) izquierda-bloqueada
5) derecha-libre
6) derecha-bloqueada
7) junto-a-zumbador
8) no-junto-a-zumbador
9) algun-zumbador-en-la-mochila
10) ningun-zumbador-en-la-mochila
11) orientado-al-norte
12) orientado-al-sur
13) orientado-al-este
14) orientado-al-oeste
15) no-orientado-al-norte
16) no-orientado-al-sur
17) no-orientado-al-este
18) no-orientado-al-oeste


4.2.1.  Decisiones simples

Karel hay veces que puede hacer una serie de instrucciones si se cumple una condición previamente establecida.  La condición puede ser cualquiera de las mencionadas anteriormente.  Por ejemplo:
 
si frente-libre entonces inicio
     avanza;
fin;
 
Se muestra una pequeña decisión que va a hacer Karel.  Si en el frente de él no hay pared, entonces avanza; si hay pared entonces no hace nada
 



 

Aquí hay una pared y por lo mismo no avanza
ni nada.
 
 
 
 
 
 
Aquí el frente está libre (no hay pared) por consiguiente si avanzó una posición.
 
 
 
 
 4.2.2. Decisiones con otro caso.

En este tipo de decisiones Karel puede hacer una serie de instrucciones si se cumple la condición y si no se cumple, Karel puede hacer otra serie deinstrucciones. Ejemplo:

si frente-libre entonces inicio
                      avanza;
              fin
              sino inicio
                      gira-izquierda;
fin;

En este caso, si el frente de Karel está libre entonces avanza.  Si está bloqueado entonces gira hacia la izquierda. Unicamente el fin de la última linea lleva punto y coma.


4.2.3. Decisiones anidadas

Después de haber tomado ya una decisión, dentro dela misma, karel puede tomar múltiples decisiones.  A esto se le conoce como decisiones anidadas.
Las decisiones anidadas tienen las mismas características que las decisiones anteriores y tienen estructuras similares a la siguiente:

si frente-libre entonces inicio
               avanza;
               si junto-a-zumbador entonces inicio
                         coge-zumbador;
               fin;
fin;

Dentro de cada decisión pueden existir las instrucciones que sean necesarias, así como las decisiones con otro caso.  Si es necesario, muchas decisiones pueden existir dentro de otras.
 

No hay comentarios:

Publicar un comentario

Seguidores