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


