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 关键字来计算球体的体积和表面积。