iniciar-programa
define-nueva-instruccion pasando como inicio
si algun-zumbador-en-la-mochila entonces inicio
mientras frente-libre hacer avanza;
si orientado-al-este entonces gira-izquierda;
mientras derecha-bloqueada hacer avanza;
si derecha-libre entonces repetir 3 veces gira-izquierda;
si frente-libre entonces avanza;
si derecha-libre entonces repetir 3 veces gira-izquierda;
si frente-libre entonces avanza;
mientras derecha-bloqueada y frente-libre hacer avanza;
si orientado-al-sur entonces gira-izquierda;
mientras junto-a-zumbador hacer avanza;
mientras algun-zumbador-en-la-mochila hacer deja-zumbador;
fin;
si no algun-zumbador-en-la-mochila entonces inicio
si junto-a-zumbador entonces gira-izquierda;
mientras izquierda-bloqueada hacer avanza;
si izquierda-libre entonces gira-izquierda;
si frente-libre entonces avanza;
si izquierda-libre entonces gira-izquierda;
si frente-libre entonces avanza;
mientras izquierda-bloqueada y frente-libre hacer avanza;
si orientado-al-sur entonces repetir 3 veces gira-izquierda;
mientras frente-libre hacer avanza;
si frente-bloqueado y junto-a-zumbador entonces repetir 3 veces gira-izquierda;
si junto-a-zumbador entonces avanza;
si orientado-al-oeste entonces repetir 2 veces gira-izquierda;
mientras izquierda-bloqueada y frente-libre hacer avanza;
mientras no junto-a-zumbador y derecha-bloqueada y frente-libre hacer avanza;
si no junto-a-zumbador y frente-bloqueado entonces apagate;
mientras junto-a-zumbador hacer coge-zumbador;

pasando;
fin;
fin;
    inicia-ejecucion
    si orientado-al-norte entonces repetir 3 veces gira-izquierda;
    si no junto-a-zumbador entonces avanza;
    mientras junto-a-zumbador hacer coge-zumbador;
    pasando;
        apagate;
    termina-ejecucion
finalizar-programa
