使用 switch...case 的 Haskell 簡單計算器程式
在本文中,我們將學習如何使用 switch…case 在 Haskell 中建立一個簡單的計算器。在第一個示例中,我們將使用帶不同運算子的 case 語句;在第二個示例中,我們將使用函式對映 (fromList [('+', (+)), ('-', (-)), ('*', (*)), ('/', (/))])。
方法 1:使用 case 語句建立簡單計算器程式
在這種方法中,建立了一個簡單的 Haskell 計算器程式,它接受三個引數:x、op 和 y。x 和 y 的型別為 Double,op 的型別為 Char。calculator 函式接受這三個引數,並使用 case 語句檢查 op 的值。根據 op 的值,它對 x 和 y 執行相應的運算並返回結果。
演算法
步驟 1 − 使用 case 語句定義使用者定義的 calculator 函式。
步驟 2 − 程式執行將從 main 函式開始。main() 函式控制整個程式。
步驟 3 − 初始化名為“x”和“y”的變數以儲存運算元的值,並初始化“op”以儲存運算子。
步驟 4 − 呼叫函式後,使用‘print’函式將給定運算的結果列印到控制檯。
示例 1
在此示例中,我們將瞭解如何使用 case 語句建立簡單的計算器。
calculator :: Double -> Char -> Double -> Double calculator x op y = case op of '+' -> x + y '-' -> x - y '*' -> x * y '/' -> x / y _ -> error "Invalid operator" main :: IO () main = do let x = 5.0 let op = '*' let y = 2.0 print (calculator x op y)
輸出
10.0
示例 2
在此示例中,我們將瞭解如何使用帶 toLower 函式的 case 語句建立簡單的計算器。
import Data.Char (toLower) calculator :: Double -> Double -> Char -> Double calculator a b op = case toLower op of '+' -> a + b '-' -> a - b '*' -> a * b '/' -> a / b _ -> error "Invalid operator" main :: IO () main = do let a = 2 let b = 5 let op = "*" print (calculator a b (head op))
輸出
10.0
示例 3
在此示例中,我們將瞭解如何使用函式對映建立簡單的計算器。
import Data.Map (Map, fromList, lookup) calculator :: Double -> Char -> Double -> Double calculator x op y = case Data.Map.lookup op operators of Just f -> f x y Nothing -> error "Invalid operator" where operators = fromList [('+', (+)), ('-', (-)), ('*', (*)), ('/', (/))] main :: IO () main = do let x = 5.0 let op = '*' let y = 2.0 print (calculator x op y)
輸出
10.0
結論
簡單的計算器是一種裝置或程式,用於執行基本的數學運算,如加法、減法、乘法和除法。它通常具有使用者友好的介面,允許使用者輸入數字和運算子,並獲得計算結果。在 Haskell 中,可以使用 case 語句或使用帶 case 語句的 toLower 函式,以及使用函式對映來建立簡單的計算器。
廣告