iniciar-programa
    define-nueva-instruccion g(x) como inicio
    repetir x veces gira-izquierda;
    fin;
    define-nueva-instruccion a(x) como inicio
    mientras junto-a-zumbador hacer inicio
    si junto-a-zumbador entonces inicio
    repetir x veces coge-zumbador;
    si no-junto-a-zumbador entonces inicio
     repetir 100 veces deja-zumbador;
     apagate;
     fin;
    repetir x veces  deja-zumbador;
    fin;
    si junto-a-zumbador y frente-libre entonces avanza;
    si frente-bloqueado y derecha-libre  entonces inicio
     si junto-a-zumbador entonces inicio
    repetir x veces coge-zumbador;
    si no-junto-a-zumbador entonces inicio
     repetir 100 veces deja-zumbador;
     apagate;
     fin;
    repetir x veces  deja-zumbador;
    fin;
    g(3);
    si frente-libre entonces avanza;
    g(3);
    mientras frente-libre hacer avanza;
    g(2);
     fin;
     si derecha-bloqueada y frente-bloqueado entonces inicio
si junto-a-zumbador entonces inicio
    repetir x veces coge-zumbador;
    si no-junto-a-zumbador entonces inicio
     repetir 100 veces deja-zumbador;
     apagate;
     fin;
      repetir x veces  deja-zumbador;
    fin;
     g(3);
     g(3);
    mientras frente-libre hacer avanza;
    g(3);
    mientras frente-libre hacer avanza;
     g(3);
     a(sucede(x));
     fin;
    fin;
                      

    fin;
    inicia-ejecucion
        mientras no-orientado-al-sur hacer gira-izquierda;
        mientras frente-libre hacer avanza;
        g(3);
        mientras frente-libre hacer avanza;
         g(3);
        a(0);
        si no-junto-a-zumbador entonces inicio
        repetir 100 veces deja-zumbador;
        fin;


        apagate;
    termina-ejecucion
finalizar-programa
