iniciar-programa
define-nueva-instruccion a(t) como inicio
si junto-a-zumbador entonces inicio
coge-zumbador;
a(sucede(t));
fin
sino inicio

repetir t veces inicio

si frente-libre entonces  avanza;
fin;

 gira-izquierda; gira-izquierda;
 avanza;
      gira-izquierda; gira-izquierda;
    repetir 4 veces inicio

   gira-izquierda;
repetir t veces inicio
 si no-junto-a-zumbador entonces
 si algun-zumbador-en-la-mochila entonces deja-zumbador;
si frente-libre entonces  inicio
avanza;
gira-izquierda;
si frente-libre entonces avanza;
gira-izquierda; gira-izquierda; gira-izquierda;
fin;
fin;
    si frente-libre entonces inicio
gira-izquierda; gira-izquierda; gira-izquierda;
si frente-libre entonces  avanza;
       gira-izquierda; gira-izquierda; gira-izquierda;
      si frente-libre entonces avanza;
           gira-izquierda; gira-izquierda;
           fin
           sino inicio
           si frente-bloqueado y no-junto-a-zumbador entonces inicio
           gira-izquierda;
           gira-izquierda;
           avanza;
           gira-izquierda;
           avanza;
           gira-izquierda;
           fin;
         fin;
       fin;

          fin;
          fin;


    inicia-ejecucion
    mientras no-orientado-al-norte hacer gira-izquierda;
    a(1);
        apagate;
    termina-ejecucion
finalizar-programa

