Pesquisar este blog

Livros Recomendados

Mostrando postagens com marcador 1005. Mostrar todas as postagens
Mostrando postagens com marcador 1005. Mostrar todas as postagens

segunda-feira, 20 de fevereiro de 2023

URI (BEECROWD) - 1005 - Average 1 (Média 1) - Iniciante - Haskell

Ajude o blog! PIX para doações: 6d8bc7a8-5d74-493a-ab7a-3515baf35956

Vamos resolver mais um exercício em Haskell!

Agora o problema Average 1 (Média 1)! Bora?!


Plataforma: Beecrowd (antiga URI)

Problema1005

Enunciado:

In english:
Read two floating points' values of double precision A and B, corresponding to two student's grades. After this, calculate the student's average, considering that grade A has weight 3.5 and B has weight 7.5. Each grade can be from zero to ten, always with one digit after the decimal point. Don’t forget to print the end of line after the result, otherwise you will receive “Presentation Error”. Don’t forget the space before and after the equal sign.

Linguagem: Haskell

Solução:

Aqui para formatar a saída como no exercício, com cinco casas decimais, é útil fazer uso da função printf, com %.5f ela formata com 5 casas decimais após a vírgula.

Eu usei let para guardar o valor do cálculo da média em "media". No entanto, isso não seria necessário. Abaixo fiz os códigos das duas formas, você pode testá-los na plataforma e verá que os dois são aceitos.

Aqui com let:

import Text.Printf (printf)
main :: IO ()
main = do
   a <- readLn :: IO Double
   b <- readLn :: IO Double
   let media = (a * 3.5 + b * 7.5) / 11.0
   printf "MEDIA = %.5f\n" (media)

Aqui sem let:

import Text.Printf (printf)
main :: IO ()
main = do
   a <- readLn :: IO Double
   b <- readLn :: IO Double
   printf "MEDIA = %.5f\n" ((a * 3.5 + b * 7.5) / 11.0)

domingo, 17 de maio de 2020

URI (BEECROWD) - 1005 - Média 1 - Iniciante - C++

Plataforma: URI (BEECROWD)
Problema1005

Enunciado:
Leia 2 valores de ponto flutuante de dupla precisão A e B, que correspondem a 2 notas de um aluno. A seguir, calcule a média do aluno, sabendo que a nota A tem peso 3.5 e a nota B tem peso 7.5 (A soma dos pesos portanto é 11). Assuma que cada nota pode ir de 0 até 10.0, sempre com uma casa decimal.

Linguagem: C++

Solução:


#include <iostream>
#include <iomanip>

using namespace std;

int main() {
    double a, b;

    cin >> a >> b;
    cout << "MEDIA = " << fixed << setprecision(5)
         << (a * 3.5 + b * 7.5) / 11.0 << endl;
    
    return 0;
}

quarta-feira, 15 de abril de 2020

URI (BEECROWD) - 1005 - Média 1 - Iniciante - C

Plataforma: URI (BEECROWD)
Problema1005

Enunciado:
Leia 2 valores de ponto flutuante de dupla precisão A e B, que correspondem a 2 notas de um aluno. A seguir, calcule a média do aluno, sabendo que a nota A tem peso 3.5 e a nota B tem peso 7.5 (A soma dos pesos portanto é 11). Assuma que cada nota pode ir de 0 até 10.0, sempre com uma casa decimal.

Linguagem: C

Solução:

Basta declarar dois valores em ponto flutuante, por exemplo, com o tipo double, e fazer a leitura deles com scanf. Para ler os valores double é necessário usar %lf (long float). Depois basta usar o printf para exibir a mensagem no padrão solicitado no enunciado do exercício. É necessário delimitar a saída a 5 casas decimais, por isso no printf se usa %.5lf.

Considerando os pesos de cada avaliação, é necessário fazer a * 3.5 + b * 7.5. O resultado disso precisa ser dividido por 11, pois a soma dos pesos é 11, conforme indicado no enunciado.

#include <stdio.h>

int main() {
    double a, b;
    
    scanf("%lf %lf", &a, &b);
    printf("MEDIA = %.5lf\n", (a * 3.5 + b * 7.5) / 11.0);
}

Postagem em destaque

URI (BEECROWD) - 2158 - Helping Uncle Cláudio (Ajudando o Tio Cláudio) - Matemática - C, C++ e Haskell

Buenas! Estou aqui mais uma vez para resolver um problema de Matemática! Agora tenho resolvido alguns dessa categoria, pra que vocês possam ...

Postagens mais visitadas