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;
 fin;

define-nueva-instruccion buscar como
 inicio
  ir11;
  este;
  mientras no junto-a-zumbador y frente-libre hacer avanza;
 fin;

define-nueva-instruccion recoger como
 inicio
  si junto-a-zumbador  entonces
   inicio
    coge-zumbador;
    recoger;
   si frente-libre entonces avanza;
   fin
    sino
     inicio
      ir11;
      norte;

     fin;
 fin;

define-nueva-instruccion contar como
 inicio
  mientras frente-libre hacer
   inicio
    mientras no junto-a-zumbador y frente-libre hacer avanza;
     si junto-a-zumbador entonces
      inicio
       coge-zumbador;
       avanza;
       contar;
       deja-zumbador;
      fin;
   fin;
 fin;
    inicia-ejecucion
     mientras frente-libre o junto-a-zumbador hacer
      inicio
       buscar;
      si junto-a-zumbador entonces
       inicio
         recoger;
         deja-zumbador;
       fin;
      fin;
      ir11;
      norte;
      mientras frente-libre hacer avanza;
      sur;
      contar;
        apagate;
    termina-ejecucion
finalizar-programa
