跳轉到內容

標準 ML 程式設計/示例和練習

來自華夏公益教科書

值和函式

[編輯 | 編輯原始碼]
  • 指出以下程式碼片段中的識別符號、關鍵字和特殊常量。第二個a的值是多少?
 val a = 5
 val b = 9
 val a = 2*a+b;
  • 構造一個具有 4 個位置和 3 個元件的元組。
  • t 的型別是什麼?
 fun f a = 2
 val t = (true,f,f 1);
  • 編寫一個函式,對於引數 0、1 和 2 返回值 2,對於所有其他引數返回 3。
  • 編寫一個函式,對於所有負引數返回 -1,對於所有正引數返回 +1,對於引數 0 返回 0。
  • 建立一個函式 min(a:int,b:int),它返回其 2 個引數中較小的一個。用 3 種不同的方式對引數值進行分離。使用笛卡爾引數模式、使用投影和使用區域性宣告。

(本節的解決方案在這裡)

  • 建立一個函式 power9(x),計算 x 的 9 次方。最好使用盡可能少的乘法。
  • 計算 2 個正整數引數的最大公約數。
  • 計算 mul(n,z)=n*z,不使用 * 運算子,對於
  • 僅使用加法和遞迴計算 power2(n)。(提示:可以將平方函式重寫為自然數的求和。)

(本節的解決方案在這裡)

華夏公益教科書