iniciar-programa
    define-nueva-instruccion gira(x) como inicio
    repetir x veces inicio
    gira-izquierda;
    fin;
    fin;
    inicia-ejecucion
    si ningun-zumbador-en-la-mochila entonces inicio
    apagate;
    fin;
             gira(3);
             deja-zumbador;
            mientras frente-libre y algun-zumbador-en-la-mochila hacer inicio
            mientras frente-libre y junto-a-zumbador hacer inicio
            deja-zumbador;
            avanza;
            fin;
            mientras no-junto-a-zumbador y algun-zumbador-en-la-mochila hacer inicio
            deja-zumbador;
            fin;
gira(2);

            mientras frente-libre y orientado-al-oeste hacer inicio
            avanza;
            fin;
            mientras frente-bloqueado y orientado-al-oeste hacer inicio
            gira(2);
            fin;
            fin;
            gira(1);
            mientras junto-a-zumbador y orientado-al-norte  hacer inicio
            mientras junto-a-zumbador hacer inicio
            coge-zumbador;
            fin;
            mientras frente-libre y algun-zumbador-en-la-mochila hacer inicio
            deja-zumbador;
            avanza;
            fin;

            gira(2);
            si algun-zumbador-en-la-mochila entonces inicio
            deja-zumbador;
            fin;
            mientras orientado-al-norte y frente-bloqueado hacer inicio
                       gira(2);
                       fin;
                       mientras frente-libre y orientado-al-sur hacer inicio
                       avanza;
                       fin;
                       mientras izquierda-libre y frente-bloqueado hacer inicio
                       gira(1);
                       avanza;
                       gira(1);
                       fin;
                       fin;



        apagate;
    termina-ejecucion
finalizar-programa
