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)

輸出

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 語句來確定一個數字是正數還是負數。

更新於: 2023年3月27日

1K+ 瀏覽量

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.