iniciar-programa
define-nueva-instruccion gira-derecha como repetir 3 veces gira-izquierda;
define-nueva-instruccion voltea 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
        voltea;
	avanza;
	gira-izquierda;
	avanza;
	voltea;
	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;
		   voltea;
		   avanza;
		   gira-derecha;
               fin
               sino
               inicio
                   gira-derecha;avanza;erika(0);
                   voltea;mientras frente-libre hacer avanza;gira-derecha;mientras frente-libre hacer avanza;
                   voltea;apagate;
               fin;
           fin;
           gira-derecha;avanza;mientras junto-a-zumbador hacer coge-zumbador;
           gira-izquierda;avanza;gira-izquierda;
           avanza;deja-zumbador;avanza;gira-izquierda;avanza;avanza;gira-izquierda;
           avanza;gira-izquierda;avanza;
       fin;
       voltea;mientras frente-libre hacer avanza;gira-derecha;mientras frente-libre hacer avanza;
       voltea;apagate;
   fin;
fin;
define-nueva-instruccion erika2(x) como
inicio
    si junto-a-zumbador entonces
    inicio
        coge-zumbador;gira-derecha;avanza;gira-derecha;avanza;avanza;
        gira-derecha;avanza;repetir x veces deja-zumbador;
        voltea;avanza;gira-izquierda;avanza;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;avanza;avanza;gira-izquierda;
    avanza; repetir 3 veces gira-izquierda;
    javier(0);
        apagate;
    termina-ejecucion
finalizar-programa
 