Pesquisar este blog

Livros Recomendados

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

sexta-feira, 24 de março de 2023

URI (BEECROWD) - 1010 - Simple Calculate (Cálculo Simples) - Iniciante - Haskell

Olá!

Hoje vamos voltar a resolver um probleminha em Haskell (Simple Calculate / Cálculo Simples).

Esse exercício é bem fácil e pode ser resolvido com poucas linhas de código. Confira na sequência desse post!

Plataforma: Beecrowd (antiga URI)

Problema1010

Enunciado:

In english:
In this problem, the task is to read a code of a product 1, the number of units of product 1, the price for one unit of product 1, the code of a product 2, the number of units of product 2 and the price for one unit of product 2. After this, calculate and show the amount to be paid.


Linguagem: Haskell

Solução:

Precisamos obter os valores digitados em duas linhas. Isso pode ser obtido com getLine, mas o conteúdo da linha estará como String. Assim, para cada linha podemos criar uma lista de valores Double, sendo, em ordem, o código, a quantidade de unidades e o preço. A função read pode fazer essa conversão de String -> Double, mas precisamos que a função read seja passada como parâmetro para a função map, assim ela aplicará a conversão para todas as palavras da linha (por isso o parâmetro deve ser words product1 para a primeira linha e words product2 para a segunda), resultado em uma lista de Double, ou seja, um [Double].

Feito isto, basta calcular o valor total a ser pago, o que é feito obtendo o valor total da primeira linha (quantidade x preço do primeiro produto) e somando este valor ao total da segunda linha (também quantidade x preço, mas do segundo produto).

O resultado deve ser exibido no formato solicitado pelo exercício. Por estarmos trabalhando com valores monetários, o exercício exige a formatação do resultado em duas casas decimais. Para fazer essa formatação basta utilizar o printf e formatar o valor total com %.2f, isso delimita o resultado a duas casas decimais. Não esqueça de importar a função printf!

import Text.Printf (printf)
main :: IO ()
main = do   
   product1 <- getLine
   product2 <- getLine
   let [cod1, units1, price1] = map read (words product1) :: [Double]
   let [cod2, units2, price2] = map read (words product2) :: [Double]
   let total = units1 * price1 + units2 * price2
   printf "VALOR A PAGAR: R$ %.2f\n" (total)

Veja também aqui no blog a solução para o problema 1010 em outras linguagens!

Ah, só mais uma coisa: ajude mais uma vez o blog para que eu continue postando respostas em diversas linguagens! Segue novamente o PIX para doações é 6d8bc7a8-5d74-493a-ab7a-3515baf35956. Sua ajuda será muito útil. 

Um abraço e até a próxima!

segunda-feira, 20 de fevereiro de 2023

URI (BEECROWD) - 1004 - Produto Simples (Simple Product) - Iniciante - Haskell

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

Hoje estamos resolvendo mais um exercício em Haskell e postando para vocês. Esse é o problema do produto simples (simple product) do Beecrowd.

Plataforma: Beecrowd (antiga URI)


Problema1004

Enunciado:
Leia dois valores inteiros, no caso para variáveis A e B. A seguir, calcule o produto entre elas e atribua à variável PROD. A seguir escrever o valor desta variável.

Linguagem: Haskell

Solução:

Basta declarar nossa função main e ler dois valores (a e b) com readLn, sendo valores IO Int para trabalhar com inteiros lidos da entrada padrão. Após isso, basta utilizar putStrLn para exibir a mensagem "PROD = " concatenada com o resultado da multiplicação entre a e b, ou seja, concatenado com show(a*b). Lembre-se de que a função show converte a expressão para string, portanto, o produto entre a e b será calculado e depois convertido para string, assim sendo concatenado na função de saída (putStrLn) e formando a resposta no formato PROD = valor, como pede o enunciado. 

Veja o código abaixo:

main :: IO ()
main = do 
   a <- readLn :: IO Int 
   b <- readLn :: IO Int 
   putStrLn ("PROD = " ++ show(a*b))

sábado, 16 de maio de 2020

URI (BEECROWD) - 1004 - Produto Simples (Simple Product) - Iniciante - C++

Plataforma: URI
Problema1004

Enunciado:
Leia dois valores inteiros. A seguir, calcule o produto entre estes dois valores e atribua esta operação à variável PROD. A seguir mostre a variável PROD com mensagem correspondente.

Linguagem: C++

Solução:


#include <iostream>

int main() {
    int a, b;

    std::cin >> a >> b;
    std::cout << "PROD = " << a * b << std::endl;
    
    return 0;
}

terça-feira, 14 de abril de 2020

URI (BEECROWD) - 1004 - Produto Simples (Simple Product) - Iniciante - C

Plataforma: URI
Problema1004

Enunciado:
Leia dois valores inteiros. A seguir, calcule o produto entre estes dois valores e atribua esta operação à variável PROD. A seguir mostre a variável PROD com mensagem correspondente.

Linguagem: C

Solução:

Basta ler os valores "a" e "b" com scanf e depois imprimi-los na tela no formato solicitado com printf.

#include <stdio.h>

int main() {
    int a, b;

    scanf("%i %i", &a, &b);
    printf("PROD = %i\n", a * b);
}

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