Pesquisar este blog

Livros Recomendados

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

segunda-feira, 10 de abril de 2023

URI (BEECROWD) - 1011 - Sphere (Esfera) - Iniciante - Haskell

Voltando a fazer posts por aqui 😃

Hoje vamos resolver mais um problema de Haskell, o problema Esfera. Mais um da categoria Iniciante, é bem simples e bom para compreender os comandos básicos dessa linguagem declarativa.

Plataforma: Beecrowd (antiga URI)

Problema1011

Enunciado:

In english:
Make a program that calculates and shows the volume of a sphere being provided the value of its radius (R) . The formula to calculate the volume is: (4/3) * pi * R3. Consider (assign) for pi the value 3.14159. Tip: Use (4/3.0) or (4.0/3) in your formula, because some languages (including C++) assume that the division's result between two integers is another integer. :)

Linguagem: Haskell

Solução:

Precisamos obter o valor do raio (r) que é informado pelo usuário. Isso é feito usando readLn, e o tipo precisa ser IO Double, pois o raio não é um número inteiro, mas sim de ponto flutuante.

A fórmula a ser utilizada é r**3.0 * 3.14159 * 4.0/3.0. Basta imprimir este valor conforme solicitado no enunciado.

Para imprimir o resultado foi utilizado o printf (não esqueça do import para que esta função funcione), assim fica fácil delimitar as casas decimais. Lembre-se que o %.3f formata o resultado em ponto flutuante com três casas após a vírgula, exatamente como pede o enunciado.

import Text.Printf (printf)
main :: IO ()
main = do 
   r <- readLn :: IO Double
   printf "VOLUME = %.3f\n" (r**3.0 * 3.14159 * 4.0/3.0)

Aqui no blog também está disponível a solução para o problema 1011 em outras linguagens, então se você gosta de programar em linguagens imperativas, também vai encontrar a solução :)

E novamente peço para que ajude o blog, para que eu siga postando aqui respostas em diversas linguagens! Sei que isso ajuda muita gente que está iniciando na programação. O PIX para doações é 6d8bc7a8-5d74-493a-ab7a-3515baf35956. Sua ajuda será muito útil e eu agradeço demais!

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