iniciar-programa
    define-nueva-instruccion orientate-norte como mientras no-orientado-al-norte hacer gira-izquierda;
    define-nueva-instruccion orientate-sur como mientras no-orientado-al-sur hacer gira-izquierda;
    define-nueva-instruccion orientate-este como mientras no-orientado-al-este hacer gira-izquierda;
    define-nueva-instruccion orientate-oeste como mientras no-orientado-al-oeste hacer gira-izquierda;
    define-nueva-instruccion haz(num) como inicio
        orientate-norte;
        repetir num veces avanza;
        deja-zumbador;
        repetir num veces inicio
            orientate-este;
            avanza;
            orientate-sur;
            avanza;
            deja-zumbador;
        fin;
        repetir num veces inicio
            orientate-oeste;
            avanza;
            orientate-sur;
            avanza;
            deja-zumbador;
        fin;
        repetir num veces inicio
            orientate-oeste;
            avanza;
            orientate-norte;
            avanza;
            deja-zumbador;
        fin;
        repetir num veces inicio
            orientate-este;
            avanza;
            orientate-norte; 
            avanza;
            si no junto-a-zumbador entonces deja-zumbador;
        fin;
    fin;
    define-nueva-instruccion coge-y-cuenta(num) como inicio
        si junto-a-zumbador entonces inicio
            coge-zumbador;
            coge-y-cuenta(sucede(num));
        fin
        sino haz(num);
    fin;
    inicia-ejecucion
        inicio
            coge-y-cuenta(0);
            apagate;
        fin;
    termina-ejecucion
finalizar-programa
