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 irderecha como inicio
    este;
    mientras frente-libre hacer inicio
       avanza;
    fin;
    oeste;
 fin;

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

 define-nueva-instruccion bajar como inicio
    irderecha;
    mientras izquierda-bloqueada y frente-libre hacer inicio
       avanza;
    fin;
    sur;
    si frente-libre entonces inicio
       avanza;
    fin
    sino inicio
       norte;
    fin;
 fin;
 
    inicia-ejecucion
     mientras no-orientado-al-norte hacer inicio
        irderecha;
        mitad;
        deja-zumbador;
        bajar;
     fin;
        apagate;
    termina-ejecucion
finalizar-programa
