Pesquisar este blog

Livros Recomendados

quarta-feira, 22 de fevereiro de 2023

URI (BEECROWD) - 1007 - Difference (Diferença) - Iniciante - Haskell

Buenas, pessoal!

Hora de resolver o problema "Diferença" (difference) do URI/Beecrowd em Haskell. É um problema bem simples, na mesma linha dos outros problemas iniciantes. Veja abaixo como fica a resposta!

Plataforma: Beecrowd (antiga URI)

Problema1007

Enunciado:

In english:
Read four integer values named A, B, C and D. Calculate and print the difference of product A and B by the product of C and D (A * B - C * D).

Em português:
Leia quatro valores inteiros nomeados A, B, C e D. Calcule e imprima a diferença do produto de A e B pelo produto de C e D (A * B - C * D).

Linguagem: Haskell

Solução:

Basta ler quatro inteiros (a, b, c, d) com readLn e definindo o tipo como IO Int e depois usar o putStrLn para colocar em tela uma mensagem como o exercício manda: "DIFERENCA = valor". No lugar de valor devemos colocar a expressão a*b - c*d. Dentro da função putStrLn precisamos converter o resultado dessa expressão para string, pois putStrLn coloca string na tela. Então precisamos da função show. O operador ++ faz a concatenação das listas "DIFERENCA = " com a lista que contém os caracteres da resposta de a*b - c*d, pois após a conversão a nossa resposta vira uma lista de caracteres (string).

O código fica da seguinte maneira:

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

Se você preferir, também pode utilizar let nessa solução. Caso tenha dúvidas sobre como fazer isso, você pode consultar outros posts sobre Haskell ou deixar um comentário que eu ajudo a fazer com let!

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

Nenhum comentário:

Postar um comentário

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