none
Ajuda em Exercício RRS feed

  • Pergunta

  • Boa tarde, não estou a conseguir resolver um exercicio, não estou entendendo como fazer a parte lógica (pseudocódigo).

    Poderiam me ajudar a interpretar e se puderem me ajudarem a interpretar no C C# Tambem ?

    Obrigado

    "

    Dado o conjunto de 5 valores reais, faça um algoritimo que:

    a) Exiba os valores que não são negativos.

    b)Calcule e exiba a média dos valores <0.

    "

    quarta-feira, 10 de abril de 2013 19:38

Respostas

  • Olá

    Aqui está o pseudocódigo (não está 100%, mas da para entender a lógica), veja só esta parte e tente fazer, se não conseguir ai sim veja o resto da resposta. Assim irá aprender mais.

    //Este está um pouco confuso, mas como já tem o código, de uma olhada que vc entende a lógica.
    
    Pegar numIntroduzido1
    
    Se numIntroduzido1 < 0
        então numNegativo1 = numIntroduzido1
    Senão Se numIntroduzid1o >= 0
        então numPositivo1 = numIntroduzido1
    
    //Isto + 4x
    
    Mostrar todos numPositivos
    
    Verificar os numNegativos que não são nulos, somar todos e dividir pelo numero de numNegativos Somados
    
    Ex:
    -5(numNegativo1) -2(numNegativo2) -3(numNegativo3)
    
    Então
        MediaNumNegativos = SomaNumNegativos / 3
    
    Mostrar MediaNumNegativos

    -----------------------------------------------------------------------------------------

    -----------------------------------------------------------------------------------------

    -----------------------------------------------------------------------------------------

    -----------------------------------------------------------------------------------------

    -----------------------------------------------------------------------------------------

    -----------------------------------------------------------------------------------------

    Resolução:

    //Variáveis
    List<double> valoresPositivos = new List<double>();
    List<double> valoresNegativos = new List<double>();
    double valorIntroduzido;
    
    for (int i = 1; i <= 5; i++) //i começa em 1, enquanto i for menor ou igual a 5 ele repete o processo
    {
        Console.Write("Introduza o " + i + "º Numero: "); //Escreve na consola
        valorIntroduzido = double.Parse(Console.ReadLine()); //Pega o valor introduzido pelo utilizador (usuário)
        if (valorIntroduzido < 0)
        {
            valoresNegativos.Add(valorIntroduzido); //Adiciona na lista dos Negativos o que foi introduzido pelo utilizador (usuário)
        }
        else if (valorIntroduzido >= 0)
            valoresPositivos.Add(valorIntroduzido); //Adiciona na lista dos Positivos o que foi introduzido pelo utilizador (usuário)
    }
    
    Console.WriteLine("Valores positivos: "); //Escreve na consola
    for (int i = 0; i < valoresPositivos.Count(); i++) //i começa em 0, enquanto i for menor ou igual ao total de valores na lista dos Positivos
    {
        Console.WriteLine(valoresPositivos[i].ToString()); //Escreve na consola o valor
    }
    
    Console.Write("Média dos valores negativos: "); //Escreve na consola
    Console.Write(valoresNegativos.Average()); //Escreve na consola a média dos valores
    
    Console.ReadLine(); //Espera alguma tecla ser pressionada, para fechar o programa

    Cumpz, ADAE.


    quarta-feira, 10 de abril de 2013 19:51
  • a) Percorra todos os itens usando um laço (for, while, etc), e utilize uma instrução if para verificar se o número em questão é maior que 0. Caso seja essa condição seja verdadeira imprima o número na tela com método Write da classe Console.

    b) Crie uma variável que irá receber a soma de todos os itens. Para fazer a soma percorra os itens com um laço e adicione o valor na variável. Depois do laço divida o valor da variável soma pela quantidade de itens que você tem.

    quarta-feira, 10 de abril de 2013 19:54
  • Somente para complementar estou postando aqui uma outra forma um pouco mais primitiva de fazer a mesma coisa segue abaixo :

        double[] Valores;
                double SomaNegativo, Media;
                int ContadorMedia;
                string Positivos = string.Empty;
                
                Valores = new double[5];
    
                for (int i = 0; i < Valores.Length; i++)
                {
                    Console.Write("Digite Valor "+(i + 1)+" : ");
                    Valores[i] = double.Parse(Console.ReadLine().Replace(".", ","));
                }
    
                Positivos = "";
                ContadorMedia = 0;
                SomaNegativo = 0;
    
                for (int i = 0; i < Valores.Length; i++)
                {
    
                    if (Valores[i] > 0)
                    {
                        Positivos += Valores[i] + "|";
                    }
                    else
                    {
                        ContadorMedia++;
                        SomaNegativo += Valores[i];
                    }
                }
    
                Media = (SomaNegativo != 0) ? (SomaNegativo / ContadorMedia) : 0;
    
                Console.WriteLine("Os numeros positivos são : {0}", Positivos.Substring(0,Positivos.Length - 1));
                Console.WriteLine("Média dos valore negativos : {0}", Media);
                Console.ReadLine();

    Espero ter ajudado

    Davi Murilo Referência Principal : Jesus que ilumina minha mente.
    Referência Profissonal : http://www.tidm.com.br



    quarta-feira, 10 de abril de 2013 20:52

