iniciar-programa
       define-nueva-instruccion deja(n) como inicio
     repetir n veces
     deja-zumbador;
     fin;

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

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

        define-nueva-instruccion avanzar(n) como inicio
        repetir n veces
        avanza;
        fin;


    inicia-ejecucion



         mientras orientado-al-norte y algun-zumbador-en-la-mochila y frente-libre y no-junto-a-zumbador hacer inicio
         deja(1);

          mientras frente-libre y junto-a-zumbador y orientado-al-norte hacer inicio
          avanza;
          si no-junto-a-zumbador y algun-zumbador-en-la-mochila entonces inicio
          deja(1);

          mientras junto-a-zumbador y algun-zumbador-en-la-mochila y orientado-al-norte y frente-libre hacer inicio
          Gira-derecha;
          avanza;
          gira-derecha;
           avanzar(1);

           mientras  no-junto-a-zumbador y algun-zumbador-en-la-mochila y no-junto-a-zumbador hacer inicio
           deja-zumbador;


            mientras junto-a-zumbador y algun-zumbador-en-la-mochila y orientado-al-norte  hacer inicio
          Gira-derecha;
          avanza;
          gira-derecha;
           avanzar(1);
           fin;

            mientras junto-a-zumbador y algun-zumbador-en-la-mochila y orientado-al-sur y frente-libre hacer inicio
            gira-izquierda;
            avanza;
            gira-derecha;
            avanza;
            fin;



           mientras frente-bloqueado y orientado-al-sur hacer inicio
           gira-derecha;

            mientras no-junto-a-zumbador y orientado-al-oeste y algun-zumbador-en-la-mochila hacer inicio
           deja-zumbador;
           fin;

           mientras frente-libre y orientado-al-oeste hacer inicio
           avanza;
           si frente-bloqueado entonces
           gira-derecha;


           mientras frente-libre y junto-a-zumbador y orientado-al-norte hacer inicio
           avanza;
           fin;




           fin;
           fin;
           fin;
            fin;


            fin;
            fin;
            fin;

        apagate;
    termina-ejecucion
finalizar-programa
