iniciar-programa
define-nueva-instruccion cambia como inicio
    si frente-bloqueado entonces repetir 3 veces gira-izquierda;
    avanza;
    repetir 3 veces gira-izquierda;
    si junto-a-zumbador entonces inicio
        mientras junto-a-zumbador y frente-libre hacer avanza;
        repetir 2 veces gira-izquierda;
        si frente-libre entonces avanza;
    fin sino inicio
        repetir 3 veces gira-izquierda;
        avanza;
        mientras junto-a-zumbador y frente-libre hacer avanza;
        repetir 2 veces gira-izquierda;
        si no-junto-a-zumbador entonces avanza;
    fin;
fin;
define-nueva-instruccion compara como inicio
    si junto-a-zumbador entonces inicio
        coge-zumbador; (*1 zumbador*)
        si junto-a-zumbador entonces inicio
            coge-zumbador;  (* 2 zumbadores*)
            si junto-a-zumbador entonces inicio
                coge-zumbador;  (* 3 zumbadores*)
                si junto-a-zumbador entonces inicio
                    coge-zumbador;  (* 4 zumbadores*)
                    si junto-a-zumbador entonces inicio
                         coge-zumbador;(* 5 zumbadores*)
                         si junto-a-zumbador entonces inicio
                             coge-zumbador; (*6 zumbadores*)
                                 si junto-a-zumbador entonces inicio
                                     coge-zumbador;  (* 7 zumbadores*)
                                          si junto-a-zumbador entonces inicio
                                              coge-zumbador;  (* 8 zumbadores*)
                                              si junto-a-zumbador entonces inicio
                                                  coge-zumbador;  (* 9 zumbadores*)
                                                      si junto-a-zumbador entonces inicio
                                                          coge-zumbador;(* 10 zumbadores*)
                                                          avanza;
                                                          deja-zumbador;
                                                          repetir 2 veces gira-izquierda;
                                                          avanza;
                                                          repetir 2 veces gira-izquierda;
                                                          compara ;
                                                      fin sino inicio
                                                          repetir 9 veces deja-zumbador;
                                                          avanza;
                                                      fin;
                                              fin sino inicio
                                                  repetir 8 veces deja-zumbador;(* 9 zumbadores*)
                                                  avanza;
                                              fin;
                                          fin sino inicio
                                              repetir 7 veces deja-zumbador;(* 8 zumbadores*)
                                              avanza;
                                          fin;
                                 fin sino inicio
                                     repetir 6 veces deja-zumbador;(* 7 zumbadores*)
                                     avanza;
                                 fin;
                         fin sino inicio
                             repetir 5 veces deja-zumbador;(* 6 zumbadores*)
                             avanza;
                         fin;
                    fin sino inicio
                         repetir 4 veces deja-zumbador;(* 5 zumbadores*)
                         avanza;
                    fin;
                fin sino inicio
                     repetir 3 veces deja-zumbador;(* 4 zumbadores*)
                     avanza;
                fin;
            fin sino inicio
                 repetir 2 veces deja-zumbador;(* 3 zumbadores*)
                 avanza;
            fin;
        fin sino inicio
            deja-zumbador;(* 2 zumbadores*)
            avanza;
        fin;
    fin sino inicio
        avanzA;
    fin;
fin;
define-nueva-instruccion posicion como inicio
        avanza;
        mientras no-orientado-al-este hacer gira-izquierda;
        avanza;
        mientras no-junto-a-zumbador hacer avanza;
        mientras junto-a-zumbador y frente-libre hacer avanza;
        si frente-bloqueado entonces inicio
            repetir 2 veces gira-izquierda;
        fin sino inicio
            repetir 2 veces gira-izquierda;
            avanzA;
        fin;
        si junto-a-zumbador entonces repetir 3 veces gira-izquierda;
        mientras junto-a-zumbador hacer avanza;
        repetir 2 veces gira-izquierda;
        avanza;
fin;
define-nueva-instruccion suma como inicio
   si junto-a-zumbador entonces inicio
       mientras junto-a-zumbador y frente-libre hacer inicio
           mientras junto-a-zumbador hacer coge-zumbador;
           avanza;
       fin;
       mientras algun-zumbador-en-la-mochila hacer deja-zumbador;
       cambia;
   fin sino inicio
       compara;
   fin;
fin;
    inicia-ejecucion
        posicion;
        mientras no-orientado-al-oeste hacer suma;
        mientras junto-a-zumbador  hacer compara;
        apagate;
    termina-ejecucion
finalizar-programa
