コード例 #1
0
        private static void LerArquivo()
        {
            Clear();
            WritePos(2, 2, "Insira o nome do arquivo texto: ");
            WritePos(2, 3, "(localizado na pasta root do projeto)");
            WritePos(2, 4, @"..\..\                          .txt");
            SetCursorPosition(8, 4);
            string caminho;

            try                                                                                                                                                 // executa o código verificando por exceções
            {
                string arquivo = ReadLine();
                if (arquivo.EndsWith(".txt"))                                                                                   // verifica se o usuário inseriu ".txt" no fim do
                {                                                                                                               // nome do arquivo, se não, insere automaticamente
                    caminho = @"..\..\" + arquivo;
                }
                else                                                                                                    // também é feita uma concatenação, completando o nome
                {                                                                                                       // do arquivo com um comando para voltar duas pastas no
                    caminho = @"..\..\" + arquivo + ".txt";                                                             // sistema de arquivos, de modo a encontrar o arquivo na
                }                                                                                                       // pasta root do projeto, e não em "\bin\Debug"

                var reader       = new StreamReader(caminho);                                                           // instancia um StreamReader usando a string concatenada com o arquivo
                var somaGeral    = new Somatoria();                                                                     // somatória de todos os números lidos
                var somaV        = new Somatoria();                                                                     // somatória dos valores V lidos com peso P
                var somaP        = new Somatoria();                                                                     // somatória apenas dos valores P lidos
                var prodGeral    = new Produtorio();                                                                    // produtório de todos os números lidos
                var somaInversos = new Somatoria();                                                                     // somatória dos inversos de todos os números lidos
                while (!reader.EndOfStream)
                {
                    string linhaLida = reader.ReadLine();                                                       // lê a linha e divide os valores em
                    double v         = double.Parse(linhaLida.Substring(0, 8));                                 // v,
                    double p         = double.Parse(linhaLida.Substring(8, 8));                                 // p

                    somaGeral.Somar(v);                                                                         // adiciona v e p à soma geral
                    somaGeral.Somar(p);
                    somaV.Somar(v * p);                                                                         // adiciona v com peso p à somaV
                    somaP.Somar(p);                                                                             // adiciona p à somaP
                    prodGeral.Multiplicar(v);                                                                   // adiciona v e p ao produtório geral
                    prodGeral.Multiplicar(p);
                    somaInversos.Somar(1 / v);                                                                  // adiciona os inversos de v e p à soma dos inversos
                    somaInversos.Somar(1 / p);
                }                                                                                               // repete até o fim do arquivo
                var mat = new MatematicaDouble(prodGeral.Valor);
                WritePos(2, 6, $"RMQ = {Math.Sqrt(somaGeral.MediaAritmetica())}");                              // calcula RMQ como a raiz da MA
                WritePos(2, 7, $"MA = {somaGeral.MediaAritmetica()}");                                          // calcula MA
                WritePos(2, 8, $"MP = {somaV.Valor / somaP.Valor}");                                            // calcula MP como média entre V com peso e P
                WritePos(2, 9, $"MG = {mat.NEsimaRaiz(prodGeral.Qtos)}");                                       // calcula MG como a n-ésima raiz do produto geral
                WritePos(2, 10, $"MH = {somaGeral.Valor / somaInversos.Valor}");                                // calcula MH como a soma geral dividida pela soma dos inversos
            }
            catch (Exception e)                                                                                 // se houver exceção, recebê-la e escrever sua mensagem
            {
                WritePos(2, 5, "O arquivo não pode ser lido:\n\n");
                WritePos(2, 6, e.Message);
                WriteLine();
            }
            EsperarEnterEstilo();
        }
コード例 #2
0
        private void Exercicio_5_7()
        {
            Clear();

            int Limite;

            Write(" Digite ate onde você quer contar : ");

            Limite = int.Parse(ReadLine());

            Contador  contador1 = new Contador(1, Limite, 1);
            Somatoria somatoria = new Somatoria();


            while (contador1.Prosseguir())
            {
                WriteLine();
                Write(contador1.Valor);
                somatoria.Somar(contador1.Valor);
            }

            WriteLine();

            WriteLine("======================");
            Write(" SOMA =  {0} | MEDIA = {1} ", somatoria.Valor, somatoria.MediaAritmetica());


            Tratador();
        }
コード例 #3
0
ファイル: Program.cs プロジェクト: edumigueis/math-algorithms
        static void LerArquivo()
        {
            int    N = 0;
            double result = 0, result2 = 0;

            Clear();
            ForegroundColor = ConsoleColor.DarkCyan;
            WritePos(5, 1, "=============================================================================");
            WritePos(5, 2, "        Estatística de uma lista de valores lidos de um arquivo texto     ");
            WritePos(5, 3, "=============================================================================");
            WritePos(8, 7, "Por favor digite o nome do arquivo desejado: ");
            string arquivo = ReadLine();

            var soma    = new Somatoria();
            var leitor  = new StreamReader(arquivo);
            var produto = new Produtorio();

            while (!leitor.EndOfStream) // leitura de cada linha e chamada de cálculos sobre estas
            {
                string linha = leitor.ReadLine();
                V = Convert.ToDouble(linha.Substring(inicioV, tamanhoV));
                P = Convert.ToDouble(linha.Substring(inicioP, tamanhoP));

                soma.Somar(V + P);
                produto.Multiplicar(V + P);
                soma.SomarComPeso(V, int.Parse(P + ""));
                soma.SomarInversos(V + P);
            }

            leitor.Close();

            double mediaAritmeticaCalculada     = soma.MediaAritmetica();
            double mediaGeometricaCalculada     = produto.MediaGeometrica();
            double raizMediaQuadraticaCalculada = soma.RaizMediaQuadratica();
            double mediaPonderadaCalculada      = soma.MediaPonderada();
            double mediaHarmonicaCalculada      = soma.MediaHarmonica();

            WritePos(8, 12, $"O valor da média aritmética é " + mediaAritmeticaCalculada);          //exibição de resultados
            WritePos(8, 14, $"O valor da média geométrica é " + mediaGeometricaCalculada);          //exibição de resultados
            WritePos(8, 16, $"O valor da raiz média quadrática é " + raizMediaQuadraticaCalculada); //exibição de resultados
            WritePos(8, 18, $"O valor da média ponderada é " + mediaPonderadaCalculada);            //exibição de resultados
            WritePos(8, 20, $"O valor da média harmônica é " + mediaHarmonicaCalculada);            //exibição de resultados
            WritePos(8, 25, "Pressione [Enter] para prosseguir");
            ReadLine();
        }
