iniciar-programa

define-nueva-instruccion despacha como

inicio

si algun-zumbador-en-la-mochila entonces
     INICIO
     mientras no-junto-a-zumbador y frente-libre hacer
     avanza;
     si junto-a-zumbador entonces
    inicio
       coge-zumbador;
       gira-izquierda;
       avanza;
       deja-zumbador;
       deja-zumbador;
       gira-izquierda;
       gira-izquierda;
       avanza;
         gira-izquierda;
       despacha;
    fin;
     FIN;

 si ningun-zumbador-en-la-mochila entonces
 inicio
   mientras no-junto-a-zumbador hacer
  si frente-libre entonces
  inicio
  avanza;
  fin

  sino
  apagate;
   mientras junto-a-zumbador hacer
   coge-zumbador;

   gira-izquierda;
   gira-izquierda;

   mientras frente-libre hacer
   avanza;

    gira-izquierda;
   gira-izquierda;

   mientras junto-a-zumbador hacer
   avanza;

   mientras algun-zumbador-en-la-mochila hacer
   deja-zumbador;

  si frente-libre entonces
   inicio avanza;  fin

   sino apagate;

  despacha;
 fin;

fin;
    inicia-ejecucion
      despacha;

        apagate;
    termina-ejecucion
finalizar-programa
