Haskell程式:找出三個數中最大的數


在本教程中,我們將討論編寫一個程式來找出Haskell程式語言中三個數字中最大的數。

我們將學習三種不同的方法來實現Haskell中找出三個數字中最大的數的程式。

  • 使用if-else語句找出三個數中最大的數的程式。

  • 使用max函式找出三個數中最大的數的程式。

  • 使用maximum函式找出三個數中最大的數的程式。

語法

在返回IO操作的函式中,可以使用“let”關鍵字立即宣告和初始化變數。

let num=100

以上一行將整數數值載入到num中。我們可以在變數中載入其他資料型別的值。初始化後,資料型別嚴格繫結到變數。變數的型別在其初始化時確定。

在函式外部宣告和定義整數以及不使用IO操作的函式的語法

num :: Int

以上一行宣告變數num為Int型別。

注意 − 如果沒有進行資料型別宣告,以上一行是可選的;資料型別繫結在其初始化時發生。

num = 10

以上一行用整數10初始化變數num。我們不能載入其他資料型別,因為我們已將變數宣告為整數。如果載入其他資料型別,編譯器會報錯。這裡的變數型別在編譯時確定。

演算法步驟

  • 初始化或輸入三個數字。

  • 實現查詢三個數字中最大值的邏輯。

  • 列印或顯示三個數字中的最大數。

示例1

使用if-else語句找出三個數中最大的數的程式

-- function declaration findLargest :: Int->Int->Int->Int -- function definition findLargest a b c = if (a >= b) then if (a >= c) then a else c else if (b>=c) then b else c main :: IO() main = do -- declaring and initializing variables let a = 6 let b = 10 let c = 9 -- invoking the function findLargest and printing the result print ("largest among the three numbers:"++ show a ++" " ++ show b ++ " and " ++ show c ++ " is:") print (findLargest a b c)

輸出

"largest among the three numbers:6 10and 9 is:"
10

在上面的程式中,我們聲明瞭一個名為findLargest的函式,它接受三個整數作為引數並返回一個整數。在其函式定義中,我們接受三個引數a、b和c。在函式中,我們使用if-else語句實現了返回三個數字中最大值的邏輯。

邏輯是:

  • 首先我們比較a和b。如果a大於等於b。

    • 我們比較a和c。如果a大於等於c。

      • 我們返回變數a

      • 否則我們返回變數c

  • 如果a小於b,

    • 我們比較b和c,如果b大於等於c

      • 我們返回b

      • 否則我們返回c。

在主函式中,我們宣告並初始化了三個變數a、b和c。我們用這三個數字作為引數呼叫了findLargest函式。最後,我們使用print函式列印返回的數字。

注意show是一個用於將數字解析為字串的函式。“++”是連線兩個字串的運算子。

示例2

使用max函式找出三個數中最大的數的程式

main :: IO() main = do -- declaring and initializing variables let a = 6 let b = 10 let c = 9 -- computing the largest number using max function let largest = max (max a b) (max b c) -- printing the largest number print ("largest among the three numbers:"++ show a ++" " ++ show b ++ " and " ++ show c ++ " is:") print (largest)

輸出

"largest among the three numbers:6 10 and 9 is:"
10

在上面的程式中,我們宣告並初始化了三個變數a、b和c。我們使用max函式計算最大數,該函式接受兩個數字作為引數並返回它們中的最大數。我們透過使用max函式計算a、b和b、c中的最大數來計算三個數中的最大數。最後,我們列印返回的結果。

示例3

使用maximum函式找出三個數中最大的數的程式

main :: IO() main = do -- declaring and initializing variables let a = 6 let b = 10 let c = 9 -- computing the largest number using max function let largest = maximum [a,b,c] -- printing the largest number print ("largest among the three numbers:"++ show a ++" " ++ show b ++ " and " ++ show c ++ " is:") print (largest)

輸出

"largest among the three numbers:6 10 and 9 is:"
10

在上面的程式中,我們宣告並初始化了三個變數a、b和c。我們使用了maximum函式,該函式接受一個數字列表作為引數並返回列表中的最大數。我們用這三個變數生成了一個列表,並用這個列表作為引數呼叫了maximum函式,並將返回值載入到變數largest中。最後,我們列印了最大數。

結論

在本教程中,我們討論了在Haskell程式語言中以三種不同的方法實現一個程式來查詢三個數字中最大的數。

更新於:2022年11月24日

788 次瀏覽

開啟你的職業生涯

透過完成課程獲得認證

開始學習
廣告
© . All rights reserved.