iniciar-programa
define-nueva-instruccion gira(n) como
inicio
repetir n veces gira-izquierda;
fin;
define-nueva-instruccion compara como
inicio
gira(1);
mientras no-junto-a-zumbador hacer avanza;
gira(1);
avanza;
si junto-a-zumbador entonces
inicio
gira(2);
mientras frente-libre hacer avanza;
gira(3);
mientras frente-libre hacer avanza;
deja-zumbador;
apagate;
fin
sino
inicio

gira(2);
mientras frente-libre hacer avanza;
gira(3);
mientras frente-libre hacer avanza;
deja-zumbador;
gira(3);
avanza;


fin;
fin;

define-nueva-instruccion mueve(n) como
inicio
si junto-a-zumbador entonces
inicio
coge-zumbador;
mueve(sucede(n));
fin
sino
inicio
repetir n veces
deja-zumbador;
avanza;
avanza;
gira(3);
mientras no-junto-a-zumbador hacer
avanza;
coge-zumbador;
repetir n veces avanza;
deja-zumbador;
gira(2);
mientras frente-libre hacer avanza;
gira(1);
avanza;
si junto-a-zumbador entonces
inicio
gira(2);
mueve(0);
fin
sino
inicio
compara;
fin;
fin;
fin;

    inicia-ejecucion
    repetir 4 veces
    avanza;
    deja-zumbador;
    gira(2);
    repetir 3 veces avanza;
    gira(2);
    mientras junto-a-zumbador hacer
    mueve(0);


        apagate;
    termina-ejecucion
finalizar-programa
