iniciar-programa
        define-nueva-instruccion iz como gira-izquierda;
        define-nueva-instruccion md como repetir 2 veces gira-izquierda;
        define-nueva-instruccion gd como repetir 3 veces gira-izquierda;
        define-nueva-instruccion fi(aux) como inicio
            si orientado-al-norte entonces inicio
                gd;
                avanza;
            fin;
            mientras junto-a-zumbador hacer inicio
                coge-zumbador;
                fi(sucede(aux));
            fin;
            md;
            avanza;
            repetir aux veces coge-zumbador;
            apagate;
        fin;
        define-nueva-instruccion man(m) como inicio
              repetir m veces inicio
                      deja-zumbador;
              fin;
            si si-es-cero (m) entonces fi(0);
            man(precede(m));

        fin;
        define-nueva-instruccion co (n) como inicio
                mientras junto-a-zumbador hacer inicio
                    coge-zumbador;
                    co(sucede(n));
                fin;
                repetir n veces inicio
                        man(n);
                fin;
        fin;
    inicia-ejecucion
    si orientado-al-sur entonces md;
        si orientado-al-este entonces iz;
            si orientado-al-oeste entonces gd;
    si junto-a-zumbador entonces co(0);

        apagate;
    termina-ejecucion
finalizar-programa
