iniciar-programa
define-nueva-instruccion voltea como inicio
gira-izquierda;
gira-izquierda;
fin;
define-nueva-instruccion gira-derecha como inicio
gira-izquierda;
gira-izquierda;
gira-izquierda;
fin;
define-nueva-instruccion este como inicio
mientras no orientado-al-este hacer inicio
mientras orientado-al-norte hacer gira-derecha;
 mientras orientado-al-sur hacer gira-izquierda;
 mientras orientado-al-oeste hacer voltea;
fin;
fin;
define-nueva-instruccion oeste como inicio
mientras no orientado-al-oeste hacer inicio
mientras orientado-al-sur hacer gira-derecha;
 mientras orientado-al-norte hacer gira-izquierda;
 mientras orientado-al-este hacer voltea;
fin;
fin;
define-nueva-instruccion norte como inicio
mientras no orientado-al-norte hacer inicio
mientras orientado-al-sur hacer voltea;
 mientras orientado-al-oeste hacer gira-derecha;
 mientras orientado-al-este hacer gira-izquierda;
fin;
fin;
define-nueva-instruccion sur como inicio
mientras no orientado-al-sur hacer inicio
mientras orientado-al-norte hacer voltea;
 mientras orientado-al-este hacer gira-izquierda;
 mientras orientado-al-oeste hacer gira-derecha;
fin;
fin;
   inicia-ejecucion
   mientras no junto-a-zumbador  hacer inicio
   este;
    mientras no-junto-a-zumbador y frente-libre hacer avanza;
    mientras junto-a-zumbador hacer coge-zumbador;
   mientras frente-libre hacer avanza;
   si ningun-zumbador-en-la-mochila entonces apagate;
   norte;
  mientras derecha-bloqueada hacer inicio
  avanza;
  fin;
  gira-derecha;
  avanza;
  gira-derecha;
  avanza;
   mientras frente-libre hacer avanza;
   este;
   mientras algun-zumbador-en-la-mochila hacer inicio
   si no-junto-a-zumbador entonces inicio
   mientras algun-zumbador-en-la-mochila hacer deja-zumbador;
   fin
   sino inicio
   avanza;
   fin;
   fin;
   oeste;
   mientras frente-libre hacer avanza;
   norte;
    mientras izquierda-bloqueada hacer inicio
  avanza;
  fin;
  gira-izquierda;
  avanza;
  gira-izquierda;
  avanza;
   mientras frente-libre hacer avanza;
   oeste;
   mientras frente-libre hacer avanza;
   este;
   fin;
   apagate;
    termina-ejecucion
finalizar-programa
