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程式語言中實現計算梯形面積程式的不同方法。

更新於:2022年12月14日

98 次瀏覽

開啟你的職業生涯

透過完成課程獲得認證

開始學習
廣告
© . All rights reserved.