Todas as Respostas

  • Olá

    Aqui está o pseudocódigo (não está 100%, mas da para entender a lógica), veja só esta parte e tente fazer, se não conseguir ai sim veja o resto da resposta. Assim irá aprender mais.

    //Este está um pouco confuso, mas como já tem o código, de uma olhada que vc entende a lógica.
    
    Pegar numIntroduzido1
    
    Se numIntroduzido1 < 0
        então numNegativo1 = numIntroduzido1
    Senão Se numIntroduzid1o >= 0
        então numPositivo1 = numIntroduzido1
    
    //Isto + 4x
    
    Mostrar todos numPositivos
    
    Verificar os numNegativos que não são nulos, somar todos e dividir pelo numero de numNegativos Somados
    
    Ex:
    -5(numNegativo1) -2(numNegativo2) -3(numNegativo3)
    
    Então
        MediaNumNegativos = SomaNumNegativos / 3
    
    Mostrar MediaNumNegativos

    -----------------------------------------------------------------------------------------

    -----------------------------------------------------------------------------------------

    -----------------------------------------------------------------------------------------

    -----------------------------------------------------------------------------------------

    -----------------------------------------------------------------------------------------

    -----------------------------------------------------------------------------------------

    Resolução:

    //Variáveis
    List<double> valoresPositivos = new List<double>();
    List<double> valoresNegativos = new List<double>();
    double valorIntroduzido;
    
    for (int i = 1; i <= 5; i++) //i começa em 1, enquanto i for menor ou igual a 5 ele repete o processo
    {
        Console.Write("Introduza o " + i + "º Numero: "); //Escreve na consola
        valorIntroduzido = double.Parse(Console.ReadLine()); //Pega o valor introduzido pelo utilizador (usuário)
        if (valorIntroduzido < 0)
        {
            valoresNegativos.Add(valorIntroduzido); //Adiciona na lista dos Negativos o que foi introduzido pelo utilizador (usuário)
        }
        else if (valorIntroduzido >= 0)
            valoresPositivos.Add(valorIntroduzido); //Adiciona na lista dos Positivos o que foi introduzido pelo utilizador (usuário)
    }
    
    Console.WriteLine("Valores positivos: "); //Escreve na consola
    for (int i = 0; i < valoresPositivos.Count(); i++) //i começa em 0, enquanto i for menor ou igual ao total de valores na lista dos Positivos
    {
        Console.WriteLine(valoresPositivos[i].ToString()); //Escreve na consola o valor
    }
    
    Console.Write("Média dos valores negativos: "); //Escreve na consola
    Console.Write(valoresNegativos.Average()); //Escreve na consola a média dos valores
    
    Console.ReadLine(); //Espera alguma tecla ser pressionada, para fechar o programa

    Cumpz, ADAE.


    quarta-feira, 10 de abril de 2013 19:51
  • a) Percorra todos os itens usando um laço (for, while, etc), e utilize uma instrução if para verificar se o número em questão é maior que 0. Caso seja essa condição seja verdadeira imprima o número na tela com método Write da classe Console.

    b) Crie uma variável que irá receber a soma de todos os itens. Para fazer a soma percorra os itens com um laço e adicione o valor na variável. Depois do laço divida o valor da variável soma pela quantidade de itens que você tem.

    quarta-feira, 10 de abril de 2013 19:54
  • Somente para complementar estou postando aqui uma outra forma um pouco mais primitiva de fazer a mesma coisa segue abaixo :

        double[] Valores;
                double SomaNegativo, Media;
                int ContadorMedia;
                string Positivos = string.Empty;
                
                Valores = new double[5];
    
                for (int i = 0; i < Valores.Length; i++)
                {
                    Console.Write("Digite Valor "+(i + 1)+" : ");
                    Valores[i] = double.Parse(Console.ReadLine().Replace(".", ","));
                }
    
                Positivos = "";
                ContadorMedia = 0;
                SomaNegativo = 0;
    
                for (int i = 0; i < Valores.Length; i++)
                {
    
                    if (Valores[i] > 0)
                    {
                        Positivos += Valores[i] + "|";
                    }
                    else
                    {
                        ContadorMedia++;
                        SomaNegativo += Valores[i];
                    }
                }
    
                Media = (SomaNegativo != 0) ? (SomaNegativo / ContadorMedia) : 0;
    
                Console.WriteLine("Os numeros positivos são : {0}", Positivos.Substring(0,Positivos.Length - 1));
                Console.WriteLine("Média dos valore negativos : {0}", Media);
                Console.ReadLine();

    Espero ter ajudado

    Davi Murilo Referência Principal : Jesus que ilumina minha mente.
    Referência Profissonal : http://www.tidm.com.br



    quarta-feira, 10 de abril de 2013 20:52
  • Olá,

    Se as respostas foram úteis, marque-as como tal, de modo a encerrar o tópico.

    Cumpz, ADAE.

    segunda-feira, 15 de abril de 2013 09:34