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 次查看

启动你的 职业生涯

通过完成课程获得认证

开始学习
广告