iniciar-programa
define-nueva-instruccion multiplica(n) como
inicio
si junto-a-zumbador entonces inicio
coge-zumbador;
multiplica(n);

repetir n veces inicio
deja-zumbador;
fin;
fin
sino
inicio
gira-izquierda;
avanza;
repetir 3 veces gira-izquierda;
avanza;
repetir 3 veces gira-izquierda;
avanza;
gira-izquierda;
fin;
fin;

define-nueva-instruccion cuenta(n) como
inicio
si junto-a-zumbador entonces
inicio
coge-zumbador;
cuenta(sucede(n));
fin
sino
inicio
avanza;
multiplica (n);

fin;
fin;
define-nueva-instruccion divide(n) como inicio
si junto-a-zumbador entonces inicio
coge-zumbador;
divide(sucede(N));





fin
sino inicio
avanza;
gira-izquierda;
avanza;
gira-izquierda;
avanza;
       si no-junto-a-zumbador entonces inicio
       repetir 2 veces gira-izquierda;
       avanza;
       avanza;

       repetir 3 veces gira-izquierda;
       avanza;
       avanza;
       avanza;
              mientras junto-a-zumbador hacer coge-zumbador;
       apagate;
       fin;
     mientras orientado-al-norte  hacer inicio

repetir n veces inicio
si junto-a-zumbador entonces inicio
coge-zumbador;

                  fin
                  sino
                  inicio
                 repetir 2 veces gira-izquierda;
                 avanza;
                 mientras algun-zumbador-en-la-mochila hacer deja-zumbador;
                  sal-de-instruccion;

                  fin;

fin;
si junto-a-zumbador o no-junto-a-zumbador entonces inicio
repetir 2 veces gira-izquierda;
mientras frente-libre hacer avanza;
repetir 3 veces gira-izquierda;
mientras frente-libre hacer avanza;
         mientras algun-zumbador-en-la-mochila hacer deja-zumbador;
         coge-zumbador;
repetir 2 veces gira-izquierda;
       repetir 3 veces avanza;
       gira-izquierda;
       repetir 2 veces avanza;
repetir 3 veces gira-izquierda;
avanza;
gira-izquierda;
avanza;
gira-izquierda;
avanza;

deja-zumbador;
repetir 2 veces gira-izquierda;
avanza;
 repetir 3 veces gira-izquierda;
 avanza;
 repetir 3 veces gira-izquierda;
 avanza;
   repetir 3 veces gira-izquierda;
fin;
fin;




fin;
fin;

    inicia-ejecucion
    avanza;
    gira-izquierda;
    repetir 3 veces avanza;
    gira-izquierda;
    avanza;
    gira-izquierda;
    cuenta(0);

    avanza;
    gira-izquierda;
    mientras algun-zumbador-en-la-mochila hacer deja-zumbador;
    avanza;
    avanza;
    gira-izquierda;
    repetir 2 veces avanza;
    repetir 2 veces gira-izquierda;
    divide(0);
    avanza;
     repetir 3 veces gira-izquierda;
    avanza;
    avanza;
    avanza;
    mientras junto-a-zumbador hacer coge-zumbador;

        apagate;
    termina-ejecucion
finalizar-programa
