iniciar-programa
define-nueva-instruccion oeste como inicio
mientras no-orientado-al-oeste hacer inicio
gira-izquierda;
fin;
fin;

define-nueva-instruccion sur como inicio
mientras no-orientado-al-sur hacer inicio
gira-izquierda;
fin;
fin;

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

define-nueva-instruccion podar2 como inicio
mientras no-junto-a-zumbador y frente-libre hacer inicio
avanza;
fin;
si junto-a-zumbador entonces inicio
coge-zumbador;
norte;
avanza;
oeste;
mientras no-junto-a-zumbador hacer inicio
avanza;
fin;
norte;
mientras junto-a-zumbador hacer inicio
coge-zumbador;
si frente-libre entonces inicio
avanza;
fin;
fin;
sur;
mientras no-junto-a-zumbador hacer inicio
avanza;
fin;
este;
mientras junto-a-zumbador hacer inicio
coge-zumbador ;
si frente-libre entonces inicio
avanza;
fin;
fin;
sur;
podar2;
fin;
fin;

define-nueva-instruccion deja como inicio
oeste;
mientras frente-libre hacer inicio
avanza;
fin;
mientras algun-zumbador-en-la-mochila hacer inicio
deja-zumbador;
fin;
fin;

    inicia-ejecucion
    este;
    mientras frente-libre y no-junto-a-zumbador hacer inicio
    avanza;
    fin;
    norte;
    suvir;
    este;
    avanza;
    sur;
    podar1 ;
    oeste;
    si frente-libre entonces inicio
    avanza;
    fin sino inicio
    norte;
    avanza;
    oeste;
    avanza;
    sur;
    avanza;
    fin;
    norte;
    suvir;
    oeste;
    avanza;
    sur;
    podar2;
    deja;

      apagate;
    termina-ejecucion
finalizar-programa
