iniciar-programa
define-nueva-instruccion gira-derecha como repetir 3 veces gira-izquierda;
define-nueva-instruccion media-vuelta como repetir 2 veces gira-derecha;
define-nueva-instruccion erika(x) como
inicio
    si junto-a-zumbador entonces
    inicio
        coge-zumbador;
        erika(sucede(x));
    fin
    sino
    inicio
        media-vuelta;
    avanza;
    gira-izquierda;
    avanza;
    media-vuelta;
    repetir x veces deja-zumbador;
    fin;
fin;
define-nueva-instruccion division (x) como
inicio
   si junto-a-zumbador  entonces
   inicio
       coge-zumbador; division(sucede(x));
   fin
   sino
   inicio
       avanza;
    gira-izquierda;
    avanza;
    gira-izquierda;
    avanza;
       mientras junto-a-zumbador hacer
       inicio
           repetir x veces
           inicio
               si junto-a-zumbador entonces
               inicio
                   coge-zumbador;
           gira-derecha;
           avanza;
          deja-zumbador;
           media-vuelta;
           avanza;
           gira-derecha;
               fin
               sino
               inicio
                   gira-derecha;
           avanza;
           erika(0);
                   media-vuelta;
           mientras frente-libre hacer avanza;
           gira-derecha;
           mientras frente-libre hacer avanza;
                   media-vuelta;
                   apagate;
               fin;
           fin;
           gira-derecha;avanza;
           mientras junto-a-zumbador hacer coge-zumbador;
           gira-izquierda;
           avanza;
           gira-izquierda;
           avanza;
           deja-zumbador;
           avanza;
           gira-izquierda;
           repetir 2 veces avanza;
           gira-izquierda;
           avanza;
           gira-izquierda;
           avanza;
       fin;
       media-vuelta;
       mientras frente-libre hacer avanza;
       gira-derecha;
       mientras frente-libre hacer avanza;
       media-vuelta;
       apagate;
   fin;
fin;
define-nueva-instruccion erika2(x) como
inicio
    si junto-a-zumbador entonces
    inicio
        coge-zumbador;
        gira-derecha;
        avanza;
        gira-derecha;
        repetir 2 veces avanza;
        gira-derecha;
        avanza;
        repetir x veces deja-zumbador;
        media-vuelta;
        avanza;gira-izquierda;
        repetir 2 veces avanza;
        gira-izquierda;
        avanza;
        gira-derecha;
        erika2(x);
    fin
    sino
    inicio
        gira-derecha;
        avanza;
        avanza;
        gira-derecha;
        avanza;
        division(0);
    fin;
fin;
define-nueva-instruccion javier(x) como
inicio
    si junto-a-zumbador entonces
    inicio
        coge-zumbador;javier(sucede(x));
    fin
    sino
    inicio
         avanza;erika2(x);
     fin;
 fin;
    inicia-ejecucion
    avanza;
    gira-izquierda;
    repetir 2 veces avanza;
    gira-izquierda;
    avanza;
    repetir 3 veces gira-izquierda;
    javier(0);
        apagate;
    termina-ejecucion
finalizar-programa

