iniciar-programa
define-nueva-instruccion gira-derecha como
repetir 3 veces gira-izquierda;
    inicia-ejecucion
   mientras no-orientado-al-este hacer inicio
       gira-izquierda;
       fin;
   mientras no-orientado-al-sur hacer inicio
   mientras no-junto-a-zumbador hacer inicio
       si frente-bloqueado entonces
       apagate;
       avanza;
   fin;
   mientras junto-a-zumbador hacer inicio
       coge-zumbador;
       fin;
   mientras frente-libre hacer inicio
       avanza
       fin;
   gira-izquierda;
   mientras derecha-bloqueada hacer inicio
       avanza;
       fin;
   gira-derecha;
   avanza;
   gira-derecha;
   avanza;
   mientras derecha-bloqueada y frente-libre hacer inicio
       avanza;
       fin;
       gira-izquierda;

mientras junto-a-zumbador hacer inicio
avanza;
fin;




   mientras algun-zumbador-en-la-mochila hacer inicio
       deja-zumbador;
       fin;
       repetir 2 veces gira-izquierda;
  mientras izquierda-bloqueada y frente-libre hacer inicio
      avanza;
      fin;

      mientras frente-bloqueado hacer inicio
          gira-derecha;
          fin;




   mientras izquierda-bloqueada hacer inicio
       avanza;
       fin;
   gira-izquierda;
   mientras frente-libre hacer inicio
       avanza;
       fin;
   gira-izquierda;
   mientras frente-libre hacer inicio
       avanza;
       fin;
   gira-izquierda;
   fin;




   apagate;
   termina-ejecucion
   finalizar-programa
