跳转到内容

标准 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)。(提示:可以将平方函数重写为自然数的求和。)

(本节的解决方案在这里)

华夏公益教科书