iniciar-programa
define-nueva-instruccion busca (z) como inicio
    si no-junto-a-zumbador entonces inicio
        avanza;
        busca (z);
    fin sino inicio
        coge-zumbador;
        si junto-a-zumbador entonces inicio
            coge-zumbador;
            busca (sucede(z));
        fin sino inicio
            deja-zumbador;
            repetir 2 veces gira-izquierda;
            avanza;
            gira-izquierda;
            si no-orientado-al-este entonces inicio
                busca (z);
            fin sino inicio
                repetir 3 veces gira-izquierda;
                repetir 2 veces avanza;
                gira-izquierda;
                repetir 2 veces avanza;
                si frente-libre entonces  avanza;
                    si junto-a-zumbador entonces inicio
                        coge-zumbador;
                si junto-a-zumbador entonces inicio
                   deja-zumbador;
                   repetir 2 veces gira-izquierda;
                   avanza;
                   repetir 2 veces gira-izquierda;
                   busca (z);
                fin sino inicio
                    deja-zumbador;
                    repetir 2 veces gira-izquierda;
                    avanza;
                    gira-izquierda;
                    avanza;
                        si junto-a-zumbador entonces inicio
                            repetir 2 veces gira-izquierda;
                            avanza;
                            si junto-a-zumbador entonces inicio
                                coge-zumbador;
                                repetir z veces deja-zumbador;
                                apagate;
                            fin sino inicio
                                repetir z veces deja-zumbador;
                                apagate;
                            fin;
                        fin sino inicio
                            repetir 2 veces gira-izquierda;
                            avanza;
                            repetir 3 veces gira-izquierda;
                            busca (z);
                        fin;
                        fin;
            fin sino inicio
                   repetir 2 veces gira-izquierda;
                   avanza;
                   repetir 2 veces gira-izquierda;
                   busca (z);
            fin;
            fin;
        fin;
    fin;
fin;
    inicia-ejecucion
    si frente-libre entonces  avanza;
        si junto-a-zumbador entonces inicio
            coge-zumbador;
            si junto-a-zumbador entonces inicio
               deja-zumbador;
               repetir 2 veces gira-izquierda;
               avanza;
               repetir 2 veces gira-izquierda;
               busca (0);
            fin sino inicio
                deja-zumbador;
                repetir 2 veces gira-izquierda;
                avanza;
                gira-izquierda;
                avanza;
                    si junto-a-zumbador entonces inicio
                        repetir 2 veces gira-izquierda;
                        avanza;
                        si junto-a-zumbador entonces inicio
                            coge-zumbador;
                            apagate;
                        fin sino inicio
                            apagate;
                        fin;
                    fin sino inicio
                        repetir 2 veces gira-izquierda;
                        avanza;
                        repetir 3 veces gira-izquierda;
                        busca (0);
                    fin;
            fin;
        fin sino inicio
               repetir 2 veces gira-izquierda;
               avanza;
               repetir 2 veces gira-izquierda;
               busca (0);
        fin;
        apagate;
    termina-ejecucion
finalizar-programa
