Haskell程序计算球体的体积和表面积


本教程将帮助我们计算球体的体积和表面积。球体的体积是球体内部空间大小的度量。而表面积涉及球体的表面积。

方法 1:使用用户定义函数

在这种方法中,我们将看到两个示例,其中我们使用了具有不同技术的用户定义函数。

算法

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

  • 步骤 2 − 根据简单的数学公式定义体积和表面积函数,体积 r = (4.0 / 3.0) * pi * (r ^ 3) 和表面积 r = 4 * pi * (r ^ 2)。

  • 步骤 3 − 程序执行将从 main 函数开始。main() 函数控制整个程序。main 函数获取球体的半径,然后调用体积和表面积函数来计算球体的体积和表面积。

  • 步骤 4 − 初始化名为“r”的变量。它将包含要计算表面积和体积的球体的半径。

  • 步骤 5 − 使用 'printf' 语句显示最终的体积和表面积结果值。

示例 1

此示例定义了两个函数 volume 和 area,它们都接收一个参数(球体的半径),并分别返回球体的体积和表面积。

import Text.Printf

volume :: Double -> Double
volume r = (4.0 / 3.0) * pi * (r ^ 3)

area :: Double -> Double
area r = 4 * pi * (r ^ 2)

main :: IO ()
main = do
   let r = 5.0
   let v = volume r
   let a = area r
    
   printf "Volume of sphere: %.2f
" v printf "Surface area of sphere: %.2f
" a

输出

Volume of sphere: 523.60
Surface area of sphere: 314.16

示例 2

在此示例中,sphere 函数接收一个参数(球体的半径),并返回一个包含球体的体积和表面积的元组。main 函数直接调用 sphere 函数,并使用模式匹配将结果赋值给 v 和 a。

import Text.Printf

sphere :: Double -> (Double, Double)
sphere r = ((4.0 / 3.0) * pi * (r ^ 3), 4 * pi * (r ^ 2))

main :: IO ()
main = do
   let r = 5.5   
   let (v, a) = sphere r
    
   printf "Volume of sphere: %.2f
" v printf "Surface area of sphere: %.2f
" a

输出

Volume of sphere: 696.91
Surface area of sphere: 380.13

方法 2:使用 Let 关键字

这种方法消除了为计算体积和表面积而使用单独函数的需要。main 函数获取球体的半径,读取输入,然后使用 let 关键字将计算结果绑定到变量 v 和 a。然后,结果将以两位小数的精度打印到屏幕上。

算法

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

  • 步骤 2 − 程序执行将从 main 函数开始。main() 函数控制整个程序。main 函数获取球体的半径,然后调用体积和表面积函数来计算球体的体积和表面积。

  • 步骤 3 − 定义单个 sphere 函数,sphere r = ((4.0 / 3.0) * pi * (r ^ 3), 4 * pi * (r ^ 2))。

  • 步骤 4 − 初始化名为“r”的变量。它将包含球体的半径。并且变量“v”和“a”分别初始化为包含计算球体体积和表面积的公式。

  • 步骤 5 − 使用 'printf' 语句显示最终的体积和表面积结果值。

示例 3

import Text.Printf

main :: IO ()
main = do

   let r = 5.0 :: Double
   let v = (4.0 / 3.0) * pi * (r ^ 3) :: Double
   let a = 4 * pi * (r ^ 2) :: Double

   printf "Volume of sphere with radius %.2f is: %.2f
" r v printf "Surface area of sphere with radius %.2f is: %.2f
" r a

输出

Volume of sphere with radius 5.00 is: 523.60
Surface area of sphere with radius 5.00 is: 314.16

结论

计算球体的体积和表面积有多种方法,但计算球体体积和表面积的数学公式将始终保持不变。在 Haskell 中,可以通过使用用户定义的多个函数或单个函数,或通过使用 let 关键字来计算球体的体积和表面积。

更新于: 2023年1月23日

210 次查看

开启你的 职业生涯

通过完成课程获得认证

立即开始
广告