iniciar-programa
define-nueva-instruccion media-vuelta como
inicio
 repetir 2 veces
  gira-izquierda;
fin;
define-nueva-instruccion gira-derecha como
inicio
 repetir 3 veces
  gira-izquierda;
fin;
define-nueva-instruccion final como
inicio
 si junto-a-zumbador entonces
 inicio
  coge-zumbador;
  final;
  deja-zumbador;
 fin
 sino
 inicio
  mientras no-orientado-al-oeste hacer
   gira-izquierda;
  mientras frente-libre hacer
   avanza;
  gira-derecha;
  avanza;
  gira-izquierda;
  mientras frente-libre hacer
   avanza;
  gira-izquierda;
  mientras frente-libre hacer
   avanza;
  fin;
fin;
define-nueva-instruccion come como
inicio
 si junto-a-zumbador entonces
  inicio
   coge-zumbador;
   coge-zumbador;
   come;
   deja-zumbador;
  fin;
fin;
define-nueva-instruccion cuenta como
inicio
 repetir 4 veces
 inicio
  mientras junto-a-zumbador hacer
  inicio
  mientras junto-a-zumbador hacer
   coge-zumbador;
  avanza;
  fin;
  si no-junto-a-zumbador entonces
  inicio
   media-vuelta;
   mientras frente-libre hacer
    avanza;
   gira-izquierda;
   si frente-libre entonces
    avanza;
   gira-izquierda;
  fin;
 fin;
 gira-izquierda;
 mientras frente-libre hacer
  avanza;
 media-vuelta;
 mientras algun-zumbador-en-la-mochila hacer
  deja-zumbador;
 fin;
    inicia-ejecucion
     repetir 5 veces
      avanza;
     gira-derecha;
     avanza;
     gira-derecha;
     avanza;
     media-vuelta;
     cuenta;
     mientras frente-libre hacer
      avanza;
     gira-izquierda;
     avanza;
     gira-derecha;
     repetir 3 veces
      avanza;
     gira-derecha;
     avanza;
     media-vuelta;
      repetir 4 veces
 inicio
  mientras junto-a-zumbador hacer
  inicio
  mientras junto-a-zumbador hacer
   coge-zumbador;
  avanza;
  fin;
  si no-junto-a-zumbador entonces
  inicio
   media-vuelta;
   mientras frente-libre hacer
    avanza;
   gira-izquierda;
   si frente-libre entonces
    avanza;
   gira-izquierda;
  fin;
 fin;
 gira-izquierda;
 mientras frente-libre hacer
  avanza;
 media-vuelta;
 gira-izquierda;
 avanza;
 gira-izquierda;
 repetir 3 veces
  avanza;
 gira-izquierda;
 avanza;
 gira-derecha;
 mientras frente-libre hacer
  avanza;
 media-vuelta;
 avanza;
 mientras algun-zumbador-en-la-mochila hacer
  deja-zumbador;
 media-vuelta;
 mientras no-orientado-al-sur hacer
  inicio
   si junto-a-zumbador entonces
    inicio                              
     coge-zumbador;
     avanza;
     media-vuelta;
    fin
   sino
   inicio
    mientras no-orientado-al-sur hacer
     gira-izquierda;
    fin;
  fin;
  si derecha-libre entonces
   inicio
    gira-derecha;
    avanza;
    come;
   fin
   sino
   inicio
    gira-izquierda;
    avanza;
    deja-zumbador;
    come;
   fin;
   final;


        apagate;
    termina-ejecucion
finalizar-programa
