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

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

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

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

define-nueva-instruccion camina como
inicio
   si junto-a-zumbador entonces
     inicio
        coge-zumbador;
        si junto-a-zumbador entonces
          inicio
             deja-zumbador;
          fin
        sino
          inicio
             apagate;
          fin;
     fin
   sino
     inicio
        deja-zumbador;
        deja-zumbador;

        norte;
        si frente-libre entonces
          inicio
             avanza;
             camina;
             sur;
             avanza;
          fin;

        este;
        si frente-libre entonces
          inicio
             avanza;
             camina;
             oeste;
             avanza;
          fin;

          sur;
        si frente-libre entonces
          inicio
             avanza;
             camina;
             norte;
             avanza;
          fin;

        oeste;
        si frente-libre entonces
          inicio
             avanza;
             camina;
             este;
             avanza;
          fin;
     fin;
fin;
    inicia-ejecucion
     camina;
        apagate;
    termina-ejecucion
finalizar-programa
