iniciar-programa
    define-nueva-instruccion gd como inicio
        repetir 3 veces inicio
            gira-izquierda;
        fin;
    fin;

    define-nueva-instruccion metodo como inicio
         mientras junto-a-zumbador hacer inicio
              coge-zumbador; avanza;
         fin;




     si orientado-al-norte y no-junto-a-zumbador entonces inicio
             gira-izquierda;
             gira-izquierda;
         fin;

     si frente-bloqueado y orientado-al-sur entonces inicio
              gira-izquierda;

          fin;

      si frente-libre y orientado-al-este entonces inicio
              avanza;
              gira-izquierda;
          fin;

       mientras orientado-al-sur y frente-libre hacer inicio
               avanza;


               fin;

        mientras orientado-al-este y frente-bloqueado y derecha-bloqueada hacer inicio
              gira-izquierda;
              gira-izquierda;

            mientras algun-zumbador-en-la-mochila hacer inicio
           si frente-libre entonces inicio
               deja-zumbador;
               avanza;
           fin;

           si orientado-al-oeste y frente-bloqueado entonces  inicio
               gd; deja-zumbador; avanza; gd;
           fin;

           si orientado-al-este y frente-bloqueado entonces inicio
               gira-izquierda; deja-zumbador; avanza; gira-izquierda;
           fin;

           si ningun-zumbador-en-la-mochila entonces inicio
               apagate;
               fin;


       fin;

       fin;











       metodo;


    fin;

    inicia-ejecucion

    mientras no-orientado-al-norte hacer inicio
        gira-izquierda;
    fin;

    metodo;











    termina-ejecucion
finalizar-programa
