iniciar-programa
define-nueva-instruccion norte como inicio
   mientras no-orientado-al-norte 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 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 orilla 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 bajo como inicio
     orilla;
     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
       orilla;
       mitad;
       deja-zumbador;
       bajo;
     fin;
        apagate;
    termina-ejecucion
finalizar-programa
