1、修改骰子程序,使其总是以一个随机数开始一系列投掷。
为了让骰子程序每次都以随机数开始一系列投掷,可调用内置函数 srand (该函数无参数),它会利用时间和日期生成一个“随机”种子。
建议在首次加载数据库/程序 dice 或首次使用 go 时调用该函数,且每个会话仅需调用一次。
另外,也可以编写一个包含 go 的函数,该新函数用于多次投掷时仅调用一次,此函数也会进行种子设置。
2、将程序 dice 改为 dice2,使其模拟投掷一个 12 面的骰子。
要将程序 dice 改为 dice2 来模拟投掷 12 面骰子,需要调整随机数生成逻辑。
- 原本生成 1 到 6 之间的随机数,是用
rand函数生成随机数后对 6 取模再加 1。 - 现在要生成 1 到 12 之间的随机数,应该对 12 取模再加 1。
具体修改:
- 将原本的
% rand #6改为% rand #12。 - 再将结果传递给
add1函数,以得到 1 到 12 之间的整数。
3、给定函数 (+ 3 (– 8 6)),其结果是什么?
首先计算括号内的 (- 8 6) ,结果为 2。
然后计算 (+ 3 2) ,结果为 5。
所以 (+ 3 (- 8 6)) 的结果是 5。
4、给定函数 (+ (–3 2) (– (+ 5 7) (– 7 3))),结果是多少?
首先计算括号内的值:
-
(– 3 2)= -1 -
(+ 5 7)= 12 -
(– 7 3)= 4
然后:
-
(– (+ 5 7) (– 7 3))=(– 12 4)= 8
最后:
-
(+ (–3 2) (– (+ 5 7) (– 7 3)))=(+ -1 8)= 7
所以结果是 7 。
5、一个函数可以有多少种不同的输出?
一个函数只能有一个输出。
6、‘s’和‘>’的类型分别是什么?
‘s’和‘>’的类型是char(字符)
7、在函数示意图中如何确定函数参数的顺序?以减法“–”为例,说明 a) – #10 #2 和 b) – #2 #10 之间的差异。
函数或构造函数参数的顺序,是从单个输出箭头(作为参考起点)按顺时针方向严格排序。
对于减法“–”:
- 在 a)
– #10 #2中,按参数顺序是用 10 减去 2,结果为 8; - 在 b)
– #2 #10中,是用 2 减去 10,结果为 -8。
不同的参数顺序会得到不同的计算结果。
8、函数式编程语言和命令式编程语言有哪些区别?
编程范式对比:函数式编程与命令式编程
函数式编程特点
- 不关注进程执行顺序
- 只要进程能完成,就会在等待所有参数值可用的进程之前完成
- 并行操作可按任意顺序执行
- 使用纯函数,具有 引用透明性

最低0.47元/天 解锁文章
3622

被折叠的 条评论
为什么被折叠?



