iniciar-programa
define-nueva-instruccion gira-derecha como
inicio
gira-izquierda;
gira-izquierda;
gira-izquierda;
fin;
define-nueva-instruccion media-vuelta como
inicio
gira-izquierda;
gira-izquierda;
fin;
define-nueva-instruccion pasar como
inicio
mientras no-junto-a-zumbador y frente-libre hacer
inicio
avanza;
fin;
si junto-a-zumbador entonces
inicio
mientras junto-a-zumbador hacer
inicio
coge-zumbador;
fin;
fin;
si ningun-zumbador-en-la-mochila entonces
inicio
apagate;
fin;
mientras frente-libre hacer
inicio
avanza;
fin;
si frente-bloqueado entonces
inicio
gira-izquierda;
mientras derecha-bloqueada hacer
inicio
avanza;
fin;
si derecha-libre entonces
inicio
gira-derecha;
avanza;
gira-derecha;
fin;
fin;
mientras frente-libre hacer
inicio
avanza;
fin;
si frente-bloqueado entonces
inicio
gira-izquierda;
fin;
mientras junto-a-zumbador hacer
inicio
avanza;
fin;
si no-junto-a-zumbador entonces
inicio
mientras algun-zumbador-en-la-mochila hacer
inicio
deja-zumbador;
fin;
fin;
media-vuelta;
mientras frente-libre hacer
inicio
avanza;
fin;
si frente-bloqueado entonces
inicio
gira-derecha;
mientras izquierda-bloqueada hacer
inicio
avanza;
fin;
si izquierda-libre entonces
inicio
gira-izquierda;
avanza;
gira-izquierda;
fin;
fin;
mientras frente-libre hacer
inicio
avanza;
fin;
gira-derecha;
mientras frente-libre hacer
inicio
avanza;
fin;
si frente-bloqueado entonces
inicio
media-vuelta;
pasar;
fin;
fin;
    inicia-ejecucion
    gira-derecha;
    pasar;
    apagate;
    termina-ejecucion
finalizar-programa
