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 次浏览

开启你的职业生涯

通过完成课程获得认证

开始学习
广告