Haskell 程序计算圆柱的体积和面积

haskellserver side programmingprogramming更新于 2025/5/8 6:22:17

本教程将帮助我们计算圆柱的体积和面积。圆柱的体积是圆柱内部空间量的度量。面积涉及圆柱的表面积。圆柱体积的公式是圆柱底面积(由 πr^2 给出)与高度 h 的乘积。圆柱体表面积的公式是两个圆形面的面积与矩形侧面面积之和。

算法

  • 步骤 1 - 导入 Text.Printf 模块。

  • 步骤 2 - 体积和面积函数基于简单的数学公式定义,体积 r h = pi * r * r * h 和面积 r h = (2 * pi * r * h) + (2 * pi * r * r)。

  • 步骤 3 - 程序执行将从主函数开始。main() 函数完全控制程序。它写为 main = do。主函数获取圆柱体的半径和高度,然后调用体积和面积函数来计算结果。

  • 步骤 4 - 初始化名为"radius"和"height"的变量。它将包含要计算其面积和体积的圆柱体的半径和高度。

  • 步骤 5 - 调用体积和面积函数后,使用"printf"语句显示最终的体积和面积值。

 使用用户定义的面积和体积函数

在此示例中,两个函数定义为体积和面积,它们以圆柱体的半径和高度为参数,分别返回其体积和表面积。

示例 1

import Text.Printf

volume :: Double -> Double -> Double
volume r h = pi * r * r * h

area :: Double -> Double -> Double
area r h = (2 * pi * r * h) + (2 * pi * r * r)

main :: IO ()
main = do
   let radius = 5
   let height = 10
   let vol = volume radius height
   let ar = area radius height
   printf "Volume of the cylinder is: %.2f
" vol printf "Surface area of the cylinder is: %.2f
" ar

输出

Volume of the cylinder is: 785.40
Surface area of the cylinder is: 471.24

使用 $ 运算符和打印函数

此方法使用 $ 运算符将右侧的函数应用于左侧的参数,从而有效地减少了函数调用周围括号的需要。最后,它使用打印函数将结果打印到控制台。

示例 2

import Text.Printf

volume :: Double -> Double -> Double
volume r h = pi * r * r * h

area :: Double -> Double -> Double
area r h = (2 * pi * r * h) + (2 * pi * r * r)

main :: IO ()
main = do
   let radius = 5
   let height = 10
   print $ "Volume of the cylinder is: " ++ show (volume radius height)
   print $ "Surface area of the cylinder is: " ++ show (area radius height)

输出

"Volume of the cylinder is: 785.3981633974483"
"Surface area of the cylinder is: 471.23889803846896"

结论

计算圆柱体积和面积的例子有很多,但计算圆柱体积和面积的数学公式始终保持不变。在 Haskell 中,可以使用用户定义函数或使用 $ 运算符和 print 函数来计算圆柱的体积和面积。


相关文章