iniciar-programa
define-nueva-instruccion gira (n) como inicio
 repetir n veces inicio
      gira-izquierda;
   fin;
fin;
define-nueva-instruccion dejar1 como inicio
mientras frente-libre hacer inicio
si junto-a-zumbador y orientado-al-norte entonces inicio
avanza;
fin;
si orientado-al-sur entonces inicio
gira (1);
avanza;
gira (3);
avanza;
fin;
deja-zumbador;
si frente-bloqueado entonces inicio
sal-de-instruccion;
fin;
gira (3);
avanza;
gira (3);
avanza;
deja-zumbador;
fin;
fin;
define-nueva-instruccion vuelta como inicio
deja-zumbador;
gira (3);
avanza;
gira (3);
avanza;
deja-zumbador;
fin;

define-nueva-instruccion dejar2 como inicio
 mientras frente-libre o orientado-al-norte hacer inicio
si orientado-al-norte entonces inicio
vuelta;
fin;

gira (1);
avanza;
gira (3);
avanza;
deja-zumbador;


si frente-bloqueado entonces inicio
sal-de-instruccion;
fin;
fin;
fin;


    inicia-ejecucion
    si algun-zumbador-en-la-mochila entonces inicio
    deja-zumbador;
    fin;

   si algun-zumbador-en-la-mochila entonces inicio
    dejar1;
    fin;
    mientras algun-zumbador-en-la-mochila hacer inicio
    dejar2;
    si orientado-al-sur entonces inicio
    gira (3);
    mientras frente-libre hacer inicio
    avanza;
    fin;
    fin;
    si orientado-al-oeste entonces inicio
    gira (3);
    mientras junto-a-zumbador y frente-libre hacer inicio
    avanza;
    fin;
    fin;
    fin;

        apagate;
    termina-ejecucion
finalizar-programa
