iniciar-programa
define-nueva-instruccion mv como repetir 2 veces gira-izquierda;
define-nueva-instruccion gd como repetir 3 veces gira-izquierda;
define-nueva-instruccion construye como
inicio
mientras no-orientado-al-este hacer gira-izquierda;
mientras frente-libre y algun-zumbador-en-la-mochila hacer
inicio
deja-zumbador;
avanza;
fin;
si frente-bloqueado entonces deja-zumbador;
mv;
mientras frente-libre hacer avanza;
gd;

fin;
define-nueva-instruccion busca como
inicio
mientras no-orientado-al-norte hacer gira-izquierda;
mientras frente-libre hacer
    inicio
    mientras junto-a-zumbador hacer coge-zumbador;
    avanza;
    fin;
    mientras junto-a-zumbador hacer coge-zumbador;
    mv;
    mientras frente-libre hacer avanza;
    mientras no-orientado-al-este hacer gira-izquierda;

fin;
    inicia-ejecucion
    mientras no-orientado-al-norte hacer gira-izquierda;
    mientras frente-libre hacer
    inicio
    mientras no-orientado-al-este hacer gira-izquierda;
   mientras junto-a-zumbador hacer
    inicio

    busca;
    si frente-libre entonces avanza;
    fin;
    si frente-libre entonces    avanza;
     fin;

    busca;

    mientras no-orientado-al-oeste hacer gira-izquierda;
    mientras frente-libre hacer avanza;
    mv;
    mientras no-junto-a-zumbador y algun-zumbador-en-la-mochila hacer
    inicio
    construye;
    avanza;
    fin;
    apagate;
    termina-ejecucion
finalizar-programa
