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 次檢視

開啟你的 職業生涯

透過完成課程獲得認證

立即開始
廣告
© . All rights reserved.