iniciar-programa
    define-nueva-instruccion gira (n) como repetir n veces gira-izquierda;
    define-nueva-instruccion cuenta (n) como
       si algun-zumbador-en-la-mochila
          entonces
             inicio
                deja-zumbador;
                avanza;
                cuenta(sucede (n))
             fin
       sino
          inicio
                 inicio
                    gira (2);
                    mientras frente-libre
                    hacer inicio
                             avanza;
                             coge-zumbador
                          fin
                 fin;
             gira (2);
             repetir n veces avanza;
             repetir n veces avanza;
             repetir n veces avanza;
             repetir n veces si frente-bloqueado y algun-zumbador-en-la-mochila entonces
             inicio
                gira (2);
                mientras frente-libre hacer  inicio
                   si junto-a-zumbador entonces
                      mientras junto-a-zumbador hacer
                         coge-zumbador;
                    avanza  fin; gira (1); repetir 7 veces avanza;
                    mientras junto-a-zumbador hacer
                    inicio
                       mientras junto-a-zumbador hacer coge-zumbador; avanza
                    fin;
                    gira (2);
                    avanza;
                    (*hueva*)
                    repetir 55 veces deja-zumbador;
                    avanza;
                    repetir 34 veces deja-zumbador;
                    avanza;
                    repetir 26 veces deja-zumbador;
                    avanza;
                    repetir 21 veces deja-zumbador;
                    avanza;
                    repetir 19 veces deja-zumbador;
                    avanza;
                    repetir 17 veces deja-zumbador;
                    avanza;
                    repetir 14 veces deja-zumbador;
                    avanza;
                    repetir 11 veces deja-zumbador;
                    avanza;
                    repetir 10 veces deja-zumbador;
                    avanza;
                    repetir 8 veces deja-zumbador;
                    avanza;
                    repetir 8 veces deja-zumbador;
                    avanza;
                    repetir 8 veces deja-zumbador;
                    avanza;
                    repetir 7 veces deja-zumbador;
                    avanza;
                    repetir 6 veces deja-zumbador;
                    avanza;
                    repetir 5 veces deja-zumbador;
                    avanza;
                    repetir 4 veces deja-zumbador;
                    avanza;
                    repetir 4 veces deja-zumbador;
                    avanza;
                    repetir 3 veces deja-zumbador;
                    avanza;
                    repetir 3 veces deja-zumbador;
                    avanza;
                    repetir 3 veces deja-zumbador;
                    avanza;
                    repetir 3 veces deja-zumbador;
                    avanza;
                    repetir 2 veces deja-zumbador;
                    avanza;
                    repetir 1 veces deja-zumbador;
                    avanza;
                    repetir 1 veces deja-zumbador;
                    avanza;
                    repetir 1 veces deja-zumbador;
                    avanza;
                    repetir 1 veces deja-zumbador;
                    avanza;
                    repetir 1 veces deja-zumbador;
                    avanza;



                    apagate;
             fin sino avanza;





             si no-junto-a-zumbador entonces
             mientras algun-zumbador-en-la-mochila hacer
                   deja-zumbador
             sino mientras junto-a-zumbador hacer

                   avanza; mientras algun-zumbador-en-la-mochila hacer
                   deja-zumbador;

             gira (2);
             mientras frente-libre
                hacer avanza;
             gira (1);
             avanza
          fin;
    inicia-ejecucion
    mientras no orientado-al-norte
       hacer gira-izquierda;
    mientras junto-a-zumbador
       hacer coge-zumbador;
    mientras frente-libre
       hacer avanza;
    gira (3);
    avanza;
    gira (3);
    mientras algun-zumbador-en-la-mochila
       hacer deja-zumbador;
    mientras frente-libre
       hacer avanza;
    gira (3);
    avanza;
    gira (2);
    (*inicio*)
    mientras no (frente-bloqueado y orientado-al-este)
       hacer inicio
                mientras no-junto-a-zumbador hacer
                   si frente-libre
                      entonces avanza
                   sino (*finalizar*)
                      inicio
                         gira (2);
                         mientras frente-libre hacer
                            avanza;

                         gira (3);
                         repetir 100 veces inicio
                         mientras no junto-a-zumbador hacer
                            si frente-libre entonces avanza sino apagate;
                         mientras junto-a-zumbador hacer
                            coge-zumbador;
                         gira (2);
                         mientras frente-libre hacer
                            avanza;
                         gira-izquierda;
                         repetir 2 veces avanza;
                         si no-junto-a-zumbador
                            entonces  inicio mientras algun-zumbador-en-la-mochila hacer
                               deja-zumbador;
                            gira (2);
                            mientras frente-libre hacer
                               avanza;
                            gira (3) fin
                         sino mientras junto-a-zumbador hacer
                            si frente-bloqueado entonces
                               inicio
                                  mientras algun-zumbador-en-la-mochila hacer
                                     deja-zumbador;
                                     apagate
                               fin
                            sino
                              inicio
                                 mientras junto-a-zumbador hacer
                                    avanza;
                                 mientras algun-zumbador-en-la-mochila hacer
                               deja-zumbador;
                            gira (2);
                            mientras frente-libre hacer
                               avanza;
                            gira (3) fin





                      fin;  fin;
                mientras junto-a-zumbador
                   hacer coge-zumbador;
                gira (2);
                mientras frente-libre
                   hacer avanza;
                gira (3);
    (*recurse*)
                cuenta (0)
             fin








    termina-ejecucion
finalizar-programa

 