iniciar-programa

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


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

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

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


define-nueva-instruccion irizq como inicio
  oeste;
  mientras frente-libre hacer inicio
     avanza;
  fin;
  este;
fin;

define-nueva-instruccion mitad como inicio
  si frente-libre entonces inicio
       avanza;
       avanza;
       mitad;
       avanza;
     fin sino inicio
       gira-izquierda;
       gira-izquierda;
        fin;
fin;


define-nueva-instruccion bajar como inicio
  irizq;
  mientras frente-libre y derecha-bloqueada hacer inicio
     avanza;
   fin;
   si derecha-libre entonces inicio
      sur;
      avanza;
      fin sino inicio
      norte;
      fin;
fin;



 inicia-ejecucion
    mientras no-orientado-al-norte hacer inicio
       irizq;
       mitad;
       deja-zumbador;
       bajar;
       fin;
        apagate;
    termina-ejecucion
finalizar-programa
