iniciar-programa
define-nueva-instruccion media-vuelta como inicio
 gira-izquierda;
 gira-izquierda;
 fin;
define-nueva-instruccion gira-derecha como inicio
 repetir 3 veces gira-izquierda;
 fin;
define-nueva-instruccion avanza-a-la-izquierda como inicio
 gira-izquierda;
avanza;
fin;
define-nueva-instruccion avanza-a-la-derecha como inicio
 gira-derecha;
avanza;
fin;
define-nueva-instruccion regresa como inicio
 media-vuelta;
avanza;
fin;
define-nueva-instruccion llena-linea como inicio
 mientras no-junto-a-zumbador hacer inicio
 deja-zumbador;
avanza;
fin;
fin;
define-nueva-instruccion camina-hasta-pared como inicio
 mientras frente-libre hacer inicio
avanza;
fin;
fin;
define-nueva-instruccion cierra-cubiculo como inicio
camina-hasta-pared;
avanza-a-la-derecha;
deja-zumbador;
regresa;
gira-izquierda;
camina-hasta-pared;
avanza-a-la-izquierda;
gira-izquierda;
llena-linea;
fin;
define-nueva-instruccion checa-cubiculo como inicio
mientras no-junto-a-zumbador y frente-libre hacer inicio
avanza;
fin;
si junto-a-zumbador entonces inicio
cierra-cubiculo;
fin
sino inicio
avanza-a-la-derecha;
gira-izquierda;
fin;
fin;
define-nueva-instruccion inicializa como inicio
 camina-hasta-pared;
regresa;
gira-izquierda;
si frente-bloqueado entonces inicio
 avanza-a-la-izquierda;
si junto-a-zumbador entonces inicio
regresa;
deja-zumbador;
fin;
apagate;
fin;
avanza-a-la-izquierda;
gira-derecha;
checa-cubiculo;
fin;
    inicia-ejecucion
    inicializa;
mientras frente-libre hacer inicio
avanza;
avanza-a-la-izquierda;
gira-derecha;
checa-cubiculo;
fin;
        apagate;
    termina-ejecucion
finalizar-programa
