iniciar-programa
define-nueva-instruccion ubic como
inicio
mientras no-orientado-al-oeste hacer gira-izquierda;
mientras frente-libre hacer avanza;
repetir 2 veces gira-izquierda;
repetir 7 veces avanza;
gira-izquierda;
fin;
define-nueva-instruccion portero como
inicio
si orientado-al-norte entonces repetir 3 veces gira-izquierda;
si no-junto-a-zumbador entonces
inicio
repetir 2 veces gira-izquierda;
mientras frente-libre hacer avanza;
fin;
si junto-a-zumbador y orientado-al-este entonces
inicio
coge-zumbador;
portero;
si frente-bloqueado entonces
inicio
mientras no-orientado-al-este hacer gira-izquierda;
fin
sino
inicio
avanza;
fin;
fin;
fin;
define-nueva-instruccion alto como
inicio
si orientado-al-norte entonces
inicio
repetir 3 veces gira-izquierda;
fin;
si no-junto-a-zumbador entonces
inicio
mientras no-orientado-al-oeste hacer gira-izquierda;
avanza;
repetir 3 veces gira-izquierda;
portero;
deja-zumbador;
gira-izquierda;
fin;
si junto-a-zumbador y orientado-al-este entonces
inicio
coge-zumbador;
alto;
si frente-libre entonces
inicio
deja-zumbador;
avanza;
fin;
si no-junto-a-zumbador y frente-bloqueado entonces deja-zumbador;
fin;
fin;
DEFINE-NUEVA-INSTRUCCION ANCHO COMO
INICIO
si orientado-al-norte entonces
inicio
repetir 3 veces gira-izquierda;
fin;
si no-junto-a-zumbador entonces
inicio
mientras no-orientado-al-oeste hacer gira-izquierda;
avanza;
repetir 3 veces gira-izquierda;
alto;
repetir 2 veces gira-izquierda;
mientras frente-libre hacer avanza;
gira-izquierda;
mientras junto-a-zumbador hacer coge-zumbador;
fin;
si junto-a-zumbador y orientado-al-este entonces
inicio
coge-zumbador;
ancho;
si no junto-a-zumbador y frente-libre entonces
inicio
deja-zumbador;
avanza;
fin
sino
inicio
si no-junto-a-zumbador y frente-bloqueado entonces deja-zumbador;
fin;
FIN;
fin;
define-nueva-instruccion kl como
inicio
repetir 2 veces gira-izquierda;
avanza;
gira-izquierda;
mientras junto-a-zumbador y frente-libre hacer avanza;
si no-junto-a-zumbador entonces
inicio
repetir 2 veces gira-izquierda;
avanza;
repetir 2 veces gira-izquierda;
fin;
gira-izquierda;
avanza;
gira-izquierda;
si no-junto-a-zumbador entonces
inicio
mientras no-junto-a-zumbador hacer
inicio
deja-zumbador;
avanza;
fin;
fin;
fin;
define-nueva-instruccion rellena como
inicio
si orientado-al-este entonces
inicio
repetir 2 veces gira-izquierda;
mientras no-junto-a-zumbador hacer avanza;
mientras junto-a-zumbador y frente-libre hacer avanza;
repetir 2 veces gira-izquierda;
si no-junto-a-zumbador entonces avanza;
gira-izquierda;
fin;
si junto-a-zumbador y frente-libre entonces
inicio
avanza;
si junto-a-zumbador entonces
inicio
kl;
repetir 2 veces gira-izquierda;
rellena;
fin;
fin;
fin;
define-nueva-instruccion ab como
inicio
mientras no orientado-al-este hacer gira-izquierda;
mientras frente-libre hacer avanza;
repetir 3 veces gira-izquierda;
mientras frente-libre hacer avanza;
gira-izquierda;
avanza;
fin;
define-nueva-instruccion cuenta como
inicio
si orientado-al-norte entonces
inicio
gira-izquierda;
mientras frente-libre hacer avanza;
repetir 2 veces gira-izquierda;
fin;
si no-junto-a-zumbador entonces
inicio
avanza;
cuenta;
deja-zumbador;
fin
sino
inicio
ab;
avanza;
avanza;
fin;
fin;
define-nueva-instruccion ola como
inicio
si orientado-al-norte entonces
inicio
gira-izquierda;
fin;
si no-junto-a-zumbador entonces
inicio
avanza;
ola;
deja-zumbador;
fin
sino
inicio
ab;
avanza;
fin;
fin;
define-nueva-instruccion mide como
inicio
si orientado-al-norte entonces
inicio
gira-izquierda;
mientras frente-libre hacer avanza;
gira-izquierda;
mientras frente-libre hacer avanza;
repetir 2 veces gira-izquierda;
avanza;
repetir 3 veces gira-izquierda;
fin;
si orientado-al-este entonces
inicio
SI FRENTE-LIBRE ENTONCES
INICIO
AVANZA;
mide;
deja-zumbador;
FIN
sino
inicio
ab;
deja-zumbador;
fin;
fin;
fin;
define-nueva-instruccion final como
inicio
si orientado-al-norte entonces
inicio
mientras no-orientado-al-este hacer gira-izquierda;
fin;
si orientado-al-este entonces
inicio
si junto-a-zumbador entonces
inicio
avanza;
si junto-a-zumbador entonces
inicio
repetir 2 veces gira-izquierda;
coge-zumbador;
avanza;
coge-zumbador;
repetir 2 veces gira-izquierda;
final;
fin
sino
inicio
repetir 2 veces gira-izquierda;
avanza;
mientras junto-a-zumbador hacer coge-zumbador;
gira-izquierda;
fin;
fin
sino
inicio
repetir 2 veces gira-izquierda;
avanza;
mientras junto-a-zumbador hacer coge-zumbador;
deja-zumbador;
gira-izquierda;
fin;
fin;
fin;
    inicia-ejecucion
    ubic;
    ancho;
    rellena;
    mide;
    repetir 2 veces gira-izquierda;
    avanza;
    repetir 3 veces gira-izquierda;
    avanza;
    cuenta;
    repetir 2 veces gira-izquierda;
    repetir 3 veces avanza;
    repetir 3 veces gira-izquierda;
    avanza;
    ola;
    gira-izquierda;
    final;
            apagate;
    termina-ejecucion
finalizar-programa
