iniciar-programa


  define-nueva-instruccion linea(n) como
      inicio
          mientras algun-zumbador-en-la-mochila hacer
                  inicio






                              deja-zumbador;
                              si orientado-al-este entonces
                                  inicio
                                      repetir n veces
                                      inicio
                                      si orientado-al-este entonces
                                      gira-izquierda;

                                      si frente-libre entonces
                                          avanza;

                                      gira-izquierda;
                                      si frente-libre entonces
                                          avanza;
                                      repetir 3 veces
                                              gira-izquierda;
                                              deja-zumbador;
                                              si izquierda-bloqueada y frente-libre entonces
                                              avanza;
                                   fin;
                                   fin
                                  sino
                                      inicio
                                          repetir n veces
                                          inicio
                                          si orientado-al-norte entonces
                                         repetir 3 veces
                                             gira-izquierda;
                                          si frente-libre entonces
                                              avanza;

                                          repetir 3 veces
                                              gira-izquierda;
                                          si frente-libre entonces
                                              avanza;

                                          gira-izquierda;
                                          deja-zumbador;
                                          si derecha-bloqueada y frente-libre entonces
                                          avanza;
                                      fin;
                                      fin;

                   linea(sucede(n))




                  fin;

      fin;
    inicia-ejecucion
    si frente-libre entonces
        avanza;
        repetir 2 veces
            gira-izquierda;
        si algun-zumbador-en-la-mochila entonces
            inicio
                 deja-zumbador;
                     avanza;
                     si algun-zumbador-en-la-mochila entonces
                     inicio
                 deja-zumbador;
                     gira-izquierda;
                     avanza;
                     deja-zumbador;
                     avanza;
                     fin
                     sino
                     inicio
                         repetir 2 veces
                             gira-izquierda;
                             avanza;
                             coge-zumbador;
                             repetir 2 veces
                                 gira-izquierda;
                                 avanza;
                                 deja-zumbador;
                                 fin;
            fin;

         linea(2);






        apagate;
    termina-ejecucion
finalizar-programa
