iniciar-programa
define-nueva-instruccion or como
inicio
mientras no-orientado-al-este hacer gira-izquierda;
si frente-libre entonces avanza;
fin;
define-nueva-instruccion despacha como
inicio
mientras junto-a-zumbador y algun-zumbador-en-la-mochila hacer
inicio
mientras no-orientado-al-norte hacer gira-izquierda;
coge-zumbador;
repetir 2 veces
inicio
avanza;
deja-zumbador;
fin;
repetir 2 veces gira-izquierda;
avanza;
avanza;
fin;
or;
mientras frente-libre y no-junto-a-zumbador y algun-zumbador-en-la-mochila hacer avanza;
si junto-a-zumbador y algun-zumbador-en-la-mochila entonces despacha;
fin;
define-nueva-instruccion fase como
inicio
mientras algun-zumbador-en-la-mochila y frente-libre hacer
inicio
despacha;
fin;
si frente-bloqueado entonces
inicio
repetir 2 veces gira-izquierda;
mientras frente-libre hacer avanza;
repetir 3 veces gira-izquierda;
repetir 3 veces avanza;
mientras algun-zumbador-en-la-mochila hacer deja-zumbador;
fin;
si ningun-zumbador-en-la-mochila entonces
inicio
repetir 2 veces gira-izquierda;
mientras frente-libre hacer avanza;
fin;
fin;
define-nueva-instruccion tor como
inicio
mientras frente-libre hacer
inicio
mientras junto-a-zumbador y frente-libre hacer avanza;
mientras no-junto-a-zumbador y frente-libre hacer avanza;
mientras junto-a-zumbador y frente-libre hacer
inicio
mientras junto-a-zumbador hacer coge-zumbador;
repetir 2 veces gira-izquierda;
mientras frente-libre y no-junto-a-zumbador hacer avanza;
repetir 2 veces gira-izquierda;
si junto-a-zumbador entonces avanza;
mientras algun-zumbador-en-la-mochila hacer deja-zumbador;
si frente-libre entonces avanza;
fin;
si frente-bloqueado entonces
inicio
repetir 2 veces gira-izquierda;
avanza;
si no-junto-a-zumbador entonces
inicio
repetir 2 veces gira-izquierda;
avanza;
si junto-a-zumbador entonces
inicio
mientras junto-a-zumbador hacer coge-zumbador;
repetir 2 veces gira-izquierda;
mientras frente-libre y no-junto-a-zumbador hacer avanza;
repetir 2 veces gira-izquierda;
si junto-a-zumbador entonces avanza;
mientras algun-zumbador-en-la-mochila hacer deja-zumbador;
si frente-libre entonces avanza;
fin
sino
inicio
apagate;
fin;
fin
sino
inicio
apagate;
fin;
fin;
fin;
fin;
define-nueva-instruccion recorre como
inicio
mientras no-orientado-al-sur hacer gira-izquierda;
mientras frente-libre hacer avanza;
gira-izquierda;
tor;
fin;
    inicia-ejecucion
    fase;
    recorre;
        apagate;
    termina-ejecucion
finalizar-programa

