iniciar-programa
    define-nueva-instruccion gira-derecha como
        repetir 3 veces
            gira-izquierda;
    define-nueva-instruccion ve-al-inicio como
    inicio
        mientras no orientado-al-norte hacer
            gira-izquierda;
        repetir 2 veces
            avanza;
    fin;

    define-nueva-instruccion cuenta-abajo como
        si derecha-bloqueada entonces
        inicio
            avanza;
            cuenta-abajo;
            deja-zumbador;
        fin
        sino
        inicio
            gira-izquierda;
            avanza;
        fin;
    define-nueva-instruccion cuenta-derecha como
        si derecha-bloqueada entonces
        inicio
            avanza;
            cuenta-derecha;
            deja-zumbador;
        fin
        sino
        inicio
            gira-derecha;
            avanza;
            cuenta-abajo;
        fin;
    define-nueva-instruccion cuenta-arriba como
        si derecha-bloqueada entonces
        inicio
            avanza;
            cuenta-arriba;
            deja-zumbador;
        fin
        sino
        inicio
            gira-derecha;
            avanza;
            cuenta-derecha;
        fin;

    define-nueva-instruccion cuenta-izq como
        si derecha-bloqueada entonces
        inicio
            avanza;
            cuenta-izq;
            deja-zumbador;
        fin
        sino
        inicio
            gira-derecha;
            avanza;
            cuenta-arriba;
        fin;

    inicia-ejecucion
        ve-al-inicio;
        cuenta-izq;
        apagate;
    termina-ejecucion
finalizar-programa
