大学计算机-计算思维练习题集
答案:A
(4) 假设不知道X、Y的值,计算表达式(X > Y) and (X<=Y)的值,结果为_____。
(A) 真;(B) 假;
答案:B 解释:
本题考核表达式的计算。
(1) (X>Y)=(21>15)为真,(Y>Z)=(15>22)为假,因此((X>Y) or (Y>Z))为真,(X 假,(Y (2) (X>Y)=(21>15)为真,(Y>Z)=(15>22)为假,因此((X>Y) and (Y>Z))为假,(X 假,(Y (3) (X>Y)=(21>15)为真,(Y>Z)=(15>22)为假,因此((X>Y) and (Y>Z))为假,(X 真,(Y (4) X>Y与X<=Y不能同时成立,而要是“and ”为真时,必须左右两边同时成立,所以 (X > Y) and (X<=Y) 为假,(B)选项正确; 具体内容请参考第六章视频之“计算机语言(程序)的基本构成要素(I)”以及第六章课件。 9. 读程序,并回答问题: N = 101; If N/2==0 Then N = N/2; Else N = N * 3 +1; End If 该程序执行完成后,N的值为_____。 (A) 101; (B) 55.5; (C) 304; (D) 167.5; 答案:C 解释: 本题考核分支结构。 已知N = 101,则N/2 = 50不等于0,不符合If语句的条件,所以进入Else语句,N = N * 3 大学计算机-计算思维练习题集 +1 = 101 * 3 +1 = 304,所以(C)正确。 具体内容请参考第六章视频之“计算机语言(程序)的基本构成要素(I)”以及第六章课件。 10. 已知程序如下,回答下列问题: 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; } (1)已知X=10, Y=20, Z=30该程序执行完成后,X的值为_____。 (A) 10; (B) 20; (C) 30; (D) 40; (E)上述都不对。 答案:A (2)已知X=10, Y=50, Z=30该程序执行完成后,X的值为_____。 (A) 10; (B) 20; (C) 30; (D) 40; (E)上述都不对。 答案:D (3)已知X=30, Y=30, Z=30该程序执行完成后,X的值为_____。 (A) 10; (B) 20; (C) 30; (D) 40; (E)上述都不对。 答案:B 解释: 本题考核分支结构。 (1) 程序开始执行,X = Z + Y = 30 + 20 = 50,Y < Z = 20 < 30为真,所以执行X = X – Y = 50 – 20 = 30,接着X = X – Y = 30 – 20 = 10,X < Z = 10 < 30为真,所以执行X = Y +20 = 20 +20 = 40,接着X = X – Z = 40 – 30 = 10,X>Y = 10>20为假,所以程序结束,最终X=10,(A)正确。 大学计算机-计算思维练习题集 (2) 程序开始执行,X = Z + Y = 30 + 50 = 80,Y < Z = 50 < 30为假,所以执行X = X – Z = 80 – 30 = 50,接着X = X – Y = 50 – 50 = 0,X < Z = 0 < 30为真,所以执行X = Y +20 = 50 +20 = 70,接着X = X – Z = 70 – 30 = 40,X>Y = 40>50为假,所以程序结束,最终X=40,(D)正确。 (3) 程序开始执行,X = Z + Y = 30 + 30 = 60,Y < Z = 30 < 30为假,所以执行X = X – Z = 60 – 30 = 30,接着X = X – Y = 30 – 30 = 0,X < Z = 0 < 30为真,所以执行X = Y +20 = 30 +20 = 50,接着X = X – Z = 50 – 30 = 20,X>Y = 20>30为假,所以程序结束,最终X=20,(B)正确。 具体内容请参考第六章视频之“计算机语言(程序)的基本构成要素(I)”以及第六章课件。 11. 读程序,并回答问题: X=1; Y=2; Sum=0; Do { Sum = X+Y; X=X+1; Y=Y+1; } While (Sum<=20) (1)该程序执行完成后,Sum的值为_____。 (A) 20; (B) 21; (C) 19; (D) 18; 答案:B (2)该程序执行完成后,X的值为_____。 (A) 8; (B) 9; (C) 10; (D) 11; 答案:D 解释: 本题考核循环结构。 Do-While结构先执行一遍Do部分,然后判断是否符合条件,若符合条件则接着执行Do部分直至条件为假,此时程序结束。 (1) 程序开始执行,Sum = X+Y = 1 + 2 = 3,X=X+1 = 1+2 = 3,Y=Y+1 = 2 +1 = 3,此时Sum= 3 <= 20,所以接着执行Do部分,直到Sum = X + Y = 10 + 11 = 21时,此时X = 10,Y = 11,接着执行X = X + 1 = 10 + 1 = 11,Y = Y + 1 = 11 + 1 = 12,此时Sum = 21 > 20,条件为假,程序结束。所以该程序执行完成后,Sum的值为21,(B)正确。 (2) 由(1)题知,该程序执行完成后,X的值为11,(D)正确。 具体内容请参考第六章视频之“计算机语言(程序)的基本构成要素(I)”以及第六章课件。 大学计算机-计算思维练习题集 12. 读程序,并回答问题: (10) N = 6; (20) X = 0; (30) Y = 1; (40) For I = 1 To N-1 Step 1 (50) (60) (70) (80) Z = X + Y; X = Y; Y = Z; Next I (1)该程序执行完成后,Z的值为_____。 (A) 3; (B) 5; (C) 8; (D) 13; 答案:C (2)程序行(60)执行了多少次?次数为_____。 (A) 4; (B) 5; (C) 6; (D) 7; 答案:B 解释: 本题考核循环结构。 For循环条件是I从1到N-1,即从1到5,I=1时,Z = X + Y = 0 + 1 = 1,X = Y = 1,Y = Z = 1;I = 2时,Z = X + Y = 1 + 1 = 2,X = Y = 1,Y = Z =2;I = 3时,Z = X + Y = 1 + 2 = 3,X = Y = 2,Y = Z =3;I = 4时,Z = X + Y = 2 + 3 = 5,X = Y = 3,Y = Z =5;I = 5时,Z = X + Y = 3 + 5 = 8,X = Y = 5,Y = Z =8;程序结束。所以该程序执行完成后,Z的值为8,(C)正确;For循环从I=1到5共执行了5次,程序行(60)是For循环中的一部分,所以也执行了5次,(B)正确。 具体内容请参考第六章视频之“计算机语言(程序)的基本构成要素(I)”以及第六章课件。 13. 读程序,并回答问题: (10) K = 0; (20) I = 2; (30) While (I<=8) (40) { K = K + I; (50) I = I + 2;} (1)该程序执行完成后,K的值为_____。 (A) 35; (B) 20; (C) 36; (D) 12; 大学计算机-计算思维练习题集 答案:B (2)程序行(40)执行了多少次?次数为_____。 (A) 2; (B) 4; (C) 6; (D) 8; 答案:B 解释: 本题考核循环结构。 (1)程序开始执行,I = 2 <=8,条件为真,执行K = K + I = 0 + 2 = 2,I = I + 2 = 2 + 2 = 4;I = 4 <=8,条件为真,执行K = K + I = 2 + 4 = 6,I = I + 2 = 4 + 2 = 6;I = 6 <=8,条件为真,执行K = K + I = 6 + 6 = 12,I = I + 2 = 6 + 2 = 8;I = 8 <=8,条件为真,执行K = K + I = 12 + 8 = 20,I = I + 2 = 8 + 2 = 10;I = 10 > 8,条件为假,程序结束。所以该程序执行完成后,K的值为20,(B)正确。 (2)由(1)知,程序行(40)执行了4次,(B)正确。 具体内容请参考第六章视频之“计算机语言(程序)的基本构成要素(I)”以及第六章课件。 14. 已知函数Fact的程序如下,回答下列问题: Long Int Fact(int n) { Long Int x; If (n > 1) { x = Fact(n-1); return n*x; } else return 1; } (1)Fact(4)的值为_____。 (A) 10; (B) 24; (C) 120; (D) 15; 答案:B 解释: (2)在执行Fact(5)的过程中,Fact函数被调用的次数为_____。 (A) 3; (B) 4; (C) 5; (D) 6; 答案:C 解释: