iniciar-programa
 define-nueva-instruccion gira(vueltas) como repetir vueltas veces gira-izquierda;
 define-nueva-instruccion busca(numeros) como inicio
    mientras no-junto-a-zumbador y frente-libre hacer avanza;
    si junto-a-zumbador entonces inicio
      coge-zumbador;
     si no-junto-a-zumbador entonces inicio
       si frente-libre entonces avanza;
         busca(numeros);
     fin;
       si junto-a-zumbador entonces inicio
       coge-zumbador;
         busca(sucede(numeros));
        si no-junto-a-zumbador entonces inicio
           si frente-libre entonces avanza;
         fin;
         si junto-a-zumbador entonces busca(numeros);
       fin;
    fin;
    si frente-bloqueado y derecha-libre entonces inicio
      gira(2);
      mientras frente-libre hacer avanza;
      gira(1);
      avanza;
      gira(1);
      busca(numeros);
    fin;
    si frente-bloqueado y derecha-bloqueada entonces inicio
     gira(2);
     mientras frente-libre hacer avanza;
     gira(3);
     mientras frente-libre hacer avanza;
     gira(2);
     avanza;
     repetir numeros veces deja-zumbador;
     repetir numeros veces deja-zumbador;
     gira(2);
     avanza;
     gira(3);
     mientras algun-zumbador-en-la-mochila hacer inicio
     deja-zumbador;
     si frente-libre entonces avanza;
     fin;
     gira(2);
     mientras frente-libre hacer avanza;
     gira(1);
     avanza;
     mientras junto-a-zumbador hacer coge-zumbador;
     gira(1);
      mientras algun-zumbador-en-la-mochila hacer inicio
     repetir 2 veces deja-zumbador;
     si frente-libre entonces avanza;
     fin;
     apagate;
     fin;
     fin;
     inicia-ejecucion
     busca(0);
        apagate;
    termina-ejecucion
finalizar-programa
