iniciar-programa
define-nueva-instruccion pasa como inicio
mientras frente-libre hacer avanza;
gira-izquierda;
mientras derecha-bloqueada hacer avanza;
repetir 3 veces gira-izquierda;
avanza;
repetir 3 veces gira-izquierda;
mientras frente-libre hacer avanza;
gira-izquierda;
fin;
define-nueva-instruccion regresa como inicio
mientras frente-libre hacer avanza;
repetir 3 veces gira-izquierda;
mientras izquierda-bloqueada hacer avanza;
gira-izquierda;
avanza;
gira-izquierda;
mientras frente-libre hacer avanza;
repetir 2 veces gira-izquierda;
avanza;
gira-izquierda;
mientras no junto-a-zumbador y frente-libre hacer avanza;
gira-izquierda;
avanza;
fin;
define-nueva-instruccion ubicate como inicio
si no-junto-a-zumbador entonces inicio
mientras no orientado-al-norte hacer gira-izquierda;
avanza;
repetir 3 veces gira-izquierda;
si no junto-a-zumbador entonces inicio
repetir 3 veces gira-izquierda;
avanza;
gira-izquierda;
fin;
fin;
mientras junto-a-zumbador hacer inicio
avanza;
si no junto-a-zumbador y derecha-bloqueada entonces inicio
gira-izquierda;
avanza;
repetir 3 veces gira-izquierda;
ubicate;
fin;
si no junto-a-zumbador y derecha-libre entonces inicio
repetir 3 veces gira-izquierda;
avanza;
gira-izquierda;
ubicate;
fin;
fin;
fin;
inicia-ejecucion
mientras no-orientado-al-este hacer gira-izquierda;
mientras frente-libre o junto-a-zumbador hacer inicio
si junto-a-zumbador entonces inicio
mientras no-orientado-al-norte hacer gira-izquierda;
avanza;
deja-zumbador;
repetir 2 veces gira-izquierda;
avanza;
coge-zumbador;
mientras no-orientado-al-este hacer gira-izquierda;
pasa;
ubicate;
deja-zumbador;
mientras no-orientado-al-oeste hacer gira-izquierda;
regresa;
gira-izquierda;
mientras junto-a-zumbador hacer inicio
coge-zumbador;
mientras no-orientado-al-este hacer gira-izquierda;
pasa;
ubicate;
si no-junto-a-zumbador y derecha-bloqueada entonces inicio
repetir 2 veces gira-izquierda;
si frente-libre entonces avanza;
repetir 2 veces gira-izquierda;
fin;
si no-junto-a-zumbador y derecha-libre entonces inicio
repetir 3 veces gira-izquierda;
avanza;
repetir 3 veces gira-izquierda;
si frente-libre entonces avanza;
repetir 2 veces gira-izquierda;
fin;
deja-zumbador;
repetir 2 veces gira-izquierda;
regresa;
gira-izquierda;
fin;
fin
sino inicio
gira-izquierda;
avanza;
deja-zumbador;
repetir 2 veces gira-izquierda;
avanza;
gira-izquierda;
pasa;
ubicate;
gira-izquierda;
avanza;
deja-zumbador;
mientras no-orientado-al-oeste hacer gira-izquierda;
si izquierda-libre entonces inicio
gira-izquierda;
avanza;
repetir 3 veces gira-izquierda;
fin;
regresa;
gira-izquierda;
fin;
si frente-libre entonces avanza;
fin;

repetir 2 veces gira-izquierda;
mientras frente-libre hacer avanza;
repetir 3 veces gira-izquierda;
avanza;
repetir 3 veces gira-izquierda;

mientras junto-a-zumbador y frente-libre hacer inicio
mientras junto-a-zumbador hacer coge-zumbador;
avanza;
fin;
mientras junto-a-zumbador hacer coge-zumbador;
si frente-bloqueado entonces inicio
pasa;
gira-izquierda;
avanza;
repetir 3 veces gira-izquierda;
mientras frente-libre hacer inicio
mientras junto-a-zumbador hacer coge-zumbador;
avanza;
mientras junto-a-zumbador hacer coge-zumbador;
fin;
fin
sino inicio
mientras frente-libre hacer inicio
mientras junto-a-zumbador hacer coge-zumbador;
avanza;
mientras junto-a-zumbador hacer coge-zumbador;
fin;
fin;
apagate;
termina-ejecucion
finalizar-programa
