iniciar-programa

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


    inicia-ejecucion

    esoeso;

        apagate;
    termina-ejecucion
finalizar-programa
