Haskell程序:获取给定数字的绝对值


Haskell具有negate、abs和signum等内部函数,可用于获取给定数字的绝对值。在第一个示例中,我们将使用(negate n)函数;在第二个示例中,我们将使用(abs)函数;在第三个示例中,我们将使用(signum x)函数。

算法

  • 步骤1 − 定义绝对值函数

  • 步骤2 − 程序执行将从main函数开始。main()函数控制整个程序。

  • 步骤3 − 初始化名为“num”的变量。它将保存需要打印绝对值的数字。

  • 步骤4 − 函数调用后,使用‘print’函数将结果的绝对值打印到控制台。

示例1

在这个例子中,我们将看到如何使用negate函数获取给定数字的绝对值。

magnitude :: (Ord a, Num a) => a -> a
magnitude x
   | x < 0     = negate x
   | otherwise = x

main :: IO ()
main = do
   let num = -5
   print (magnitude num)

输出

5

示例2

在这个例子中,我们将看到如何使用abs函数获取给定数字的绝对值。

magnitude :: (Ord a, Num a) => a -> a
magnitude = abs

main :: IO ()
main = do
   let num = -5
   print (magnitude num)

输出

5

示例3

在这个例子中,我们将看到如何使用abs函数和fromIntegral函数获取给定数字的绝对值。

magnitude :: (Integral a) => a -> a
magnitude x = fromIntegral $ abs x

main :: IO ()
main = do
   let num = -5
   print (magnitude num)

输出

5

示例4

在这个例子中,我们将看到如何使用signum函数获取给定数字的绝对值。

magnitude :: (Num a) => a -> a
magnitude x = x * (signum x)

main :: IO ()
main = do
   let num = -5
   print (magnitude num)

输出

5

结论

数字的绝对值始终为正数或零,与原数字的符号无关。

更新于:2023年3月13日

浏览量:189

开启你的职业生涯

完成课程获得认证

开始学习
广告