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

開啟你的職業生涯

完成課程獲得認證

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