本答案对应课程为:点我自动跳转查看
本课程起止时间为:2021-07-27到2021-10-19
本篇答案更新状态:已完结

第1讲 函数程序设计简介 单元测验:Haskell解释器

1、 问题:Haskell脚本扩展名为 
选项:
A:.txt
B:.doc
C:.java
D:.hs
答案: 【.hs

2、 问题:在解释器中计算下列表达式的值,结果是____(保留2位小数)提示:使用exp函数。
答案: 【1.65

3、 问题:在解释器中计算半径为5的圆面积(保留2位小数)
答案: 【78.54

4、 问题:利用牛顿-拉森迭代公式在解释器中计算3的第3次迭代结果__(保留3位小数)。
答案: 【1.732

5、 问题:根据Haskell主页primes表达式,计算21世纪有多少个素数年份。(提示:参见习题1.5).
答案: 【14

【作业】第2讲 函数、数据和类型 程序设计作业

1、 问题:编写判断一个整数是否偶数的程序:isEven :: Integer -> Bool  
评分规则: 【 符合语法要求,加载不出错,得1分。大部分可能是这样写的:isEven :: Integer -> Bool   
isEven x = mod x 2 == 0函数名一定要用isEven,输入参数用x, y, m, n, x1 等均可,但必须是小写字母开头。下面这样写是错误的,相等判断要用==。isEven :: Integer -> Bool   
isEven x = mod x 2 = 0
能够正常运行,结果正确,可得1分。大部分可能是这样写的;isEven :: Integer -> Bool   
isEven x = mod x 2 == 0

2、 问题:请编写一个名为 max3 的函数,计算三个实数(Float)中最大者。max3 :: Float -> Float -> Float -> Float
评分规则: 【 语法正确,可以运行,结果正确,可得3分。结果部分正确可得1-2分,否则不得分。简单的实现使用预定义函数max:max3 :: Float -> Float -> Float -> Float
max3 x y z = max x (max y z)也可以使用if … then … else …,比如(当然不一定与下面表达式一样,但是计算结果是一样的),max3 :: Float -> Float -> Float -> Float
max3 x y z = if x>=y && x >= z then x else 
          if y >=x && y>= z then y else z注意,if … then … else … 中else不可少,then和else后面仍然可以是if … then … else表达式。也可以写成下面形式,要注意缩进对齐,另外第二行没有等号,等号在每个条件之后:max3 :: Float -> Float -> Float -> Float
max3 x y z 
    | x>=y && x >= z  = x
    |  y >=x && y>= z = y
    | otherwise       = z因为不外乎三种情况:x是最大的,y是最大的,z是最大的。

第2讲 函数、数据和类型 数据、类型和Haskell语法

1、 问题:如果某个同学姓名是Bob Gates,那么在程序设计中表达该同学姓名的数据是
选项:
A:Bob Gates
B:"Bob Gates"
C:姓名:Bob Gates
D:姓名 = Bob Gates
答案: 【"Bob Gates"

2、 问题:下面哪个说法是正确的?
选项:
A:3.14和314是不同类型的数据。
B:“hello"和"Hello"是不同类型的数据。
C:"Male"和"Female"是不同类型的数据。
D:123和"123"是不同类型的数据。
答案: 【123和"123"是不同类型的数据。

3、 问题:下面哪个说法是错误的?
选项:
A:(1,2)和(3,4)是相同类型的数据。
B:(1,2)和(3,4,5)是相同类型的数据。
C:("Bob", 23)和("Alice", 100)是相同类型的数据。
D:3.14和314是相同类型的数据。
答案: 【(1,2)和(3,4,5)是相同类型的数据。

4、 问题:下面哪个是合于语法的f (x) = 3x+1的定义,其中x是实数。(可以选择不同的函数名)
选项:
A:f Float -> Float
f (x) = 3x+1
B:f :: Float -> Float
f (x) = 3x+1
C:F :: Float -> Float
F (x) = 3x+1
D:f :: Float -> Float
f X = 3X+1
E:myf :: Float -> Float
myf x = 3
x + 1
答案: 【myf :: Float -> Float
myf x = 3*x + 1

5、 问题:g :: Float -> Float
g x = 3x +1对于以上定义,在Haskell解释器中计算g应用于某个实数的结果,哪个表达式不合乎语法?
选项:
A:g 1.23
B:g 123
C:g -3.14
D:g (3.14
5)
答案: 【g -3.14

6、 问题:下面哪个表达式的计算结果是True?
选项:
A:mod 126 2 
B:mod 126 2 = 0
C:mod 126 2 == 0
D:mod 126 2 == 1
答案: 【mod 126 2 == 0

7、 问题:下面哪个表达式在n是偶数时,计算结果是True?
选项:
A:mod n 2
B:mod n 2 = 0
C:n mod 2 == 0
D:mod 2 n == 0
答案: 【n mod 2 == 0

8、 问题:在程序设计语义中,表达一个人的姓名、性别和电话的数据可以是
选项:
A:高兴,男,234588
B:("高兴",”Male", 234588)
C:(高兴,男,234588)
D:("高兴",”男", 234588)
E:("高兴",”M", 234588)
F:姓名:高兴,性别:男,电话:234588
答案: 【("高兴",”Male", 234588);
("高兴",”男", 234588);
("高兴",”M", 234588)

9、 问题:下面哪些数据具有类型Float?
选项:
A:3.14
B:1024
C:"hello"
D:"3.14"
E:3.142^2
答案: 【3.14;
1024;
3.14
2^2】

10、 问题:下面哪个是计算BMI的合乎语法的程序(函数)?
选项:
A:BMI :: Float -> Float -> Float
BMI h m = m / h^2
B:bmi :: Float -> Float -> Float
bmi h m = m / h^2
C:bmi :: Float -> Float -> Float
bmi height mass = mass / height^2
D:bmi :: Float -> Float -> Float
        bmi h m = m / h^2
E:bmi :: float -> float -> float
bmi h m = m / h^2
F:bmi :: Float -> Float -> Float
bmi x y = y / x^2
G:bmi :: Float -> Float -> Float
bmi 1h 2m = 2m / 1h^2
H:bmi :: Float -> Float -> Float
bmi Height Mass = Mass / Height^2
答案: 【bmi :: Float -> Float -> Float
bmi h m = m / h^2;
bmi :: Float -> Float -> Float
bmi height mass = mass / height^2;
bmi :: Float -> Float -> Float
bmi x y = y / x^2

11、 问题:下面哪些可以做函数名?
选项:
A:function
B:Function
C:f1
D:data
E:"f"
F:3f
G:f_
答案: 【function;
f1;
f_

12、 问题:下面哪些可以做函数的输入参数(变量)名?
选项:
A:x
B:xs
C:x0
D:0x
E:X
F:"xy"
G:xy_
H:_x
I:data
J:if
答案: 【x;
xs;

本门课程剩余章节答案为付费内容
本文章不含期末不含主观题!!
本文章不含期末不含主观题!!
支付后可长期查看
有疑问请添加客服QQ 2356025045反馈
如遇卡顿看不了请换个浏览器即可打开
请看清楚了再购买哦,电子资源购买后不支持退款哦

   

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注