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 關鍵字來計算球體的體積和表面積。
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP