iniciar-programa

define-nueva-instruccion mv como
inicio
repetir 2 veces gira-izquierda;
fin;

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

    fin
    sino
    inicio
    mv;
    repetir n veces avanza;
    fin;
    fin;
fin;
    inicia-ejecucion
    mientras no-orientado-al-sur hacer gira-izquierda;
    si frente-libre entonces avanza;
    gira-izquierda;
    mientras no-junto-a-zumbador hacer
    inicio
      ind(0);
        si frente-bloqueado y izquierda-bloqueada y no junto-a-zumbador entonces
    apagate;

    gira-izquierda;
    si frente-libre entonces avanza;
    gira-izquierda;
    fin;

        apagate;
    termina-ejecucion
finalizar-programa
