iniciar-programa
define-nueva-instruccion mot como inicio
si junto-a-zumbador entonces inicio
coge-zumbador;
mot;
deja-zumbador;
fin
sino
inicio
avanza;
repetir 3 veces
gira-izquierda;
fin;
fin;


define-nueva-instruccion tode(n) como inicio
si junto-a-zumbador entonces inicio
coge-zumbador;
tode(sucede(n));
fin
sino
si frente-libre y no junto-a-zumbador entonces inicio
repetir n veces
deja-zumbador;
repetir n veces
avanza;
si izquierda-bloqueada entonces inicio
tode(n);
deja-zumbador;
fin
sino
inicio
si no junto-a-zumbador entonces inicio
gira-izquierda;
tode(n);
deja-zumbador;
fin
sino
inicio
avanza;
repetir n veces
deja-zumbador;
gira-izquierda;
avanza;
gira-izquierda;
deja-zumbador;
fin;
fin;
fin;
fin;

define-nueva-instruccion metros como inicio
si no junto-a-zumbador entonces inicio
deja-zumbador;
metros;
deja-zumbador;
fin
sino
si izquierda-bloqueada entonces inicio
avanza;
metros;
fin
sino
si no orientado-al-sur entonces inicio
gira-izquierda;
avanza;
metros;
fin
sino
inicio
avanza;
gira-izquierda;
avanza;
avanza;
fin;
fin;

    inicia-ejecucion
    mientras no orientado-al-este hacer
    gira-izquierda;
    avanza;
    gira-izquierda;
    mot;
    tode(0);
    avanza;
    repetir 3 veces
    gira-izquierda;
    metros;

        apagate;
    termina-ejecucion
finalizar-programa
