iniciar-programa
define-nueva-instruccion norte como mientras no orientado-al-norte hacer gira-izquierda;
define-nueva-instruccion sur   como mientras no orientado-al-sur   hacer gira-izquierda;
define-nueva-instruccion este  como mientras no orientado-al-este  hacer gira-izquierda;
define-nueva-instruccion oeste como mientras no orientado-al-oeste hacer gira-izquierda;

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

define-nueva-instruccion quita1 como
  inicio
   mientras no orientado-al-sur hacer
     inicio
       si junto-a-zumbador entonces coge-zumbador;
       si frente-libre entonces avanza
         sino
           inicio
             repetir 2 veces gira-izquierda;
             mientras frente-libre hacer avanza;
             norte;
             si frente-libre entonces
               inicio
                avanza;
                este;
               fin sino
                 inicio
                   sur;
                 fin;
           fin;
     fin;
  fin;

define-nueva-instruccion checa como
 inicio
   ir11;
     mientras junto-a-zumbador hacer
       inicio
         si frente-libre entonces avanza
          sino
            inicio
             repetir 2 veces gira-izquierda;
             mientras frente-libre hacer avanza;
             norte;
             si frente-libre entonces
               inicio
                 avanza;
                 este;
               fin
               sino
                inicio
                 sal-de-instruccion;
                fin;
            fin;
       fin;
 fin;
    inicia-ejecucion
    mientras junto-a-zumbador hacer
      inicio
       ir11;
       quita1;
       checa;
      fin;
      repetir 100 veces deja-zumbador;
        apagate;
    termina-ejecucion
finalizar-programa
