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

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

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

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

在此方法中,我们将看到两个使用不同技术的用户定义函数的示例。

算法

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

  • 步骤 2 - 体积和面积函数基于简单的数学公式定义,分别为体积 r = (4.0 / 3.0) * pi * (r ^ 3) 和面积 r = 4 * pi * (r ^ 2)。

  • 步骤 3 - 程序执行将从主函数开始。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 关键字

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

算法

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

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

  • 步骤 3 - 单个球体函数定义为球体 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 关键字来计算。


相关文章