iniciar-programa
define-nueva-instruccion gira(z) como repetir z veces gira-izquierda;
define-nueva-instruccion piniacolada(j) como inicio
si junto-a-zumbador entonces inicio
coge-zumbador;
piniacolada(sucede(j));
fin sino inicio
repetir j veces deja-zumbador;
gira(3);
avanza;
repetir precede(j) veces deja-zumbador;
fin;
fin;
define-nueva-instruccion malteada(k) como inicio
si junto-a-zumbador entonces inicio
coge-zumbador;
malteada(sucede(k));
fin sino inicio
gira(2);
avanza;
gira(3);
avanza;
repetir k veces coge-zumbador;
fin;
fin;
define-nueva-instruccion oreo(l) como inicio
si junto-a-zumbador y orientado-al-este entonces inicio
coge-zumbador;
oreo(sucede(l));
fin sino inicio
repetir precede(l) veces deja-zumbador;
avanza;
gira(3);
si junto-a-zumbador y orientado-al-sur y derecha-libre entonces inicio
coge-zumbador;
repetir 2 veces avanza;
gira(3);
avanza;
gira(3);
repetir l veces inicio
repetir precede(l) veces deja-zumbador;
fin;
repetir 2 veces avanza;
gira(3);
avanza;                                   
fin;
fin;
fin;
define-nueva-instruccion palaos(h) como inicio
si junto-a-zumbador entonces inicio
coge-zumbador;
palaos(sucede(h));
fin sino inicio
repetir 2 veces avanza;
repetir h veces deja-zumbador;
fin;
fin;
define-nueva-instruccion elsy(b) como inicio
si no-junto-a-zumbador y frente-libre entonces inicio
avanza;
fin;
si junto-a-zumbador entonces inicio
coge-zumbador;
elsy(b);
repetir b veces deja-zumbador;
fin;
fin;
define-nueva-instruccion naranjita(b) como inicio
si junto-a-zumbador entonces inicio
coge-zumbador;
naranjita(sucede(b));
fin sino inicio
repetir b veces deja-zumbador;
gira-izquierda;
avanza;
elsy(b);
fin;
fin;
    inicia-ejecucion
    repetir 2 veces avanza;
    piniacolada(0);
    gira(2);
    avanza;
    gira(1);
    avanza;
    malteada(0);
    si no-junto-a-zumbador entonces inicio
    gira(2);
    avanza;
    gira(1);
    palaos(0);
    fin;
    si junto-a-zumbador y orientado-al-este entonces inicio
    gira(2);
    avanza;
    gira(2);
    oreo(0);
    fin;
    mientras junto-a-zumbador y orientado-al-este hacer inicio
    coge-zumbador;
    gira(2);
    avanza;
    coge-zumbador;
    naranjita(0);
    gira(2);
    repetir 2 veces avanza;
    gira(3);
    avanza;
    fin;
           apagate;
    termina-ejecucion
finalizar-programa
