iniciar-programa
    define-nueva-instruccion este como inicio
        mientras no-orientado-al-este hacer inicio
            gira-izquierda;
        fin;
    fin;
     define-nueva-instruccion oeste como inicio
        mientras no-orientado-al-oeste hacer inicio
            gira-izquierda;
        fin;
    fin;

   define-nueva-instruccion tomaryejecuta(r) como inicio
       si junto-a-zumbador entonces inicio
           coge-zumbador;
               tomaryejecuta(sucede(r));
       fin sino inicio
           este;
               repetir r veces inicio
               deja-zumbador;
               fin;
               repetir r veces inicio
                   avanza;
               fin;
        fin;
    fin;

    define-nueva-instruccion dejar (n) como inicio
        si junto-a-zumbador entonces inicio
            tomaryejecuta(0);
                dejar(sucede(n));
        fin sino inicio
            deja-zumbador;
            repetir n veces inicio
            deja-zumbador;
            fin;
        fin;
     fin;
         inicia-ejecucion
        este;
        dejar(0);
        apagate;
    termina-ejecucion
finalizar-programa