コード例 #4
0
        public void Calcular()
        {
            WriteLine("Digite o número da posiçao que quer sequenciar até");
            qtosValores = int.Parse(ReadLine());
            Contador  cont = new Contador(1, qtosValores, 1);
            Somatoria soma = new Somatoria();

            while (cont.Prosseguir())
            {
                n = int.Parse(ReadLine());
                if (cont.Valor == 1)
                {
                    vMenor = n;
                }
                if (n % 2 == 0)
                {
                    pares++;
                }
                if (n % 2 != 0)
                {
                    impares++;
                }
                if (n > vMaior)
                {
                    vMaior = n;
                }
                if (n < vMenor)
                {
                    vMaior = n;
                }
                soma.Somar(n);
                cont.Contar();
            }
            double MediaA = soma.MediaAritmetica();

            WriteLine("Soma é: " + (soma.Soma) + " Média é " + MediaA + " A quantidade de impares é " + impares + " A quantidade de pares " + pares + " O maior valor "
                      + vMaior + " E o menor " + vMenor);
        }
コード例 #5
0
        /// <summary>
        /// ////////////////////////////////////////////////////////
        /// </summary>
        ///


        private void Exercicio_5_25()
        {
            Clear();

            int Limite;
            int numeroAtual;


            Write(" Digite quantos numeros você vai escrever -> ");

            Limite = int.Parse(ReadLine());

            Write("\n=============================================\n");


            Contador contador = new Contador(1, Limite, 1);
            Contador Tipo1    = new Contador(0, int.MaxValue, 1);
            Contador Tipo2    = new Contador(0, int.MaxValue, 1);
            Contador Tipo3    = new Contador(0, int.MaxValue, 1);
            Contador Tipo4    = new Contador(0, int.MaxValue, 1);
            Contador Tipo5    = new Contador(0, int.MaxValue, 1);
            Contador Tipo6    = new Contador(0, int.MaxValue, 1);

            Somatoria somatoria1 = new Somatoria();
            Somatoria somatoria2 = new Somatoria();
            Somatoria somatoria3 = new Somatoria();
            Somatoria somatoria4 = new Somatoria();
            Somatoria somatoria5 = new Somatoria();
            Somatoria somatoria6 = new Somatoria();


            while (contador.Prosseguir())
            {
                Write(" Digite o seu {0}° a Comparar -> ", contador.Valor);



                numeroAtual = int.Parse(ReadLine());

                if (numeroAtual <= 0)
                {
                    Tipo1.Contar();
                    somatoria1.Somar(numeroAtual);
                }

                if (numeroAtual >= 0 && numeroAtual <= 25)
                {
                    Tipo2.Contar();
                    somatoria2.Somar(numeroAtual);
                }

                if (numeroAtual >= 26 && numeroAtual <= 50)
                {
                    Tipo3.Contar();
                    somatoria3.Somar(numeroAtual);
                }

                if (numeroAtual >= 51 && numeroAtual <= 75)
                {
                    Tipo4.Contar();
                    somatoria4.Somar(numeroAtual);
                }

                if (numeroAtual >= 76 && numeroAtual <= 100)
                {
                    Tipo5.Contar();
                    somatoria5.Somar(numeroAtual);
                }

                if (numeroAtual >= 100)
                {
                    Tipo6.Contar();
                    somatoria6.Somar(numeroAtual);
                }
            }

            Write(" \n------------------------------------------------------------- \n");
            if (Tipo1.Valor > 0)
            {
                WriteLine(" [ -infinito, 0 ] = {0}     MEDIA = {1} ", Tipo1.Valor, somatoria1.MediaAritmetica());
            }

            if (Tipo2.Valor > 0)
            {
                WriteLine(" [0, 25] = {0}              MEDIA = {1} ", Tipo2.Valor, somatoria2.MediaAritmetica());
            }

            if (Tipo3.Valor > 0)
            {
                WriteLine(" [26,50] = {0}              MEDIA = {1} ", Tipo3.Valor, somatoria3.MediaAritmetica());
            }

            if (Tipo4.Valor > 0)
            {
                WriteLine(" [51,75] = {0}              MEDIA = {1} ", Tipo4.Valor, somatoria4.MediaAritmetica());
            }

            if (Tipo5.Valor > 0)
            {
                WriteLine(" [76,100] = {0}             MEDIA = {1} ", Tipo5.Valor, somatoria5.MediaAritmetica());
            }

            if (Tipo6.Valor > 0)
            {
                WriteLine(" [100,+infinito] = {0}      MEDIA = {1} ", Tipo6.Valor, somatoria6.MediaAritmetica());
            }

            Tratador();
        }