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:
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.
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