標準 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)。(提示:可以將平方函式重寫為自然數的求和。)
(本節的解決方案在這裡)