iniciar-programa
    define-nueva-instruccion media-vuelta como repetir 2 veces gira-izquierda;
    define-nueva-instruccion gira-derecha como repetir 3 veces gira-izquierda;

    define-nueva-instruccion c(n) como inicio
    mientras frente-libre y (derecha-libre o izquierda-libre) hacer inicio
    avanza;
    fin;

    Si derecha-bloqueada y izquierda-bloqueada entonces inicio
    Avanza;
    C(sucede(n));
    fin;

    Si frente-bloqueado entonces inicio
    mientras no orientado-al-oeste hacer gira-izquierda;
    mientras frente-libre hacer avanza;
    media-vuelta;
    mientras derecha-bloqueada y frente-libre hacer avanza;
    si derecha-libre entonces inicio
    gira-derecha;
    C(N);
    fin;

    si frente-bloqueado entonces inicio
    media-vuelta;
    mientras frente-libre hacer avanza;
    repetir n veces deja-zumbador;
    apagate;
    fin;


    fin;


    fin;
    inicia-ejecucion
    mientras no orientado-al-oeste hacer gira-izquierda;
    mientras frente-libre hacer avanza;
    gira-izquierda;
    C(0);

        apagate;
    termina-ejecucion
finalizar-programa


