Haskell程式:讀取身高並判斷是高個子、矮個子還是中等身高
本教程將幫助我們讀取一個人的身高,並根據比較結果列印該人是高個子、矮個子還是中等身高。身高值(以釐米為單位)作為引數傳遞給定義的函式,然後將身高與Haskell中定義的條件進行比較。最後顯示最終輸出。
演算法
步驟1 - 程式執行將從main函式開始。main()函式控制整個程式。
步驟2 - 建立使用者自定義函式來執行任務
步驟3 - if-else語句根據身高定義:如果身高 > 180,則該人是高個子;否則如果身高 < 150,則該人是矮個子;否則該人身高中等。
步驟4 - 使用‘putStrLn’語句,在比較身高值後顯示最終輸出。
使用if-else語句
在這個例子中,我們將使用if-else語句來檢查身高值並列印相應的訊息。
示例1
main :: IO () main = do let height = 165 if height > 180 then putStrLn "You are a tall person." else if height < 150 then putStrLn "You are a dwarf." else putStrLn "You are an average height person."
輸出
You are an average height person.
使用使用者自定義函式
在這個例子中,heightDescription函式用於根據輸入確定人的身高描述。heightDescription函式使用保護子句來檢查輸入值是否符合各種條件,並根據輸入返回相應的字串。
示例2
main :: IO () main = do let height = 185 putStrLn (heightDescription height) heightDescription :: Float -> String heightDescription height | height > 180 = "You are a tall person." | height < 150 = "You are a dwarf." | otherwise = "You are an average height person."
輸出
You are a tall person.
使用模式匹配
在這個例子中,使用模式匹配來根據輸入確定人的身高描述。
示例3
main :: IO () main = do let height = 145 putStrLn (heightDescription height) heightDescription :: Float -> String heightDescription height = case height of h | h > 180 -> "You are a tall person." h | h < 150 -> "You are a dwarf." _ -> "You are an average height person."
輸出
You are a dwarf.
結論
在Haskell中,有多種方法可以讀取一個人的身高,然後預測其身高描述。為了檢查這一點,我們可以使用if-else語句、使用者自定義的heightDescription函式或使用模式匹配。身高值作為引數傳遞給這些函式,然後將該人的身高描述作為輸出顯示。
廣告