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 gira-derecha como
inicio
repetir 3 veces gira-izquierda;
fin;

define-nueva-instruccion topalo como
inicio
mientras frente-libre hacer avanza;
mientras izquierda-libre hacer gira-izquierda;
fin;

define-nueva-instruccion camina como
inicio
si frente-libre entonces
    inicio
    avanza;
    si izquierda-libre entonces
        inicio
        gira-izquierda;
        avanza;
        si izquierda-libre entonces
            inicio
            gira-izquierda;
            avanza;
            fin;
        fin;
   fin
sino
    gira-derecha;
fin;

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

    inicia-ejecucion
    topalo;
    mientras no junto-a-zumbador hacer
    inicio
    camina;
    buca;
    fin;

        apagate;
    termina-ejecucion
finalizar-programa
