Haskell程式檢查給定數字是否有限


在Haskell中,我們可以使用isIEEE、isInfinite和isNaN函式來檢查給定數字是否有限。在第一個示例中,我們將使用(isIEEE n)函式和if-else語句,在第二個示例中,我們將使用(isInfinite n)函式。在第三個示例中,我們將使用(isNaN)函式以及(isInfinite n)函式。

演算法

  • 步驟1 - 程式執行將從main函式開始。main()函式控制整個程式。它被寫成main = do。

  • 步驟2 - 變數名為“n”,正在被初始化。它將儲存要檢查的值,以確定該值是否有限。

  • 步驟3 - 透過將數字作為引數傳遞給內部函式來呼叫它。

  • 步驟4 - 在檢查整數後,使用'putStrLn'語句將結果列印到控制檯。

示例1

在這個例子中,我們將看到如何檢查給定數字是否有限。這可以透過使用isIEEE函式來完成。

main :: IO ()
main = do
   let n = 205678
   if isIEEE n
      then putStrLn $ show n ++ " is a finite number."
      else putStrLn $ show n ++ " is not a finite number."

輸出

205678.0 is a finite number.

示例2

在這個例子中,我們將看到如何檢查給定數字是否有限。這可以透過使用isInfinite函式來完成。此函式在匯入Data.Functor.Constant模組後使用。

import Data.Functor.Constant

main :: IO ()
main = do
   let n = 28567
   if isInfinite n
      then putStrLn $ show n ++ " is not a finite number."
      else putStrLn $ show n ++ " is a finite number."

輸出

28567.0 is a finite number.

示例3

在這個例子中,我們將看到如何檢查給定數字是否有限。這可以透過使用isInfinite和isNaN函式以及if-else語句來完成。此函式在匯入Data.Functor.Constant模組後使用。

import Data.Functor.Constant

main :: IO ()
main = do
   let n = 28567
   if isInfinite n
      then putStrLn $ show n ++ " is not a finite number."
      else if isNaN n
         then putStrLn $ show n ++ " is not a number."
         else putStrLn $ show n ++ " is a finite number."

輸出

28567.0 is a finite number.

結論

有限數是可以以有限的記憶體量或有限位數表示的數。無限數是指無法以有限的記憶體量或有限位數表示的數。在Haskell中,如果給定數字是有限的,則函式返回True,如果數字是無限的,則返回False。要檢查給定數字是否有限,我們可以使用is IEEE函式或isInfinite函式以及isNaN函式。它也可以使用if-else語句進行檢查。

更新於: 2023年3月13日

123 次檢視

啟動你的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.