Haskell程序检查数字是正数还是负数
在 Haskell 中,我们可以使用比较运算符和 if-else 语句来检查一个数字是正数还是负数。在第一个示例中,我们将使用 (isPositive n | n > 0 = "Positive" | n == 0 = "Zero" | otherwise = "Negative") 函数。在第二个示例中,我们将使用 (isPositive n = if n > 0 then "Positive" else if n == 0 then "Zero" else "Negative") 函数。
在以下示例中,函数 isPositive 接受一个整数参数 n,并返回一个字符串,指示该数字是正数、负数还是零。该函数使用模式匹配来确定 n 是否大于 0、等于 0 或小于 0。如果 n 大于 0,则该函数返回字符串 "Positive"。如果 n 等于 0,则返回字符串 "Zero"。如果 n 小于 0,则返回字符串 "Negative"。
算法
步骤 1 − isPositive 函数定义如下:
对于示例 1 和 2 −
| n > 0 = "Positive" | n == 0 = "Zero" | otherwise = "Negative".
对于示例 3 −
isPositive n = if n > 0 then "Positive" else if n == 0 then "Zero" else "Negative".
步骤 2 − 程序执行将从 main 函数开始。main() 函数控制整个程序。它写成 main = do。在 main 函数中,我们将值 -3 绑定到变量 n,然后使用 n 作为参数调用 isPositive 函数。最后,我们使用 putStrLn 将结果打印到控制台。
步骤 3 − 命名为“n”的变量正在初始化。它将保存要检查的数字,以确定它是正数还是负数。
步骤 4 − 函数调用后,使用‘putStrLn’将结果打印到控制台。
示例 1
在此示例中,我们使用运算符比较定义 isPositive 函数,以检查数字是正数还是负数。
isPositive :: Integer -> String isPositive n | n > 0 = "Positive" | n == 0 = "Zero" | otherwise = "Negative" main :: IO () main = do let n = -3 putStrLn (isPositive n)
Explore our latest online courses and learn new skills at your own pace. Enroll and become a certified expert to boost your career.
输出
Negative
示例 2
在此示例中,使用辅助函数 checkSign 来执行检查。辅助函数以 n 作为参数,如果 n 大于 0 则返回字符串 "Positive",如果 n 等于 0 则返回字符串 "Zero",如果 n 小于 0 则返回字符串 "Negative"。isPositive 函数调用辅助函数并返回结果。
isPositive :: Integer -> String isPositive n = checkSign n where checkSign n | n > 0 = "Positive" | n == 0 = "Zero" | otherwise = "Negative" main :: IO () main = do let n = -3 putStrLn (isPositive n)
输出
Negative
示例 3
在此示例中,我们使用 if-else 语句定义 isPositive 函数,以检查数字是正数还是负数。
isPositive :: Integer -> String isPositive n = if n > 0 then "Positive" else if n == 0 then "Zero" else "Negative" main :: IO () main = do let n = -3 putStrLn (isPositive n)
输出
Negative
结论
正数和负数是数学中的重要概念,因为它们用于各种数学运算,例如加法、减法、乘法和除法。使用正数和负数的规则帮助我们执行计算并理解不同数量之间的关系。在 Haskell 中,我们可以使用运算符比较或 if-else 语句来确定一个数字是正数还是负数。