iniciar-programa
define-nueva-instruccion edar como inicio
repetir 3 veces gira-izquierda;
mientras no junto-a-zumbador hacer avanza;
gira-izquierda;
fin;
define-nueva-instruccion hello(e) como inicio
si junto-a-zumbador entonces inicio
coge-zumbador;
hello(sucede(e))
fin sino inicio
gira-izquierda;
mientras frente-libre hacer avanza;
gira-izquierda;
mientras frente-libre hacer avanza;
repetir e veces deja-zumbador;
fin;

fin;
define-nueva-instruccion free(w) como inicio
si junto-a-zumbador entonces inicio
coge-zumbador;
si frente-libre entonces avanza;
mientras no-junto-a-zumbador y frente-libre hacer avanza;
free(sucede(w))
fin sino inicio
repetir w veces deja-zumbador;
fin;
fin;

define-nueva-instruccion agony como inicio
gira-izquierda;
si frente-libre entonces avanza;
gira-izquierda;
mientras frente-libre hacer avanza;
repetir 2 veces gira-izquierda;
fin;
define-nueva-instruccion anger(v) como inicio
si junto-a-zumbador entonces inicio
coge-zumbador;
anger(sucede(v))
fin sino inicio
si frente-libre entonces avanza;
repetir v veces deja-zumbador;
fin;
fin;
define-nueva-instruccion suma(s) como inicio
si junto-a-zumbador entonces inicio
coge-zumbador;
suma(sucede(s))
fin sino inicio
repetir s veces avanza;
fin;
fin;
define-nueva-instruccion nel como inicio
mientras frente-libre hacer inicio
si junto-a-zumbador entonces coge-zumbador;
si frente-libre entonces avanza;
fin;
mientras algun-zumbador-en-la-mochila hacer deja-zumbador;
repetir 2 veces gira-izquierda;
mientras frente-libre hacer avanza;
gira-izquierda;
si frente-libre entonces avanza;
gira-izquierda;
fin;
define-nueva-instruccion wtf como inicio
si frente-libre entonces avanza;
coge-zumbador;
fin;
define-nueva-instruccion hola como inicio
si junto-a-zumbador entonces inicio
mientras junto-a-zumbador y frente-libre hacer avanza;
repetir 2 veces gira-izquierda;
si junto-a-zumbador entonces coge-zumbador
sino wtf;
mientras junto-a-zumbador hacer inicio
coge-zumbador;
si frente-libre entonces avanza;
fin;
fin;
repetir 2 veces gira-izquierda;
mientras junto-a-zumbador hacer avanza;
repetir 2 veces gira-izquierda;
si algun-zumbador-en-la-mochila entonces deja-zumbador;
mientras frente-libre hacer inicio
si frente-libre entonces avanza;
si junto-a-zumbador entonces coge-zumbador;
fin;
gira-izquierda;
si frente-libre entonces avanza;
mientras no-junto-a-zumbador y frente-libre hacer avanza;
gira-izquierda;
fin;
inicia-ejecucion
mientras no orientado-al-norte hacer gira-izquierda;
mientras derechA-libre hacer inicio
suma(0);
repetir 2 veces gira-izquierda;
mientras frente-libre hacer inicio
avanza;
deja-zumbador;
fin;
gira-izquierda;
si frente-libre entonces avanza;
gira-izquierda;
fin;
suma(0);
repetir 2 veces gira-izquierda;
mientras frente-libre hacer inicio
avanza;
deja-zumbador;
fin;
gira-izquierda;
si frente-libre entonces avanza;
gira-izquierda;
gira-izquierda;
mientras frente-libre hacer avanza;
repetir 3 veces gira-izquierda;
si no junto-a-zumbador entonces edar;
mientras junto-a-zumbador y derecha-libre hacer hola;
si junto-a-zumbador entonces hola;
gira-izquierda;
mientras frente-libre hacer avanza;
repetir 2 veces gira-izquierda;
mientras izquierda-libre hacer inicio
mientras frente-libre hacer anger(0);
agony;
fin;
repetir 3 veces gira-izquierda;
mientras frente-libre hacer avanza;
gira-izquierda;
mientras frente-libre hacer avanza;
gira-izquierda;
mientras no-junto-a-zumbador hacer avanza;
mientras frente-libre hacer inicio
free(0)
fin;
hello(0);
apagate;
termina-ejecucion
finalizar-programa 