Haskell程式:計算梯形面積
本教程討論如何在Haskell程式語言中編寫一個計算梯形面積並列印結果的程式。
梯形是一個只有一組對邊平行的四邊形。

上圖是一個梯形。其中一條平行邊的長度用a表示,另一條平行邊的長度用b表示。梯形的高度用h表示。
梯形的面積定義為(a+b)/(2*h),其中a和b是平行邊的長度,h是平行邊之間的高度或距離。
在本教程中,我們將學習兩種實現計算梯形面積程式的方法。
- 在主函式中計算梯形面積的程式。
- 使用自定義函式計算梯形面積的程式。
演算法步驟
- 輸入或初始化變數。
- 實現計算梯形面積的程式邏輯。
- 列印或顯示面積。
示例1
在主函式中計算梯形面積的程式
main :: IO()
main = do
-- declaring and initializing variables for sides and height
let a = 5
let b = 6
let h = 8
-- computing the area
let area = 0.5*(a+b)*h
-- printing or displaying the area
print ("The area of the trapezium with parallel sides "++ show a ++ "," ++ show b ++ " and height " ++ show h ++ " is:")
print (area)
輸出
"The area of the trapezium with parallel sides 5.0,6.0 and height 8.0 is:" 44.0
在上面的程式中,我們分別宣告並初始化了表示邊長和高度的變數a、b和h,其值分別為5、6和8。我們使用適當的公式和這些變數計算了梯形的面積,並將結果儲存在變數area中。最後,使用print函式列印面積。
注意 − show函式接收一個數字作為引數,並返回該數字的解析字串。“++”是Haskell中用於連線字串的運算子。
示例2
使用自定義函式計算梯形面積的程式
-- function declaration
area :: Float->Float->Float->Float
-- function definition
area a b h = 0.5*(a+b)*h
main :: IO()
main = do
-- declaring and initializing variables for sides and height
let a = 5
let b = 6
let h = 8
-- computing the area
let d = area a b h
-- printing or displaying the area
print ("The area of the trapezium with parallel sides "++ show a ++ "," ++ show b ++ " and height " ++ show h ++ " is:")
print (d)
輸出
"The area of the trapezium with parallel sides 5.0,6.0 and height 8.0 is:" 44.0
在上面的程式中,我們聲明瞭一個名為area的函式,它接收三個浮點數作為引數並返回一個浮點數。在函式定義中,接受三個引數a、b和h。在這個函式中計算梯形的面積並返回結果。在主函式中,我們分別宣告並初始化了表示邊長和高度的變數a、b和h,其值分別為5、6和8。我們使用a、b和h作為引數呼叫了area函式,並將返回的結果儲存在變數d中。最後,使用print函式列印面積。
結論
在本教程中,我們討論了在Haskell程式語言中實現計算梯形面積程式的不同方法。
廣告
資料結構
網路
關係資料庫管理系統(RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP