iniciar-programa
define-nueva-instruccion gira-derecha como inicio
    gira-izquierda;
    gira-izquierda;
    gira-izquierda;
fin;
define-nueva-instruccion agarrab(a) como inicio
 si junto-a-zumbador entonces inicio
 coge-zumbador;
 agarrab(a);
 repetir a veces
 deja-zumbador;
 fin sino inicio
 gira-derecha;
 avanza;
 gira-derecha;
 mientras frente-libre hacer avanza;
 gira-derecha;
 avanza;
 gira-derecha;
 avanza;
  fin;
 fin;
 define-nueva-instruccion agarraa(a) como inicio
 si junto-a-zumbador entonces inicio
 coge-zumbador;
 agarraa(sucede(a));
 fin
 sino
 inicio
 avanza;
 agarrab(a);
 fin;
 fin;

define-nueva-instruccion ve-a-multiplicacion como inicio
mientras no-orientado-al-norte hacer inicio
gira-izquierda;
fin;
    avanza;
    gira-derecha;
    avanza;
    gira-izquierda;
    avanza;
    gira-izquierda;
    avanza;
    gira-derecha;
fin;
define-nueva-instruccion haz-multiplicacion como inicio
    ve-a-multiplicacion;
    agarraa(0);
    gira-derecha;
fin;

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

fin sino inicio
repetir n veces inicio
deja-zumbador;
fin;
gira-izquierda;
gira-izquierda;
avanza;
gira-izquierda;
avanza;
gira-izquierda;
avanza;
repetir n veces inicio
si junto-a-zumbador entonces inicio
coge-zumbador;
fin sino inicio
gira-izquierda;
gira-izquierda;
avanza;
mientras algun-zumbador-en-la-mochila hacer inicio
deja-zumbador;
fin;
apagate;
fin;
fin;

fin;
fin;
    inicia-ejecucion
    haz-multiplicacion;
    avanza;
    avanza;
    mientras algun-zumbador-en-la-mochila hacer inicio
    deja-zumbador;
    fin;
    gira-izquierda;
    avanza;
    coge-divisor(0);
    mientras junto-a-zumbador hacer inicio
    gira-derecha;
    avanza;
    mientras algun-zumbador-en-la-mochila hacer inicio
    deja-zumbador;
    fin;
    coge-zumbador;
    gira-izquierda;
    avanza;
    gira-izquierda;
    avanza;
    deja-zumbador;
    avanza;
    gira-izquierda;
    avanza;
    gira-izquierda;
    gira-izquierda;
    coge-divisor(0);
    fin;

    gira-derecha;
    avanza;
    mientras algun-zumbador-en-la-mochila hacer inicio
    deja-zumbador;
    fin;
    coge-zumbador;
    gira-izquierda;
    avanza;
    gira-izquierda;
    avanza;
    deja-zumbador;
    avanza;

        apagate;
    termina-ejecucion
finalizar-programa
