iniciar-programa
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 sur como mientras no-orientado-al-sur hacer gira-izquierda;
define-nueva-instruccion norte como mientras no-orientado-al-norte hacer gira-izquierda;
define-nueva-instruccion ve(n) como inicio
    si junto-a-zumbador entonces inicio
        coge-zumbador;
        ve(sucede(n));
    fin sino inicio
        si si-es-cero (precede(precede(n))) entonces deja-zumbador;
        si si-es-cero (precede(precede(precede(n)))) entonces deja-zumbador;
        si si-es-cero (precede(precede(precede(precede(precede(n)))))) entonces deja-zumbador;
        si si-es-cero (precede(precede(precede(precede(precede(precede(precede(n)))))))) entonces deja-zumbador;
        si si-es-cero (precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(n)))))))))))) entonces deja-zumbador;
        si si-es-cero (precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(n)))))))))))))) entonces deja-zumbador;
        si si-es-cero (precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(n)))))))))))))))))) entonces deja-zumbador;
        si si-es-cero (precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(n)))))))))))))))))))) entonces deja-zumbador;
        si si-es-cero (precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(n)))))))))))))))))))))))) entonces deja-zumbador;
        si si-es-cero (precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(n)))))))))))))))))))))))))))))) entonces deja-zumbador;
        si si-es-cero (precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(n)))))))))))))))))))))))))))))))) entonces deja-zumbador;
        si si-es-cero (precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(n)))))))))))))))))))))))))))))))))))))) entonces deja-zumbador;
        si si-es-cero (precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(n)))))))))))))))))))))))))))))))))))))))))) entonces deja-zumbador;
        si si-es-cero (precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(n)))))))))))))))))))))))))))))))))))))))))))) entonces deja-zumbador;
        si si-es-cero (precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(n)))))))))))))))))))))))))))))))))))))))))))))))) entonces deja-zumbador;
        si si-es-cero (precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(n)))))))))))))))))))))))))))))))))))))))))))))))))))))) entonces deja-zumbador;
        si si-es-cero (precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(n)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) entonces deja-zumbador;
        si si-es-cero (precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(n)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) entonces deja-zumbador;
        si si-es-cero (precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(n)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) entonces deja-zumbador;
        si si-es-cero (precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(n)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) entonces deja-zumbador;
        si si-es-cero (precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(n)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) entonces deja-zumbador;
        si si-es-cero (precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(n)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) entonces deja-zumbador;
        si si-es-cero (precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(n)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) entonces deja-zumbador;
        si si-es-cero (precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(n)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) entonces deja-zumbador;
        si si-es-cero (precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(precede(n)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) entonces deja-zumbador;
    fin;
fin;
define-nueva-instruccion busca como inicio
    norte;
    si frente-libre entonces inicio
        avanza;
        ve(0);
        sur;
        avanza;
    fin;
    sur;
    si frente-libre entonces inicio
        avanza;
        ve(0);
        norte;
        avanza;
    fin;
    este;
    si frente-libre entonces inicio
        avanza;
        ve(0);
        oeste;
        avanza;
    fin;
    oeste;
    si frente-libre entonces inicio
        avanza;
        ve(0);
        este;
        avanza;
    fin;
fin;
define-nueva-instruccion busca2 como inicio
    si frente-libre entonces inicio
        avanza;
        si no-junto-a-zumbador entonces inicio
            sur;
            avanza;
        fin;
    fin;
    si no-junto-a-zumbador entonces inicio
        sur;
        si frente-libre entonces inicio
        avanza;
        si no-junto-a-zumbador entonces inicio
            norte;
            avanza;
        fin;
    fin;
    fin;
    si no-junto-a-zumbador entonces inicio
        este;
        si frente-libre entonces inicio
        avanza;
        si no-junto-a-zumbador entonces inicio
            oeste;
            avanza;
        fin;
    fin;
    fin;
    si no-junto-a-zumbador entonces inicio
        oeste;
        si frente-libre entonces inicio
        avanza;
        si no-junto-a-zumbador entonces inicio
            este;
            avanza;
        fin;
    fin;
    fin;
fin;
    inicia-ejecucion
    mientras junto-a-zumbador hacer inicio
    mientras junto-a-zumbador hacer coge-zumbador;
    busca;
    norte;
    busca2;
    fin;
        apagate;
    termina-ejecucion
finalizar-programa
