iniciar-programa
   define-nueva-instruccion media-vuelta como inicio
      gira-izquierda;
      gira-izquierda;
   fin;

   define-nueva-instruccion gira-derecha como inicio
      gira-izquierda;
      gira-izquierda;
      gira-izquierda;
   fin;

   define-nueva-instruccion recoge como
   inicio
      si no orientado-al-norte entonces
      inicio
          si junto-a-zumbador entonces
             inicio
                coge-zumbador;
                si no-junto-a-zumbador entonces
                   inicio
                      deja-zumbador;
                      media-vuelta;
                      avanza;
                      gira-izquierda;
                   fin
                   sino inicio
                       coge-zumbador;
                   fin;
              fin;
             avanza;
             recoge;
       fin;
       fin;

     define-nueva-instruccion otra-vez como
     inicio
         recoge;
         mientras no-orientado-al-este hacer
         inicio
         si junto-a-zumbador entonces
             inicio
                coge-zumbador;
                si no-junto-a-zumbador entonces
                   inicio
                      deja-zumbador;
                      media-vuelta;
                      avanza;
                      gira-izquierda;
                   fin
                   sino inicio
                       coge-zumbador;
              fin;
              fin;
              avanza;
          fin;
        fin;

        define-nueva-instruccion arco-recorre como
        inicio
           otra-vez;
           si no-junto-a-zumbador entonces inicio
              gira-derecha;
              avanza;
              avanza;
              gira-izquierda;
              avanza;
              arco-recorre;
           fin
           sino inicio
           media-vuelta;
           avanza;
           mientras algun-zumbador-en-la-mochila hacer
              inicio
                 deja-zumbador;
              fin;
         fin;
      fin;

      define-nueva-instruccion mitad como
      inicio
          si junto-a-zumbador entonces inicio
              repetir 2 veces coge-zumbador;
              mitad;
              deja-zumbador;
           fin;
      fin;

          inicia-ejecucion
          arco-recorre;
          mitad;
        apagate;
    termina-ejecucion
finalizar-programa
