iniciar-programa
define-nueva-instruccion norte  como
    mientras no orientado-al-norte hacer gira-izquierda;
define-nueva-instruccion sur como
    mientras no orientado-al-sur hacer gira-izquierda;
define-nueva-instruccion este como
    mientras no orientado-al-este hacer gira-izquierda;
define-nueva-instruccion oeste como
    mientras no orientado-al-oeste hacer gira-izquierda;

define-nueva-instruccion comer como inicio
    mientras ningun-zumbador-en-la-mochila y frente-libre hacer inicio
       si frente-libre  entonces inicio
            mientras junto-a-zumbador hacer coge-zumbador;
            si no junto-a-zumbador y ningun-zumbador-en-la-mochila entonces avanza;
            mientras junto-a-zumbador hacer coge-zumbador;
            si ningun-zumbador-en-la-mochila entonces inicio
                si frente-bloqueado y izquierda-libre entonces inicio
                    norte;
                    avanza;
                    oeste;
                    mientras frente-libre hacer avanza;
                    este;
                fin;
            fin;
        fin;
    fin;
fin;
define-nueva-instruccion respuesta como inicio
    este;
    mientras frente-libre hacer avanza;
    oeste;
    avanza;
    mientras frente-libre hacer inicio
        si junto-a-zumbador entonces inicio
            coge-zumbador;
            si junto-a-zumbador entonces inicio
                coge-zumbador;
            fin sino inicio
                deja-zumbador;
            fin;
        fin;
        avanza;
        si junto-a-zumbador entonces inicio
            coge-zumbador;
            si junto-a-zumbador entonces inicio
                coge-zumbador;
            fin sino inicio
                deja-zumbador;
            fin;
        fin;
    fin;
    este;
    mientras frente-libre hacer avanza;
    mientras algun-zumbador-en-la-mochila hacer deja-zumbador;
    oeste;
    avanza;
    mientras frente-libre hacer inicio
        si junto-a-zumbador entonces coge-zumbador;
        avanza;
    fin;
    mientras algun-zumbador-en-la-mochila hacer deja-zumbador;
fin;
define-nueva-instruccion pocisionar como inicio
    oeste;
    mientras frente-libre hacer avanza;
    sur;
    mientras frente-libre hacer avanza;
    este;
    mientras algun-zumbador-en-la-mochila hacer inicio
        deja-zumbador;
        avanza;
    fin;
fin;
define-nueva-instruccion regresar como inicio
    oeste;
    avanza;
    mientras frente-libre hacer inicio
        avanza;
        si junto-a-zumbador entonces coge-zumbador;
    fin;
    este;
    mientras frente-libre hacer avanza;
    mientras algun-zumbador-en-la-mochila hacer deja-zumbador;
    oeste;
    mientras frente-libre hacer avanza;
    norte;
    avanza;
    este;
fin;
    inicia-ejecucion

    norte;
    avanza;
    este;
    mientras frente-libre hacer inicio
        comer;
        si algun-zumbador-en-la-mochila entonces inicio
            pocisionar;
            regresar;
        fin;
    fin;
    pocisionar;
    respuesta;
        apagate;
    termina-ejecucion
finalizar-programa
 