iniciar-programa
define-nueva-instruccion hazlo como inicio
mientras izquierda-bloqueada y frente-libre hacer
avanza;
si izquierda-libre entonces
gira-izquierda;

si izquierda-libre y derecha-libre y frente-libre entonces
avanza;
fin;

define-nueva-instruccion deja como inicio
mientras frente-bloqueado hacer
gira-izquierda;
mientras frente-libre hacer inicio
mientras no-junto-a-zumbador hacer
deja-zumbador;
avanza;
fin;

si frente-bloqueado   entonces inicio
si no junto-a-zumbador entonces
deja-zumbador;
gira-izquierda;
gira-izquierda;
fin;

mientras frente-libre hacer
avanza;
si frente-bloqueado y derecha-libre entonces
repetir 3 veces
gira-izquierda;
si frente-libre entonces
avanza;
mientras no-orientado-al-norte  hacer
gira-izquierda;
si izquierda-bloqueada y junto-a-zumbador  entonces inicio
mientras izquierda-bloqueada hacer
avanza;
si izquierda-libre entonces
gira-izquierda;
avanza;
gira-izquierda;
avanza;
fin;

mientras derecha-bloqueada y frente-libre hacer
avanza;
mientras izquierda-libre y orientado-al-sur y algun-zumbador-en-la-mochila hacer
deja-zumbador;
si ningun-zumbador-en-la-mochila entonces
apagate;
fin;

inicia-ejecucion
mientras no-orientado-al-este hacer
gira-izquierda;
mientras izquierda-libre hacer inicio
avanza;
fin;

mientras junto-a-zumbador hacer inicio
coge-zumbador;
fin;

mientras frente-libre hacer inicio
hazlo;
fin;

si frente-bloqueado entonces inicio
gira-izquierda;
mientras frente-libre hacer
avanza;
fin;

mientras algun-zumbador-en-la-mochila  hacer inicio
deja;
fin;

apagate;
termina-ejecucion
finalizar-programa
