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

define-nueva-instruccion ubicar1 como
 inicio
  norte;
  repetir 2 veces avanza;
  este;
  repetir 2 veces avanza;
 fin;

define-nueva-instruccion contar1 como
 inicio
  si frente-libre entonces
   inicio
    avanza;
    contar1;
    repetir 2 veces coge-zumbador;
   fin
    sino
     inicio
      ir11;
      este;
      repetir 4 veces avanza;
     fin;
 fin;

define-nueva-instruccion dejar1 como
 inicio
  ir11;
  avanza;
   mientras algun-zumbador-en-la-mochila hacer
    inicio
      deja-zumbador;
      avanza;
    fin;
 fin;

define-nueva-instruccion ubicar2 como
 inicio
  ir11;
  norte;
  repetir 5 veces avanza;
  este;
  repetir 2 veces avanza;
 fin;

define-nueva-instruccion contar2 como
 inicio
  si frente-libre entonces
   inicio
    avanza;
    contar2;
    repetir 3 veces coge-zumbador;
   fin
    sino
     inicio
      ir11;
      este;
      repetir 4 veces avanza;
     fin;
 fin;

define-nueva-instruccion dejar2 como
 inicio
  ir11;
  avanza;
   mientras algun-zumbador-en-la-mochila hacer
    inicio
      deja-zumbador;
      avanza;
    fin;
 fin;

define-nueva-instruccion recoger como
 inicio
  mientras junto-a-zumbador hacer avanza;
  sur;
  avanza;
   mientras junto-a-zumbador hacer
    inicio
     coge-zumbador;
     avanza;
    fin;
     mientras algun-zumbador-en-la-mochila hacer deja-zumbador;
 fin;
    inicia-ejecucion
     ubicar1;
     contar1;
     dejar1;
     ubicar2;
     contar2;
     dejar2;
     recoger;
        apagate;
    termina-ejecucion
finalizar-programa
