segunda-feira, 3 de junho de 2019

URI Online Judge | 1006 - Média 2 ( Resolução Em Linguagem C )

Para a resolução deste problema serão usadas duas ferramentas:

VisualG, você pode baixar-lo clicando aqui. Ou saber mais clicando aqui.

Dev-C++, você pode baixa-lo clicando aqui. Ou saber mais clicando aqui.


Problema:

URI Online Judge |1006
Média 2

Leia 3 valores, no caso, variáveis A, B e C, que são as três notas de um aluno. A seguir, calcule a média do aluno, sabendo que a nota A tem peso 2, a nota B tem peso 3 e a nota C tem peso 5. Considere que cada nota pode ir de 0 até 10.0, sempre com uma casa decimal.


Entrada

O arquivo de entrada contém 3 valores com uma casa decimal, de dupla precisão (double).

Saída

Imprima a variável MEDIA conforme exemplo abaixo, com 1 dígito após o ponto decimal e com um espaço em branco antes e depois da igualdade. Assim como todos os problemas, não esqueça de imprimir o fim de linha após o resultado, caso contrário, você receberá "Presentation Error".


Exemplos de Entrada
Exemplos de Saída
5.0
6.0
7.0
MEDIA = 6.3
5.0
10.0
10.0
MEDIA = 9.0
10.0
10.0
5.0
MEDIA = 7.5

Resolução:

Assim como no URI Online Judge | 1005, o problema nos pede para calcular a média entre as notas de um aluno, e como cada nota tem um peso especifico se trata do calculo da média aritmética ponderada.
A formula da média aritmética ponderada é: 

 
Mp = X1.P1 + X2.P2 + X3.P3...

P1 + P2 + P3...
Onde:
Mp = Média ponderada.
X1 = Número 1.
P1 = peso 1.
X2 = Número 2.
P2 = peso 2.
X3 = Número 3.
P3 = peso 3.
E assim por diante.
Neste vídeo você pode entender melhor sobre média aritmética ponderada:
Não tenho nenhum vinculo com o autor do vídeo, mas ele explica de uma forma clara e fácil de entender.

Depois de efetuar o calculo é só armazenar o resultado na variável MEDIA e exibir o resultado conforme pedido no problema.

Algoritmo no VisualG.


Descrição linha a linha:

Linhas  com // seguidas de texto: Comentários a cerca do algoritmo.
Linha 5: Início da declaração da variáveis.
Linha 7: Declaração das variáveis. A,B,C e MEDIA são os nomes das variáveis, e são do tipo real.
Linha 9: Inicio da execução do programa.
Linhas 11 - 13: Comando Leia. Entrada dos valores das variáveis A  B e C.
Linha 14: Calculo. É calculada a Média aritmética ponderada, e o resultado é atribuído à variável MEDIA.
Linha 15: Comando escreval. Mostra na tela tudo oque está entre " ", no caso MEDIA =, o valor da variável MEDIA, e 1:1 especifica que no mínimo será usada uma casa antes da virgula, e as casas decimais serão limitadas a 1.
Linha 17: Fim do algoritmo.

Resolução em C:



Descrição linha a linha:

Linhas  com // seguidas de texto: Comentários a cerca do programa.
Linha 4: É carregada a biblioteca stdio.h responsável pelas funções básicas de entrada e saída em C.
Linha 6: Início da função main. A partir daqui se inicia a execução do programa.
Linha 7: Entrada das variáveis. A,B, C e MEDIA são as variáveis e são do tipo double.
Linha 8: Comando Leia. São pedidas as entradas dos valores para as variáveis A, B e C, %lf sinaliza que as variáveis são do tipo double, e & é necessário antes do nome da variável para indicar seu endereço de memoria ao programa.
Linha 9: Calculo. É calculada a Média aritmética ponderada, e o resultado é atribuído à variável MEDIA.
Linha 10: Comando Escreva. É mostrada a mensagem MEDIA = na tela seguida do valor da variável MEDIA. %1.1lf\n indica que será usada no minimo uma casa antes do ponto, e as casas decimais serão limitadas a 1. \n pula uma linha após a execução do comando.
Linha 12: Valor de retorno para a função main.
Linha 13: Fim da função main, e da execução do programa.

Você pode baixar esta resolução tanto no VisualG quanto em linguagem C clicando aqui.

Obrigado por visitar o PontoProgramar, espero que este conteúdo lhe tenha sido proveitoso.
Compartinhe esta postagem. isso será um grande incentivo ao meu trabalho para que possa trazer mais conteúdo sobre tecnologia e programação.

2 comentários:

  1. no uri, a resolução apresentada no site dá 65% correto...

    ResponderExcluir
    Respostas
    1. Oi e aí.
      Entendo mas você deve ter esquecido alguma coisa.
      O meu código é exatamente este e deu certo.

      // Descrição : Calcula a média aritmética ponderada entre três números.
      // Autor(a) : Leandro Martins

      #include

      int main(){
      double A,B,C,MEDIA;
      scanf("%lf%lf%lf", &A, &B, &C);
      MEDIA = (A*2+B*3+C*5)/10;
      printf("MEDIA = %1.1lf\n", MEDIA);

      return 0;
      }

      Excluir