Pesquisar este blog

Livros Recomendados

domingo, 30 de abril de 2023

URI (BEECROWD) - 1014 - Consumption (Consumo) - Iniciante - Haskell

Bom dia!

Hoje vim bem cedo aqui para já postar mais uma solução de exercício em Haskell, essa linguagem funcional que é muito fácil de usar :)

O exercício da vez também é da categoria Iniciante e se chama "Consumption" (Consumo). Nesse exercício a gente trabalha as questões de tipos e formatação de saída. É possível falar que a solução fica, de certa forma, parecida com a solução em C, pois a formatação também pode ser feita com printf, função disponível em C pela biblioteca stdio.

Então, vamos conferir a resposta?

Plataforma
: URI / BEECROWD

Problema1014

Enunciado:
Calcule o consumo médio de um automóvel sendo fornecidos a distância total percorrida (em Km) e o total de combustível gasto (em litros).

Linguagem: Haskell

Solução:

Aqui foi importante importar a função printf, disponível em Text.Printf, para poder formatar a saída com três casas decimais como pede o exercício. Na nossa função main, lemos os dois valores da entrada padrão com readLn definindo o tipo como IO Double, já que é lido da entrada padrão (stdin) e o valor é um número real.

Com os valores lidos, basta dividir o primeiro valor pelo segundo, formatando o printf com %.3f para delimitar em três casas decimais. Em Haskell há uma limitação na formatação, não aceitando %lf (long float, que seria o double) e aceitando somente %f. Dessa forma, usa-se %.3f e isso resolve o exercício!

import Text.Printf (printf)
main :: IO ()
main = do 
   distance <- readLn :: IO Double
   fuelTotal <- readLn :: IO Double
   printf "%.3f km/l\n" (distance / fuelTotal)

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