iniciar-programa
define-nueva-instruccion norte como inicio  mientras no orientado-al-norte hacer gira-izquierda; fin;
define-nueva-instruccion sur como inicio  mientras no orientado-al-sur hacer gira-izquierda; fin;
define-nueva-instruccion este como inicio  mientras no orientado-al-este hacer gira-izquierda; fin;
define-nueva-instruccion oeste como inicio  mientras no orientado-al-oeste hacer gira-izquierda; fin;
define-nueva-instruccion orilla como inicio
    este;
    mientras frente-libre y no junto-a-zumbador hacer avanza;
    si junto-a-zumbador entonces apagate;
    norte;


fin;
define-nueva-instruccion busca como inicio
mientras no junto-a-zumbador hacer inicio
    gira-izquierda;
    mientras frente-libre y no junto-a-zumbador hacer avanza;
    si junto-a-zumbador entonces apagate;
    repetir 2 veces gira-izquierda;
    mientras frente-libre hacer avanza;
    gira-izquierda;

    si frente-bloqueado entonces inicio
        gira-izquierda;
    fin;
    si frente-libre entonces avanza;

    si derecha-libre entonces inicio
        repetir 3 veces gira-izquierda;
        si frente-libre entonces avanza;
        repetir 3 veces gira-izquierda;
        mientras frente-libre y derecha-libre hacer avanza;
        si frente-bloqueado entonces inicio
            gira-izquierda;
        fin;
    fin;

    fin;
fin;
define-nueva-instruccion recorre como inicio


fin;
    inicia-ejecucion
        orilla;
        busca;
        apagate;
    termina-ejecucion
finalizar-programa
