iniciar-programa



define-nueva-instruccion oeste como inicio
deja-zumbador;
gira-izquierda;
gira-izquierda;
gira-izquierda;
    si ningun-zumbador-en-la-mochila entonces inicio
apagate;
fin;
avanza;
gira-izquierda;
gira-izquierda;
gira-izquierda;
si ningun-zumbador-en-la-mochila entonces inicio
apagate;
fin;
deja-zumbador;


mientras frente-libre y orientado-al-este y derecha-libre hacer inicio
avanza;
gira-izquierda;
gira-izquierda;
gira-izquierda;
avanza;
deja-zumbador;
gira-izquierda;

fin;
fin;


define-nueva-instruccion corre como inicio


fin;
    inicia-ejecucion

    si ningun-zumbador-en-la-mochila entonces inicio
apagate;
fin;

gira-izquierda;
gira-izquierda;
gira-izquierda;
deja-zumbador;
avanza;

repetir 1000 veces inicio

si ningun-zumbador-en-la-mochila entonces inicio
apagate;
fin;



si orientado-al-este y junto-a-zumbador entonces inicio
avanzA;
gira-izquierda;
fin;


si orientado-al-este y no-junto-a-zumbador entonces inicio
gira-izquierda;
fin;



mientras algun-zumbador-en-la-mochila y no junto-a-zumbador hacer inicio
deja-zumbador;



mientras frente-libre y orientado-al-norte y algun-zumbador-en-la-mochila hacer inicio
avanza;
gira-izquierda;
avanza;
si frente-bloqueado entonces inicio
oeste;
fin
sino inicio
deja-zumbador;
gira-izquierda;
gira-izquierda;
gira-izquierda;
fin;
fin;



fin;



fin;


        apagate;
    termina-ejecucion
finalizar-programa
