iniciar-programa
define-nueva-instruccion este como inicio
 mientras no orientado-al-este hacer
  gira-izquierda;
fin;

define-nueva-instruccion norte como inicio
 mientras no orientado-al-norte hacer
  gira-izquierda;
fin;

define-nueva-instruccion sur como inicio
 mientras no orientado-al-sur hacer
  gira-izquierda;
fin;

define-nueva-instruccion oeste como inicio
 mientras no orientado-al-oeste hacer
  gira-izquierda;
fin;

define-nueva-instruccion ubicate como inicio
oeste;
mientras frente-libre hacer
avanza;
norte;
mientras frente-libre hacer
avanza;
si derecha-bloqueada y izquierda-bloqueada entonces inicio
sur;
si junto-a-zumbador entonces inicio
avanza;
deja-zumbador;
este;
si frente-libre entonces
avanza;
norte;
mientras frente-libre hacer
avanza;
sal-de-instruccion;
fin;
avanza;
si izquierda-libre entonces inicio
norte;
avanza;
sal-de-instruccion;
fin;
si izquierda-bloqueada entonces
apagate;
fin;

   fin;

   define-nueva-instruccion cierra como inicio
   este;
   mientras frente-libre hacer
   avanza;
   sur;
   si frente-libre entonces
   avanza;
   si no junto-a-zumbador entonces
   deja-zumbador;
  norte;
  mientras frente-libre hacer
  avanza;
  oeste;
  mientras frente-libre hacer
  avanza;
  sur;
  si frente-libre entonces
  avanza;
  este;

  mientras no junto-a-zumbador y frente-libre hacer inicio
  deja-zumbador;
  avanza;
  fin;
  si frente-bloqueado entonces inicio
  apagate
  fin;
  si frente-libre entonces
  avanza;
  norte;
  mientras frente-libre hacer
  avanza;
  este;
  fin;

  define-nueva-instruccion busca como inicio
  si junto-a-zumbador entonces inicio
  cierra;
  fin;
  este;
  mientras frente-libre y no junto-a-zumbador hacer inicio
  avanza;
  si junto-a-zumbador entonces inicio
  cierra;
  fin;
  si frente-bloqueado y no junto-a-zumbador entonces inicio
  sur;
  avanza;
  si izquierda-bloqueada entonces
  apagate;
    si derecha-libre entonces
  este;
  si frente-libre entonces avanza;
  norte;
  mientras frente-libre hacer
  avanza;

   fin;
  fin;

si frente-bloqueado y no junto-a-zumbador entonces inicio
sur;
si frente-libre entonces
avanza;
este;
si frente-bloqueado entonces
apagate;
si frente-libre entonces
avanza;
norte;
si frente-libre entonces
avanza;
fin;
  busca;
fin;



   inicia-ejecucion
     ubicate;
       busca;
    apagate;
    termina-ejecucion
finalizar-programa
