iniciar-programa
define-nueva-instruccion g-d como inicio
    repetir 3 veces gira-izquierda;
   fin;

     define-nueva-instruccion mide(x) como inicio
         si frente-libre y derecha-bloqueada entonces inicio
         avanza;
         mide(sucede(x));
         fin;
        si derecha-libre y frente-libre y no orientado-al-oeste entonces inicio
        g-d;
        avanza;
        avanza;
        mide(sucede(x));
       fin;
        si derecha-libre y frente-bloqueado entonces inicio
        mientras no orientado-al-sur hacer gira-izquierda;
        mientras frente-libre hacer avanza;
        si frente-bloqueado entonces inicio
            repetir x veces deja-zumbador;
            apagate;
          fin;
        fin;
     fin;
    inicia-ejecucion
    mientras no orientado-al-norte hacer gira-izquierda;
    mientras frente-libre y derecha-libre hacer avanza;
    mide(0);
        apagate;
    termina-ejecucion
finalizar-programa                    
