iniciar-programa

            define-nueva-instruccion oeste como inicio
                mientras no-orientado-al-oeste hacer inicio
                    gira-izquierda;
                fin;
            FiN;

            define-nueva-instruccion sur como inicio
                mientras no-orientado-al-sur hacer inicio
                    gira-izquierda;
                fin;
             fin;


            define-nueva-instruccion norte como inicio
                mientras no-orientado-al-norte hacer inicio
                    gira-izquierda;
                fin;
            fin;


            define-nueva-instruccion gira-derecha como inicio
                repetir 3 veces inicio
                    gira-izquierda;
                fiN;
            fiN;

            define-nueva-instruccion posicionar como inicio
                   norte;
                 mientras frente-libre hacer inicio
                     avanza;
                 fin;
                    oeste;
                 mientras frente-libre hacer inicio
                     avanza;
                 fin;
                  si no-junto-a-zumbador entonces inicio
                      deja-zumbador;
                  fin;
                  sur;
             fin;

             define-nueva-instruccion primera-diagonal como inicio
                  mientras junto-a-zumbador y frente-libre hacer inicio
                       sur;
                  si frente-libre entonces inicio
                       avanza;
                   fin;
                       gira-izquierda;
                  si frente-libre entonces inicio
                       avanza;
                  fin;
                       sur;
                  si no-junto-a-zumbador entonces inicio
                       deja-zumbador;
                   fin;

               fin;

             fiN;

              define-nueva-instruccion segunda-diagonal como inicio
                  mientras junto-a-zumbador y frente-libre hacer inicio
                     sur;
                  si frente-libre entonces inicio
                       avanza;
                   fin;
                       gira-derecha;
                  si frente-libre entonces inicio
                       avanza;
                  fin;
                       sur;
                  si no-junto-a-zumbador entonces inicio
                       deja-zumbador;
                   fin;

                  fin;

              fiN;

       inicia-ejecucion
          posicionar;
          primera-diagonal;
          norte;
          mientras frente-libre hacer inicio
              avanza;
          fin;
          si no-junto-a-zumbador entonces inicio
           deja-zumbador;
          fin;
            sur;

          segunda-diagonal;


        apagate;
    termina-ejecucion
finalizar-programa
