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(); }
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(); }
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(); }
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); }
/// <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(); }