大学MOOC 计算机导论(长沙学院)1454515167 最新慕课完整章节测试答案
第二次测试考核(计入成绩)
第二次测试考核(计入成绩)
1、单选题:
关于计算机语言,下列说法不正确的是_____。
选项:
A: 所有源程序最后都需被转换为汇编语言程序,机器才能够执行
B: 所谓“高级语言”和“低级语言”是指其和机器硬件的相关程度,不涉及机器硬件的语言为高级语言,而与机器硬件相关的语言则为低级语言
C: 低级语言程序执行效率高是因为用低级语言编程时可以充分利用硬件的各种特殊性,而高级语言则只能使用硬件的标准结构
D: 高级语言编程效率高是因为其可用大粒度积木块来构造程序,比一行行语句、一条条指令来编程效率高出很多
答案: 【 所有源程序最后都需被转换为汇编语言程序,机器才能够执行】
2、单选题:
关于计算机语言,下列说法不正确的是_____。
选项:
A: 其它三个选项有不正确的
B: 汇编语言和机器语言是以指令为单位来编写程序
C: 高级语言是以语句为单位来编写程序,一条语句相当于若干条指令(或者说一条语句可用若干条指令来实现)
D: 面向对象语言或可视化构造语言是以对象(类)为单位来编写程序,一个对象相当于若干条语句((或者说一个对象可用若干条语句来实现)
答案: 【 其它三个选项有不正确的】
3、单选题:
关于计算机语言的编译,下列说法不正确的是_____。
选项:
A: 其它三个选项有不正确的
B: 需要“分词”,将其中的常量、变量名和保留字识别出来,并分类及编号
C: 需要识别每一条语句所对应的“模式”。任意语句的常量和变量名被归为“标识符”类别,而标识符与保留字的不同组合关系构成了语句的模式;计算机语言是由有限的语句模式构成的
D: 对每一种模式,都有相应的组合构造方法,即模式可被认为是由原子模式或说基本模式通过组合的方法构造出来的,对原子模式或者基本模式可以事先写好其相应的目标语言的指令或语句
E: 按照模式由原子模式的组合次序,可将模式语句转换成目标语言的指令或语句;进一步按照分类及编号将常量、变量名代入形成最终的目标语言程序,完成编译
答案: 【 其它三个选项有不正确的】
4、单选题:
关于普通计算机语言(或者说程序)的基本构成要素,下列说法最完整的是_____。
选项:
A: 常量与变量、表达式、语句和函数
B: 常量与变量和表达式
C: 常量与变量、表达式和语句
D: 都不完整
答案: 【 常量与变量、表达式、语句和函数】
5、单选题:
从语言编译角度看计算机语言,下列说法不正确的是_____。
选项:
A: 其它三个选项有不正确的
B: 计算机语言就是由标识符和保留字构成的,标识符是可由程序员按规则任意命名的符号,而保留字则是编译器识别语句模式的重要符号
C: 计算机语言定义了基本元素的集合,以及基本元素的组合构造规则,所谓基本元素即是指标识符和保留字,所谓组合构造规则即是指语句的书写模式,即不同标识符和保留字的组合规则
D: 标识符可以是常量、变量名,也可以是函数名;保留字可以是赋值符号如“=”、语句结束符号如“;”、基本运算符号如“+”“-”“*”“/”、程序段落符号如“{ }”等,保留字还可以是其他语句模式的标志性符号
答案: 【 其它三个选项有不正确的】
6、单选题:
关于表达式,下列说法不正确的是_____。
选项:
A: 比较表达式中不能含有算术表达式,逻辑表达式中可以含算术表达式
B: 由常量、变量及各种算术运算符构造的表达式,被称为算术表达式,其结果为一数值
C: 由常量、变量和各种比较运算符构造的表达式,被称为比较表达式,其结果只能为逻辑“真”或“假”
D: 由常量、变量和各种逻辑运算符构造的表达式,被称为逻辑表达式,其结果只能为逻辑“真”或“假”
答案: 【 比较表达式中不能含有算术表达式,逻辑表达式中可以含算术表达式】
7、单选题:
已知A=40;B=30;C=100;D=50,计算表达式 (A + (C – B) *3) / D 的值,结果为_____。
选项:
A: 5
B: -5
C: 10
D: 4
答案: 【 5】
8、单选题:
已知A=40;B=30;C=100;D=50,计算表达式 (A * A - B * B) + D 的值,结果为_____。
选项:
A: 750
B: 70
C: 150
D: 570
答案: 【 750】
9、单选题:
已知A=40;B=30;C=100;D=50,逻辑“与”运算符为and,“或”运算符为or,“非”运算符为not。计算表达式 (A > B) and (B < C )的值,结果为_____。
选项:
A: 真
B: 100
C: 30
D: 假
答案: 【 真】
10、单选题:
已知A=40;B=30;C=100;D=50,逻辑“与”运算符为and,“或”运算符为or,“非”运算符为not。计算表达式 (A > B +20 ) or (B +60 < C )的值,结果为_____。
选项:
A: 真
B: 100
C: 30
D: 假
答案: 【 真】
11、单选题:
已知A=40;B=30;C=100;D=50,逻辑“与”运算符为and,“或”运算符为or,“非”运算符为not。计算表达式C > A +B +D的值,结果为_____。
选项:
A: 假
B: 真
C: 100
D: 120
答案: 【 假】
12、单选题:
已知A=40;B=30;C=100;D=50,逻辑“与”运算符为and,“或”运算符为or,“非”运算符为not。计算表达式A + A * 5的值,结果为_____。
选项:
A: 240
B: 400
C: 真
D: 假
答案: 【 240】
13、单选题:
已知A=40;B=30;C=100;D=50,逻辑“与”运算符为and,“或”运算符为or,“非”运算符为not。计算表达式A < A * 5的值,结果为_____。
选项:
A: 真
B: 假
C: 40
D: 200
答案: 【 真】
14、单选题:
已知A=40;B=30;C=100;D=50,逻辑“与”运算符为and,“或”运算符为or,“非”运算符为not。计算表达式(A> B) and (A<=B)的值,结果为_____。
选项:
A: 假
B: 真
C: 40
D: 200
答案: 【 假】
15、单选题:
已知X=21, Y=15, Z=22,计算表达式 ((X>Y) or (Y>Z)) and ((X<Y) or (Y<Z))的值,结果为_____。
选项:
A: 真
B: 10
C: 4
D: 假
答案: 【 真】
16、单选题:
已知X=21, Y=15, Z=22,计算表达式 ((X>Y) AND (Y>Z)) OR ((X<Y) AND (Y<Z))的值,结果为_____。
选项:
A: 假
B: 真
C: 10
D: 4
答案: 【 假】
17、单选题:
已知X=21, Y=15, Z=22,计算表达式 ((X>Y) AND (Y>Z)) OR ((X<Z) AND (Y<Z))的值,结果为_____。
选项:
A: 真
B: 假
C: 10
D: 4
答案: 【 真】
18、单选题:
读程序,并回答问题:该程序执行完成后,N的值为_____。N = 101;
If N/2 == 0 Then
N = N/2;
Else
N = N * 3 + 1;
End If
选项:
A: 304
B: 101
C: 55.5
D: 167.5
答案: 【 304】
19、单选题:
已知程序如下,若X=10, Y=20, Z=30,该程序执行完成后,X的值为_____。X = Z + Y;
If Y < Z {
X = X – Y; }
Else{
X= X – Z; }
X = X – Y;
If X < Z { X = Y +20; }
X = X – Z;
If X > Y { X = X – Y; }
选项:
A: 10
B: 20
C: 30
D: 40
答案: 【 10】
20、单选题:
已知程序如下,若X=10, Y=50, Z=30该程序执行完成后,X的值为_____。X = Z + Y;
If Y < Z {
X = X – Y; }
Else{
X= X – Z; }
X = X – Y;
If X < Z { X = Y +20; }
X = X – Z;
If X > Y { X = X – Y; }
选项:
A: 40
B: 10
C: 20
D: 30
答案: 【 40】
21、单选题:
已知程序如下,若X=30, Y=30, Z=30该程序执行完成后,X的值为_____。X = Z + Y;
If Y < Z {
X = X – Y; }
Else{
X= X – Z; }
X = X – Y;
If X < Z { X = Y +20; }
X = X – Z;
If X > Y { X = X – Y; }
选项:
A: 20
B: 10
C: 30
D: 40
答案: 【 20】
22、单选题:
读程序,并回答问题:该程序执行完成后,Sum的值为_____。 X=1;
Y=2;
Sum=0;
Do { Sum = X+Y;
X=X+1;
Y=Y+1;
} While (Sum<=20);
选项:
A: 21
B: 20
C: 19
D: 18
答案: 【 21】
23、单选题:
读程序,并回答问题:该程序执行完成后,X的值为_____。 X=1;
Y=2;
Sum=0;
Do { Sum = X+Y;
X=X+1;
Y=Y+1;
} While (Sum<=20);
选项:
A: 11
B: 10
C: 9
D: 8
答案: 【 11】
24、单选题:
读程序,并回答问题:该程序执行完成后,Z的值为_____。 (10) N = 6;
(20) X = 0;
(30) Y = 1;
(40) For I = 1 To N-1 Step 1
(50) Z = X + Y;
(60) X = Y;
(70) Y = Z;
(80) Next I;
选项:
A: 8
B: 3
C: 5
D: 13
答案: 【 8】
25、单选题:
读程序,并回答问题:程序行(60)执行了多少次?次数为_____。 (10) N = 6;
(20) X = 0;
(30) Y = 1;
(40) For I = 1 To N-1 Step 1
(50) Z = X + Y;
(60) X = Y;
(70) Y = Z;
(80) Next I;
选项:
A: 5
B: 4
C: 6
D: 7
答案: 【 5】
26、单选题:
已知函数Fact的程序如下,Fact(4)的值为_____。 Long Int Fact(int n)
{ Long Int x;
If (n > 1)
{ x = Fact(n-1);
return n*x; }
else return 1;
}
选项:
A: 24
B: 10
C: 120
D: 15
答案: 【 24】
27、单选题:
已知函数Fact的程序如下,在执行Fact(5)的过程中,Fact函数被调用的次数为_____。 Long Int Fact(int n)
{ Long Int x;
If (n > 1)
{ x = Fact(n-1);
return n*x; }
else return 1;
}
选项:
A: 5
B: 3
C: 4
D: 6
答案: 【 5】
28、单选题:
关于不同抽象层面的计算机,下列说法不正确的是_____。
选项:
A: 不同抽象层次的计算机指的是各种抽象层次的硬件系统,只有硬件计算机才能被称为计算机
B: 实际机器层面之上,不同层次的计算机即是指各种层次的软件系统
C: 实际机器层面之上,不同层次的计算机,其本质是为用户提供一个计算机语言,用户可用该语言表达具体的操作需求,同时提供一个编译器将操作需求转换为机器可以执行的程序,最终实现用户的操作需求
D: 其它三个选项有不正确的
答案: 【 不同抽象层次的计算机指的是各种抽象层次的硬件系统,只有硬件计算机才能被称为计算机】
29、单选题:
关于不同抽象层面的计算机,由低层向应用层(高层)的基本层次划分是_____。
选项:
A: 微程序机器
实际机器
操作系统机器
汇编语言机器
高级语言机器
B: 高级语言机器
汇编语言机器
操作系统机器
实际机器
微程序机器
C: 实际机器
微程序机器
操作系统机器
汇编语言机器
高级语言机器
D: 其它三个选项都不正确
答案: 【 微程序机器
实际机器
操作系统机器
汇编语言机器
高级语言机器】
30、单选题:
已知如下多元素变量,已知I=2;J=4;则M[I][J]的值为_____。

选项:
A: 44
B: 83
C: 22
D: 21
答案: 【 44】
31、单选题:
已知如下多元素变量,已知I=2;J=2;则M[I+1][J+1]的值为_____。

选项:
A: 0
B: 39
C: 11
D: 16
答案: 【 0】
32、单选题:
已知如下多元素变量,已知I=1;J=1;则M[I+1][J]+2的值为_____。

选项:
A: 47
B: 13
C: 8
D: 10
答案: 【 47】
33、单选题:
已知如下多元素变量。

执行下列程序,执行完成后,Sum1和Sum2的值分别为_____。
(10) int I = 3,J;
(20) int Sum1=0,Sum2=0;
(30) For J=1 to 4 Step 1
(40) { Sum1 = Sum1 + M[I][J];
(50) Sum2 = Sum2 + M[J][I]; }
选项:
A: 149,105
B: 576,576
C: 105,149
D: 136,175
E: 其它选项的说法都不正确
答案: 【 149,105】
34、单选题:
已知如下多元素变量。

执行下列程序,执行完成后,Sum1和Sum2的值分别为_____。
(10) int J;
(20) int Sum1=0,Sum2=0;
(30) For J=1 to 4 Step 1
(40) { Sum1 = Sum1 + M[J][J];
(50) Sum2 = Sum2 + M[5-J][5-J]; }
选项:
A: 66,66
B: 95,66
C: 66,95
D: 95,95
答案: 【 66,66】
35、单选题:
已知如下多元素变量。

执行下列程序,程序执行完成后,Sum1和Sum2的值分别为_____。
(10) int J;
(20) int Sum1=0,Sum2=0;
(30) For J=1 to 4 Step 1
(40) { Sum1 = Sum1 + M[J][J];
(50) Sum2 = Sum2 + M[5-J][J]; }
选项:
A: 66,95
B: 95,95
C: 66,66
D: 95,66
E: 其它选项的说法都不正确
答案: 【 66,95】
36、单选题:
读程序,并回答问题:该程序执行完成后,K的值为_____。(10) K = 0;
(20) I = 2;
(30) While (I<=8)
(40) { K = K + I;
(50) I = I + 2;}
选项:
A: 20
B: 35
C: 36
D: 12
答案: 【 20】
37、单选题:
读程序,并回答问题:程序行(40)执行了多少次?次数为_____。(10) K = 0;
(20) I = 2;
(30) While (I<=8)
(40) { K = K + I;
(50) I = I + 2;}
选项:
A: 4
B: 2
C: 6
D: 8
答案: 【 4】
38、单选题:
已知函数Fact的程序如下,Fact(4)的值为_____。 Long Int Fact(int n)
{ Long Int x;
If (n > 1)
{ x = Fact(n-1);
return (n+x)*2; }
else return 1;
}
选项:
A: 44
B: 24
C: 14
D: 64
答案: 【 44】
39、单选题:
已知函数Fact的程序如下,在执行Fact(4)的过程中,Fact函数被调用的次数为_____。 Long Int Fact(int n)
{ Long Int x;
If (n > 1)
{ x = Fact(n-1);
return (n+x)*2; }
else return 1;
}
选项:
A: 4
B: 3
C: 5
D: 6
答案: 【 4】
40、单选题:
已知程序如下,该程序实现的功能为_____。main()
{
int i,n;
long sum = 0, p = 1;
...//输入n值的语句,略
for(i = 1; i <= n; i++)
{
p = p * i;
sum = sum + p;
}
...//输出sum值的语句,略
}
选项:
A: sum = 1!+2!+...+n!
B: sum = 1*2*3*...*n
C: sum = 1+2+3+...+n
D: sum = 1*2+2*3+(n-1)*n
答案: 【 sum = 1!+2!+...+n!】
41、单选题:
已知程序如下,该程序实现的功能为_____。(10) main()
(20) { int counter;
(30) ... //输入N值的语句,略
(40) long product = 1;
(50) for counter = 1 to N step 2
(60) { product = product * counter; }
(70) return product;
(80) }
选项:
A: product = 1*3*5*...* (N-1)
B: product = 1*2*3*...*(N-1)
C: product = 1+ 2+3+...+ (N-1)
D: product = 1+3+5+...+(N-1)
答案: 【 product = 1*3*5*...* (N-1)】
42、单选题:
已知程序如下,当程序行(60)执行了3次以后,Product和Counter的值分别为_____。(10) main()
(20) { int counter;
(30) ... //输入N值的语句,略
(40) long product = 1;
(50) for counter = 1 to N step 2
(60) { product = product * counter; }
(70) return product;
(80) }
选项:
A: 15,5
B: 105,5
C: 15,7
D: 105,7
答案: 【 15,5】
43、单选题:
关于计算系统与程序,下列说法正确的是_____。
选项:
A: 任何系统都需要程序,只是这个程序是由人来执行还是由机器自动执行,可以由机器自动执行程序的系统被称为计算系统
B: 只有用计算机语言编写出来的代码才是程序,其他都不能称其为程序
C: 构造计算系统是不需要程序的,程序对构造计算系统没有什么帮助
D: 程序是用户表达的随使用者目的不同而千变万化的复杂动作,不是使用者实现的而是需要计算系统事先完成的
答案: 【 任何系统都需要程序,只是这个程序是由人来执行还是由机器自动执行,可以由机器自动执行程序的系统被称为计算系统】
44、单选题:
关于程序,下列说法不正确的是_____。
选项:
A: 普通人是很难理解“程序”的,其也和“程序”无关
B: “程序”是由人编写的、以告知计算系统实现人所期望的复杂动作
C: “程序”可以由系统自动解释执行,也可以由人解释由系统执行
D: “程序”几乎和每个人都有关系,如自动售票系统、自动取款机等
答案: 【 普通人是很难理解“程序”的,其也和“程序”无关】
45、单选题:
一般而言,设计和实现一个计算系统,需要设计和实现_____。
选项:
A: 基本动作、控制基本动作的指令和一个程序执行机构
B: 基本动作和程序
C: 基本动作和控制基本动作的指令
D: 基本动作、控制基本动作的指令和程序
答案: 【 基本动作、控制基本动作的指令和一个程序执行机构】
46、单选题:
熟悉下列运算组合式(前缀表达式),其中结果为56的是_____。
选项:
A: (* (+ 5 3) (+ 5 2))
B: (* 7 (+ 5 2))
C: (+ 20 (+ 6 6))
D: (- (* 9 8) (- 20 2))
答案: 【 (* (+ 5 3) (+ 5 2))】
47、单选题:
对于计算式
,其正确的运算组合式(前缀表示法)为_____。
选项:
A: (/ (+ 10 (/ 20 (+ 8 4))) (+ (* 3 6) (* 8 2)))
B: (/ (+ 10 / 20 + 8 4) (+ * 3 6 * 8 2 ))
C: ((10 + (20 / (8 + 4))) / ((3 * 6) + (8 * 2)))
D: (/ (/ 20 (+ 10 (+ 8 4))) (* (+ 3 6) (+ 8 2)))
答案: 【 (/ (+ 10 (/ 20 (+ 8 4))) (+ (* 3 6) (* 8 2)))】
48、单选题:
请用define运算,定义一个过程实现计算
,其正确定义的过程为_____。
选项:
A: (define (cube x) (* x x x))
B: (define cube a (* a a a))
C: (define (cube a (* a a a))
D: (define (cube a) (* x x x))
答案: 【 (define (cube x) (* x x x))】
49、单选题:
已知一个新运算被定义为(define (newCalc x y) (* (+ x 1) (* y 2))),问newCalc可以完成的计算功能为_____。
选项:
A: (x+1)*2y
B: (x+1)+2y
C: (x+1)+(y+2)
D: (x+1)*(y+2)
答案: 【 (x+1)*2y】
50、单选题:
已知一个新运算被定义为(define (newCalc x y) (* (+ x 1) (* y 2))),问正确使用了newCalc并得到正确结果的为_____。
选项:
A: (newCalc 4 5),其结果为50
B: ((newCalc) (4 5)),其结果为50
C: (newCalc 4),其结果为40
D: (newCalc 2 3),其结果为21
答案: 【 (newCalc 4 5),其结果为50】
51、单选题:
已知一个新运算被定义为(define (newCalc x y) (* (+ x 1) (+ y 1))),问(newCalc (newCalc (newCalc 1 1) 2) 3)的计算结果为_____。
选项:
A: 64
B: 6
C: 13
D: 24
答案: 【 64】
52、单选题:
已知一个新运算被定义为(define (newCalc x y) (* (+ x 1) (+ y 1))),问(newCalc (newCalc (newCalc 1 1) (newCalc 1 1)) (newCalc 1 1))的计算结果为_____。
选项:
A: 130
B: 1
C: 64
D: 8
答案: 【 130】
53、单选题:
已知一个运算被定义为(define (firstCalc x) (* x x)),在其基础上进一步定义新运算为(define (secondCalc x) (firstCalc (firstCalc (firstCalc x)))),问secondCalc表达的运算功能为_____。
选项:
A: 
B: 
C:
+
+
D: 
答案: 【
】
54、单选题:
若要表达从1计算到n的运算组合式,(* …(* (* (* (* 1 1) 2) 3) 4) …n)定义一个过程。正确的定义为_____。
选项:
A: 
B: 
C: 
D: 
答案: 【
】
55、单选题:
按原始递归的定义,h是由f和g递归地构造出来的。假设已知h(n) = n!,请给出构造h的f和g的函数。正确的是_____。
选项:
A: f()是常数为1的函数;
B: f()是常数为1的函数;
C: f()是常数为1的函数;
D: f()是常数为1的函数;
答案: 【 f()是常数为1的函数;
】
56、单选题:
已知
,
,其中
均为自然数,新函数h可递归的构造如下:h(0,x) = f(x), 且h(S(n), x) = g(h(n,x),n,x),其中S(n)为后继函数,请按递归式进行计算下列式子,不正确的是_____。
选项:
A: h(4,x) = 12x
B: h(1,x) = x
C: h(2,x) = 2x
D: h(3,x) = 6x
答案: 【 h(4,x) = 12x】
57、单选题:
关于“递归”,下列说法不正确的是_____。
选项:
A: “递归”与递推式一样,都是自递推基础计算起,由前项(第n-1项)计算后项(第n项),直至最终结果的获得
B: “递归”源自于数学上的递推式和数学归纳法
C: “递归”是自后项(即第n项)向前项(第n-1项)代入,直到递归基础获取结果,再从前项计算后项获取结果,直至最终结果的获得
D: “递归”是由前n-1项计算第n项的一种方法
答案: 【 “递归”与递推式一样,都是自递推基础计算起,由前项(第n-1项)计算后项(第n项),直至最终结果的获得】
58、单选题:
关于递归定义的函数,下列说法正确的是_____。
选项:
A: 有些递归定义的函数可以“迭代计算”,有些递归定义的函数则必须“递归计算”
B: 递归定义的函数一定是“递归计算”的
C: 递归定义的函数一定是“迭代计算”的
D: 凡是可以“迭代计算”的函数,一定可以“递归计算”,凡是可以“递归计算”的函数,也一定可以“迭代计算”
答案: 【 有些递归定义的函数可以“迭代计算”,有些递归定义的函数则必须“递归计算”】
59、单选题:
递归计算是重要的执行手段。例如一种形式的阿克曼函数如下所示:

任何一个A(m, n)都可以递归地进行计算,例如A(1,2)的递归计算过程如下所示:
A(1,2) = A(0,A(1,1)) = A(0, A(0,A(1,0))) = A(0, A(0,A(0,1)))=A(0,A(0,2))=A(0,3)=4。
请你按上述方法递归计算下列项,并判断,计算结果正确的是_____。
选项:
A: A(1, n) = n + 2
B: A(1, 8) = 9
C: A(2, 0) = 2
D: A(2, 1) = 4
答案: 【 A(1, n) = n + 2】
60、单选题:
斐波那契数列与阿克曼函数都是递归函数,但它们是不同的,下列说法不正确的是_____。

选项:
A: 阿克曼函数也可如斐波那契数列一样自前项(第n-1项)计算到后项(第n项)
B: 斐波那契数列是原始递归的,而阿克曼函数不是原始递归的
C: 斐波那契数列可以递推地计算即迭代计算;而阿克曼函数只能递归地计算
D: 阿克曼函数是双递归函数,不仅函数自身是递归定义的,同时函数的变量也是递归定义的
答案: 【 阿克曼函数也可如斐波那契数列一样自前项(第n-1项)计算到后项(第n项)】
61、单选题:
关于程序,下列说法不正确的是_____。
选项:
A: 其它选项的说法有不正确的
B: 程序的基本特征是复合、抽象与构造
C: 复合就是对简单元素的各种组合,即将一个(些)元素代入到另一个(些)元素中
D: 抽象是对各种元素的组合进行命名,并将该名字用于更复杂的组合构造中
答案: 【 其它选项的说法有不正确的】
62、单选题:
关于“程序”和“递归”的关系,下列说法不正确的是_____。
选项:
A: 其它选项的说法有不正确的
B: “程序”是计算系统体现千变万化功能的一种重要手段:计算系统仅需要实现简单元素以及一个程序执行机构即可
C: 本质上讲,“程序”就是对简单元素的组合(或称复合);此外,“程序”需要有能力对一些常见的组合A进行命名,并利用该名字参与更为复杂的组合B的构造中,此即为“抽象”;在执行时(或称计算时),再将该组合A替换组合B中的该名字,实现计算并获取结果
D: “程序”的基本特征是复合、抽象与构造。而最重要的是,如何解决近乎无限的、具有自相似性的复杂组合的构造问题,这就需要递归和迭代
E: 递归和迭代是解决近乎无限的、重复的、嵌套的组合构造的基本手段,它采用“利用自身定义自身”、“自身调用自身”、“自身用自身来计算”的方法,将程序的复杂组合构造问题以简便的、明确的形式表达出来计算出来
答案: 【 其它选项的说法有不正确的】
63、单选题:
递归计算是重要的执行手段。例如一种形式的阿克曼函数如下所示:

任何一个A(n, m)都可以递归地进行计算,例如m=1时,A(n,1)的递归计算过程如下所示:
m=1时,A(n,1)=A(A(n-1,1),0)=A(n-1,1)+2,和A(1,1)=2故A(n,1)=2n
请你按上述方法递归计算m=2时,即A(n,2),并判断计算结果正确的是_____。
选项:
A: A(n, 2) = 
B: A(n, 2) = 2n
C: A(n, 2) = 
D: A(n, 2) = n+2
答案: 【 A(n, 2) =
】
64、单选题:
用递归是可以定义语言的。如表述命题逻辑的一种语言可以如下定义:(1)一个命题是其值为真或假的一个判断语句;(2)如果X是一个命题,Y也是一个命题,则X and Y,X or Y, not X也是一个命题;(3)如果X是一个命题,则(X)也是一个命题,括号内的命题运算优先;(4)命题由以上方式构造。若X,Y,Z,M等均是一个命题,问不符合上述递归定义的语句是_____。
选项:
A: ( X and Y not Z)
B: X
C: (X)
D: ((X and Y) or (not Z)) and (not M)
答案: 【 ( X and Y not Z)】
65、单选题:
关于“递归”,下列说法不正确的是_____。
选项:
A: 其它选项的说法不全正确
B: 可以利用“递归”进行具有自相似性无限重复事物的定义
C: 可以利用“递归”进行具有自重复性无限重复动作的执行,即“递归计算”或“递归执行”
D: 可以利用“递归”进行具有自相似性无限重复规则的算法的构造
答案: 【 其它选项的说法不全正确】
66、单选题:
已知f(x)=5,g(x1,x2,x3)=x1,
,其中
均为自然数,新函数h可递归的构造如下:
h(0,x) = f(x), 且h(S(n), x) = g(h(n,x),n,x),其中S(n)为后继函数,请按递归式进行计算下列式子,正确的是_____。
选项:
A: h(1,x) = 5
B: h(2,x) = 5+x
C: h(3,x) = 5+2x
D: h(4,x) = 5+3x
答案: 【 h(1,x) = 5】
67、单选题:
已知f(x)=x,
, 其中
均为自然数,新函数h可递归的构造如下:h(0,x) = f(x), 且h(S(n), x) = g(h(n,x),n,x),其中S(n)为后继函数,请按递归式进行计算下列式子,正确的是_____。
选项:
A: h(4,x) = 5x+6
B: h(1,x) = x
C: h(2,x) = 2x
D: h(3,x) = 3x+1
答案: 【 h(4,x) = 5x+6】
68、单选题:
关于原始递归函数的理解,下列说法不正确的是_____。
选项:
A: 其它选项的说法有不正确的
B: “复合”即是将一组函数
作为参数代入到另一函数
中,即n个函数
被组合到了一起,是按函数f的形式进行的组合
C: “原始递归”即是要定义h(0),h(1),…,h(n),h(n+1),其中h(0)需要直接给出,而h(n+1)需要用h(n)进行定义,即h(n+1)是将h(n)和n复合在一起
D: 复合是构造新函数的一种手段,原始递归也是构造新函数的一种手段
E: 递归函数是描述程序组合与构造问题的一种数学形式
答案: 【 其它选项的说法有不正确的】
69、单选题:
用条件运算符定义一个过程
。正确的定义为_____。
选项:
A: 
B: 
C: 
D: 
答案: 【
】
70、单选题:
用条件运算符定义一个过程
。正确的定义为_____。
选项:
A: 
B: 
C: 
D: 
答案: 【
】
71、单选题:
已知一个运算被定义为(define (firstCalc x) (* x x)),在其基础上进一步定义新运算secondCalc为
,下列运算组合式书写正确的是_____。
选项:
A: (define (secondCalc x y z) (+ (firstCalc x) (firstCalc y) (firstCalc z)))
B: (define secondCalc (+ (firstCalc x) (firstCalc y) (firstCalc z)))
C: (define (secondCalc x y z) (+ firstCalc x y z))
D: (define secondCalc x y z (+ (firstCalc x) (firstCalc y) (firstCalc z)))
答案: 【 (define (secondCalc x y z) (+ (firstCalc x) (firstCalc y) (firstCalc z)))】
72、单选题:
关于算法的特性,下列说法不正确的是_____。
选项:
A: 算法可以有零个或多个输入,也可以有零个或多个输出,此即算法的输入输出性
B: 算法必须有明确的结束条件,即算法应该能够结束,此即算法的有穷性
C: 算法的步骤必须要确切地定义,不能有歧义性,此即算法的确定性
D: 算法中有待执行的运算和操作必须是相当基本的,可以由机器自动完成,进一步,算法应能在有限时间内完成,此即算法的能行性
答案: 【 算法可以有零个或多个输入,也可以有零个或多个输出,此即算法的输入输出性】
73、单选题:
关于算法的命题,下列说法不正确的是_____。
选项:
A: 算法所规定的计算/处理步骤是有限的,但算法实际执行的计算/处理步骤可以是无限的
B: 算法规定了任务执行/问题求解的一系列、有限的步骤
C: 算法可以没有输入,但必须有输出
D: 算法的每一个步骤必须确切地定义,且其运算和操作必须相当基本,可以由机器自动完成
答案: 【 算法所规定的计算/处理步骤是有限的,但算法实际执行的计算/处理步骤可以是无限的】
74、单选题:
关于算法与程序、计算机语言之间的关系,下列说法不正确的是_____。
选项:
A: 算法只能由高级(计算机)语言实现,不能通过机器语言实现
B: 算法是解决问题的步骤,某个问题可能有多个求解算法
C: 算法不能直接由计算机执行,必须将其转换为程序才能够由计算机执行
D: 求解问题的多个算法不一定获得相同的解
答案: 【 算法只能由高级(计算机)语言实现,不能通过机器语言实现】
75、单选题:
算法是计算系统的灵魂,为什么?不正确的是_____。
选项:
A: 问题求解都可以归结到算法的构造与设计,系统和算法的关系是:算法是龙,而系统是睛,画龙要点睛
B: 计算系统是执行程序的系统,而程序是用计算机语言表达的算法
C: 一个问题的求解可以通过构造算法来解决,“是否会编程序”本质上讲是“能否想出求解该问题的算法”
D: 一个算法不仅可以解决一个具体问题,它可以在变换输入输出的情况下,求解一个问题系列
答案: 【 问题求解都可以归结到算法的构造与设计,系统和算法的关系是:算法是龙,而系统是睛,画龙要点睛】
76、单选题:
哥尼斯堡七桥问题,是一个经典问题,如下图(a)所示,描述为“由河流隔开的四块陆地上建造了七座桥,寻找走遍这七座桥且只许走过每座桥一次最后又回到原出发点的路径”。关于哥尼斯堡七桥问题,著名数学家欧拉对该问题做了一个抽象:“顶点”为陆地,“边”为连接两块陆地的桥梁。这个抽象被称为“图”,并定义了顶点的“度”为连接一个顶点的边的数量。关于此问题回答问题:哥尼斯堡七桥问题的路径能够找到吗?

选项:
A: 一定不能找到
B: 一定能够找到
C: 不确定能不能找到
D: 其它三个选项都不正确
答案: 【 一定不能找到】
77、单选题:
哥尼斯堡七桥问题,是一个经典问题,如下图(a)所示,描述为“由河流隔开的四块陆地上建造了七座桥,寻找走遍这七座桥且只许走过每座桥一次最后又回到原出发点的路径”。关于哥尼斯堡七桥问题,著名数学家欧拉对该问题做了一个抽象:“顶点”为陆地,“边”为连接两块陆地的桥梁。这个抽象被称为“图”,并定义了顶点的“度”为连接一个顶点的边的数量。关于此问题回答问题:对河流隔开的m块陆地上建造的n座桥梁,能否找到走遍这n座桥且只许走过每座桥一次最后又回到原出发点的路径呢?

选项:
A: 不确定能不能找到
B: 一定能够找到
C: 一定不能找到
D: 其它三个选项都不正确
答案: 【 不确定能不能找到】
78、单选题:
哥尼斯堡七桥问题,是一个经典问题,如下图(a)所示,描述为“由河流隔开的四块陆地上建造了七座桥,寻找走遍这七座桥且只许走过每座桥一次最后又回到原出发点的路径”。关于哥尼斯堡七桥问题,著名数学家欧拉对该问题做了一个抽象:“顶点”为陆地,“边”为连接两块陆地的桥梁。这个抽象被称为“图”,并定义了顶点的“度”为连接一个顶点的边的数量。关于此问题回答问题:

下面所示的图(d)和图(e),问能否找到走遍每一座桥,且每座桥仅走过一次的路径呢?

选项:
A: 图(d)一定不能找到;图(e)一定能够找到
B: 图(d)和图(e)都一定不能找到
C: 图(d)一定能够找到;图(e)一定不能找到
D: 图(d)和图(e)都一定能够找到
答案: 【 图(d)一定不能找到;图(e)一定能够找到】
79、单选题:
哥尼斯堡七桥问题,是一个经典问题,如下图(a)所示,描述为“由河流隔开的四块陆地上建造了七座桥,寻找走遍这七座桥且只许走过每座桥一次最后又回到原出发点的路径”。关于哥尼斯堡七桥问题,著名数学家欧拉对该问题做了一个抽象:“顶点”为陆地,“边”为连接两块陆地的桥梁。这个抽象被称为“图”,并定义了顶点的“度”为连接一个顶点的边的数量。关于此问题回答问题:

哥尼斯堡七桥问题,给我们的启示是_____。
选项:
A: 其它三个选项都正确
B: 一个具体问题应该进行数学抽象,基于数学抽象进行问题求解
C: 一个具体问题的求解,进行数学建模后,通过模型中的性质分析可以判断该问题是否有解,如果有解,则可以进行计算;而如果无解,则无需进行计算
D: 一个具体问题的求解方法,进行数学建模后,可反映出一类问题的求解方法,例如哥尼斯堡七桥问题的求解方法,建立“图”后,可反映任意n座桥的求解方法
答案: 【 其它三个选项都正确】
80、单选题:
背包问题的定义是:给定一组物品,每种物品都有自己的重量和价格,在限定的总重量内,我们如何选择,才能使得物品的总价格最高。问题的名称来源于如何选择最合适的物品放置于给定背包中。背包问题的一个例子:应该选择哪些盒子,才能使价格尽可能地大,而保持重量小于或等于15 kg?其示意图如下:

该背包问题的可能解的数量是_____。
选项:
A: 32
B: 5
C: 10
D: 64
答案: 【 32】
81、单选题:
背包问题的定义是:给定一组物品,每种物品都有自己的重量和价格,在限定的总重量内,我们如何选择,才能使得物品的总价格最高。问题的名称来源于如何选择最合适的物品放置于给定背包中。背包问题的一个例子:应该选择哪些盒子,才能使价格尽可能地大,而保持重量小于或等于15 kg?其示意图如下:

假定求解该问题的一种贪心策略是:优先选择能装下盒子中价格最高的,依据该算法策略所得到的解的总价值是_____。
选项:
A: 15
B: 16
C: 14
D: 13
答案: 【 15】
82、单选题:
背包问题的定义是:给定一组物品,每种物品都有自己的重量和价格,在限定的总重量内,我们如何选择,才能使得物品的总价格最高。问题的名称来源于如何选择最合适的物品放置于给定背包中。背包问题的一个例子:应该选择哪些盒子,才能使价格尽可能地大,而保持重量小于或等于15 kg?其示意图如下:

假定求解该问题的一种贪心策略是:优先选择能装下盒子中单位重量价值最高的,依据该算法策略所得到的解的总价值是_____。
选项:
A: 15
B: 16
C: 14
D: 13
答案: 【 15】
83、单选题:
TSP-旅行商问题,是一个经典问题,如下图所示,描述为“有n个城市,任何两个城市之间的距离都是确定的,现要求一旅行商从某城市出发必须经过每一个城市且只能在每个城市逗留一次,最后回到原出发城市,问如何事先确定好一条最短的路线使其旅行的费用最少”。围绕TSP,回答问题:关于TSP问题的遍历算法和贪心算法,下列说法正确的是_____。

选项:
A: 对TSP问题而言,遍历算法和贪心算法求得的解是不一样的,贪心算法是求近似解,执行更快一些,而遍历算法是求精确解,执行更慢一些
B: 对TSP问题而言,遍历算法和贪心算法求得的解是一样的,所不同的是贪心算法更快一些,而遍历算法更慢一些
C: 对TSP问题而言,遍历算法和贪心算法求得的解是一样的,所不同的是遍历算法更快一些,而贪心算法更慢一些
D: 对TSP问题而言,遍历算法和贪心算法求得的解是不一样的,贪心算法是求精确解,执行更快一些,而遍历算法是求近似解,执行更慢一些
答案: 【 对TSP问题而言,遍历算法和贪心算法求得的解是不一样的,贪心算法是求近似解,执行更快一些,而遍历算法是求精确解,执行更慢一些】
84、单选题:
TSP-旅行商问题,是一个经典问题,如下图所示,描述为“有n个城市,任何两个城市之间的距离都是确定的,现要求一旅行商从某城市出发必须经过每一个城市且只能在每个城市逗留一次,最后回到原出发城市,问如何事先确定好一条最短的路线使其旅行的费用最少”。围绕TSP,回答问题:关于TSP,下列说法不正确的是_____。

选项:
A: TSP问题的难点是当n值很大时,组合数目非常庞大(组合数目为n!),虽如此,计算机仍然能够在有限时间内完成所有的组合
B: TSP问题的一个可能解就是n个城市的一个组合
,其中任何两个
都对应不同的城市。若要求得最优解,则必须对所有的组合,即所有可能解进行比较
C: TSP问题的难点是当n值很大时,组合数目非常庞大(组合数目为n!),以致于计算机不能在有限时间内完成所有的组合
D: 对所有组合进行比较的思想,即是所谓的遍历算法策略,它仅仅对n值很小的TSP问题是能行的
答案: 【 TSP问题的难点是当n值很大时,组合数目非常庞大(组合数目为n!),虽如此,计算机仍然能够在有限时间内完成所有的组合】
85、单选题:
TSP-旅行商问题,是一个经典问题,如下图所示,描述为“有n个城市,任何两个城市之间的距离都是确定的,现要求一旅行商从某城市出发必须经过每一个城市且只能在每个城市逗留一次,最后回到原出发城市,问如何事先确定好一条最短的路线使其旅行的费用最少”。围绕TSP,回答问题:关于TSP的贪心算法的求解思想,下列说法不正确的是_____。

选项:
A: 贪心算法确定的路径,是由局部最优(即
在
看来是最优的)组合起来的路径,该路径从全局角度也一定是最优的
B: 无需对所有组合(所有可能解)进行比较,而仅需依照某种办法确定其中的一个组合即可,该组合不一定是最优解,但却是一个较优解或次优解
C: 在确定一个组合
时,
是与
相连接的城市中与
距离最短的城市,即
是由
确定的,与
连接的若干城市中的特性最优的城市
D: 对一个具体的TSP问题,每次执行贪心算法,所求得的最终解可能是不同的
答案: 【 贪心算法确定的路径,是由局部最优(即
在
看来是最优的)组合起来的路径,该路径从全局角度也一定是最优的】
86、单选题:
关于数据结构,下列说法不正确的是_______?
选项:
A: 在树结构中,指针用于表达元素之间的逻辑关系——父子关系,每个元素的指针指向其父节点,因此一个元素可以有一个或多个指针
B: 数据结构由逻辑结构、存储结构及运算3部分组成
C: 存储结构定义了数据在存储器中的存储方式
D: 向量使用顺序存储结构,并借助元素在存储器中的相对位置来表示数据元素的逻辑关系
答案: 【 在树结构中,指针用于表达元素之间的逻辑关系——父子关系,每个元素的指针指向其父节点,因此一个元素可以有一个或多个指针】
87、单选题:
数据通常要存储在存储器中,存储器是按地址访问的存储单元的集合,因此存储器可被认为是按线性方式组织数据。数组是高级语言中经常使用的一种数据结构,其按照不同的下标可访问数组的不同的元素。如下图所示:

关于数组和存储器,下列说法不正确的是_____。
选项:
A: 和存储器一样,一维数组是按线性方式组织数据,一个数据元素需要一个或多个存储单元来存储,一个下标即相当于一个存储单元的地址
B: 和存储器一样,数组是按线性方式组织数据
C: 和存储器一样,一维数组是按线性方式组织数据,一个数据元素需要一个存储单元来存储,一个下标即相当于一个存储单元的地址
D: 和存储器一样,一维数组是按线性方式组织数据,一个数据元素需要一个或多个存储单元来存储,一个下标即相当于一个或多个存储单元的地址
答案: 【 和存储器一样,一维数组是按线性方式组织数据,一个数据元素需要一个或多个存储单元来存储,一个下标即相当于一个存储单元的地址】
88、单选题:
数据通常要存储在存储器中,存储器是按地址访问的存储单元的集合,因此存储器可被认为是按线性方式组织数据。数组是高级语言中经常使用的一种数据结构,其按照不同的下标可访问数组的不同的元素。如下图所示:

请对照上图的左子图和右子图来观察,右子图的二维数组是按左图的形式存储在存储器中。则D[4][2]元素所对应的存储单元的存储地址为_____。
选项:
A: 00000000 00001000
B: 00000000 00000101
C: 00000000 00001010
D: 其它三个选项的说法都不正确
答案: 【 00000000 00001000】
89、单选题:
数据通常要存储在存储器中,存储器是按地址访问的存储单元的集合,因此存储器可被认为是按线性方式组织数据。数组是高级语言中经常使用的一种数据结构,其按照不同的下标可访问数组的不同的元素。如下图所示:

请参照上图的左子图和右子图来观察,右子图的二维数组是按左图的形式存储在存储器中。则D[i][j]元素,与对应存储单元的存储地址的转换关系正确的为_____。
选项:
A: D[i][j]元素的存储地址=数组的起始地址+((i-1)*每行的列数+j-1)*单一元素占用存储单元的数目
B: D[i][j]元素的存储地址=数组的起始地址+(i-1)*每行的列数+j-1;此公式在任何情况下都正确
C: D[i][j]元素的存储地址=数组的起始地址+((j-1)*每行的列数+i-1)*单一元素占用存储单元的数目
D: D[i][j]元素的存储地址=数组的起始地址+(j-1)*每行的列数+i-1;此公式在任何情况下都正确
答案: 【 D[i][j]元素的存储地址=数组的起始地址+((i-1)*每行的列数+j-1)*单一元素占用存储单元的数目】
90、单选题:
“树”是一种典型的数据结构,在很多算法中都应用树来组织相关的数据。树是组织层次型数据的一种存储结构,它将每一个数据称为一个数据元素。见下图I.示意,采用三个数组来存储树型数据,一个数组TreeElement[]存放数据元素本身,一个数组LeftPointer[]存放该数据元素的左侧子元素的存放地址(简称为左指针),另一个数组RightPointer[]存放该数据元素的右侧子元素的存放地址(简称为右指针)。参照图I.,回答问题。

关于“树”这种数据结构,下列说法不正确的是_____。
选项:
A: 其它三个选项的说法有不正确的
B: “树”既需要存储数据元素本身即数据,还需要存储数据元素之间的关系
C: “树”可以采用两个数组来组织树型数据,其中一个数组用于存储数据元素本身,另一个数组用于存储与该数据元素发生某种关系的另一个数据元素的存储位置
D: “树”可以采用三个数组来组织树型数据,其中一个数组用于存储数据元素本身,另外两个数组用于存储与该数据元素发生某种关系的另外两个数据元素的存储位置
答案: 【 其它三个选项的说法有不正确的】
91、单选题:
“树”是一种典型的数据结构,在很多算法中都应用树来组织相关的数据。树是组织层次型数据的一种存储结构,它将每一个数据称为一个数据元素。见下图I.示意,采用三个数组来存储树型数据,一个数组TreeElement[]存放数据元素本身,一个数组LeftPointer[]存放该数据元素的左侧子元素的存放地址(简称为左指针),另一个数组RightPointer[]存放该数据元素的右侧子元素的存放地址(简称为右指针)。参照图I.,回答问题。

参照上图(I),下列说法不正确的是_____。
选项:
A: 当数据元素不发生变化,而只是数据元素之间的关系发生变化时,既需要调整数据元素本身,又需要调整其对应的左指针数组或右指针数组中的值来完成
B: 当数据元素不发生变化,而只是数据元素之间的关系发生变化时,可以通过调整数据元素对应的左指针数组或右指针数组中的值来完成
C: 相同的数据元素,不同的左指针和右指针可以反映数据元素之间不同的关系
D: 图(I)说明,一个数据元素最多只能有两个子元素,一个是左子元素,一个是右子元素
答案: 【 当数据元素不发生变化,而只是数据元素之间的关系发生变化时,既需要调整数据元素本身,又需要调整其对应的左指针数组或右指针数组中的值来完成】
92、单选题:
“树”是一种典型的数据结构,在很多算法中都应用树来组织相关的数据。树是组织层次型数据的一种存储结构,它将每一个数据称为一个数据元素。见下图I.示意,采用三个数组来存储树型数据,一个数组TreeElement[]存放数据元素本身,一个数组LeftPointer[]存放该数据元素的左侧子元素的存放地址(简称为左指针),另一个数组RightPointer[]存放该数据元素的右侧子元素的存放地址(简称为右指针)。参照图I.,回答问题。

上图(I)表示的数据的逻辑关系,下列正确的是_____。

选项:
A: 图II.(d)
B: 图II.(a)
C: 图II.(b)
D: 图II.(c)
答案: 【 图II.(d)】
93、单选题:
“树”是一种典型的数据结构,在很多算法中都应用树来组织相关的数据。树是组织层次型数据的一种存储结构,它将每一个数据称为一个数据元素。见下图I.示意,采用三个数组来存储树型数据,一个数组TreeElement[]存放数据元素本身,一个数组LeftPointer[]存放该数据元素的左侧子元素的存放地址(简称为左指针),另一个数组RightPointer[]存放该数据元素的右侧子元素
