iniciar-programa

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


define-nueva-instruccion este como inicio
          mientras no-orientado-al-este hacer inicio
            gira-derecha;
          fin;
    fin;
define-nueva-instruccion norte como inicio
           mientras no-orientado-al-norte hacer inicio
               gira-derecha;
           fin;
fin;
define-nueva-instruccion oeste como inicio                       
           mientras no-orientado-al-oeste hacer inicio
               gira-derecha;
           fin;
fin;

  define-nueva-instruccion orienta como inicio
         mientras izquierda-libre hacer inicio
             gira-derecha;
         fin;
   fin;

   define-nueva-instruccion ajusta como inicio
      si frente-bloqueado entonces inicio
         gira-derecha;
      fin;
         avanza;
      si izquierda-libre entonces inicio
         gira-izquierda;
           avanza;
           si izquierda-libre entonces inicio
             gira-izquierda;
             avanza;
           fin;
      fin;
   fin;


 define-nueva-instruccion marcar como inicio
         mientras no-junto-a-zumbador hacer inicio
           deja-zumbador;
           ajusta;
         fin;
   fin;

define-nueva-instruccion checa-salida como inicio
      gira-derecha;
      mientras frente-libre hacer inicio
          avanza;
      fin;
      si junto-a-zumbador entonces inicio
          gira-izquierda;
          gira-izquierda;
          mientras frente-libre hacer inicio
              avanza;
          fin;
          gira-derecha;
      fin;
fin;
define-nueva-instruccion buscarsalida como inicio
     mientras junto-a-zumbador hacer inicio
         ajusta;
         checa-salida;
     fin;
fin;
define-nueva-instruccion ir11 como inicio
     si orientado-al-sur entonces inicio
     este;
           mientras frente-libre hacer inicio
            avanza;
           fin;
     fin;
         si orientado-al-este entonces inicio
           norte;
           mientras frente-libre hacer inicio
           avanza;
           fin;
        fin;
        si orientado-al-norte entonces inicio
          oeste;
          mientras frente-libre hacer inicio
          avanza;
          fin;
        fin;
        si orientado-al-oeste entonces inicio
          sur;
          mientras frente-libre hacer inicio
          avanza;
          fin;
        fin;
fin;
inicia-ejecucion
       orienta;
       marcar;
       buscarsalida;
       ir11;
       apagate;
    termina-ejecucion
finalizar-programa
