内容正文:
第三章 算法基础
一、选择题
1.下列关于算法的叙述,错误的是( )
A.算法可以用自然语言来描述 B.算法必须执行有限步以后能结束
C.算法可以使用程序设计语言来实现 D.算法必须有输入和输出
2.“已知圆的周长为S,求圆的半径r。”把此问题设计为一个算法,其中正确的顺序是( )
①计算r=S/(2π) ②输入圆的周长S ③输出圆的半径r
A.①②③ B.③②① C.①③② D.②①③
3.某玩家和计算机进行石头剪刀布游戏,规则为剪刀胜布,石头胜剪刀,布胜石头,相同则平局,胜局多者赢。用g表示玩家,c表示计算机,数字 0 表示石头,1表示剪刀,2表示布。若玩家依次输入数字“0,1,2,0,1”,结果为玩家赢,则计算机依次产生的数字可能是( )
A.1,1,2,2,0 B.2,0,0,1,2
C.1,2,1,2,1 D.0,0,0,2,1
4.下列有关高级语言说法正确的是( )
A.高级语言可读性差,不容易理解
B.高级语言是面向机器的语言
C.高级语言不依赖于计算机系统
D.比较流行的高级语言有Python、c++、Android
5.用计算机解决实际问题时,第一个环节是( )
A.描述算法 B.设计算法 C.抽象与建模 D.编写程序
6.以下哪种语言属于高级程序设计语言( )
①python ②c++ ③visual basic ④java
A.①②③ B.②③ C.②③④ D.①②③④
7.以下算法的输出结果是( )
A.15 B.51 C.69 D.96
8.关于信息和信息的加工处理,下列说法不正确的是( )
A.计算机是常用的信息加工处理的工具
B.速度快、准确性高、存储容量大是计算机的基本特征
C.计算机处理信息的速度只取决于 CPU 和内存
D.要将信息存储在计算机中,必须要对信息进行加工处理
9.某算法的部分流程图如图所示,执行这部分流程后,输出n的值为( )
A.2 B.3 C.4 D.5
10.某算法的部分流程图如下图所示,以下描述正确的是( )
A.该流程图中含有分支结构
B.条件语句i≤6共执行了3次
C.执行这部分流程后,变量i的值是5
D.执行这部分流程后,变量s的值是9
11.下列算法,输出结果是( )。
A.6 B.9 C.3 D.15
12.某算法的部分流程图如图所示,若列表a的值为[162,184,171,166,177,179],key的值为170,执行这部分流程后,f、k的值分别为( )
A.False 0 B.True 1 C.True 2 D.True 3
13.下列描述正确的是( )
A.一个算法可以没有输入,也可以没有输出,但必须要在执行有限个步骤之后终止
B.常用的算法描述方法有:自然语言、伪代码、流程图,其中最普遍的是自然语言
C.常见的高级程序设计语言有Fortran、Pascal、VC、VB等
D.算法的三种基本结构分别是选择结构、分支结构和循环结构
14.下列选项都是属于高级语言的是( )
A.汇编语言、机器语言 B.汇编语言、语言
C.Basic 语言、Python 语言 D.机器语言、Python 语言
15.用于求变量s的算法如下:
①变量s的初值为0,变量t的初值为1,变量i的初值为1
②若变量i的值大于10,则转到步骤⑤
③t←t*i,s←s+1/t
④i的值增加1,转到步骤2
⑤输出s的值
⑥结束
下列数学表达式中,其计算结果与上述算法执行后变量s的值相等的是( )
A.1+2+3+……+10
B.1×2×3×……×10
C.1+1/2!+1/3!+……+1/10!(阶乘运算5!=5×4×3×2×1)
D.1+1/2+1/3+……+1/10
二、填空题
16.为了便于程序的阅读和理解,通常会在源代码中添加 。
17.程序中的变量是计算过程中要用的数据的 。
18.下图描述的算法执行结果是 。
19.算法有顺序结构、选择结构和循环结构三种基本控制结构,以下流程图①是 结构,②是 结构。
20.算法是解决问题的方法和确定的、( )的步骤。
三、判断题
21.算法描述方法主要有三种为:自然语言描述、流程图描述和伪代码描述。( )
22.程序设计语言的发展历程:机器语言→汇编语言→高级语言。( )
23.高级语言的翻译程序有两种类型:解释程序和编译程序。( )
24.用自然语言来描述算法,比用流程图来描述算法更清晰、简洁。( )
四、操作题
25.某算法的部分流程图如图所示,请回答以下问题:
(1)该流程图中,包含了 个处理框。
(2)由流程图分析,此算法的控制结构属于
(选填字母:A.分支结构 B.循环结构)
(3)若输入7869,步骤 t←t*3 执行了 次,输出的s值为
试卷第1页,共3页
试卷第1页,共3页
学科网(北京)股份有限公司
参考答案:
1.D
【详解】本题考查算法的特征相关内容。算法的特征有:确定性、可执行性、有一个或多个输出、0或多个输入、有穷性。算法可以用流程图、自然语言、伪代码、程序设计语言来描述,算法必须执行有限步以后能结束,一个算法可以没有输入,但必须要有输出。故本题答案是D选项。
2.D
【详解】本题主要考查算法设计。根据题干可知,首先应输入圆的周长S,其次计算r=S/(2π),最后输出圆的半径r,故本题选D选项。
3.B
【详解】本题考查算法设计相关内容。由剪刀布游戏规则可知,游戏输赢情况如图所示:。若玩家依次输入数字“0,1,2,0,1”,计算机产生的数字若为A选项(1,1,2,2,0),则玩家1赢,2输,2平,结果为玩家输。若为B选项(2,0,0,1,2),则玩家3赢,2输,结果为玩家赢。若为C选项(1,2,1,2,1),则玩家2赢,2输,1平,结果为平。若为D选项(0,0,0,2,1),则玩家1赢,2输,2平,结果为玩家输。四个选项中,只有B选项,才可以使玩家赢。故本题答案是B选项。
4.C
【详解】本题主要考查高级程序语言。高级语言可读性强,容易理解;高级语言不是面向机器的语言;高级语言不依赖于计算机系统;比较流行的高级语言有Python、c++等,Android是操作系统,不是程序设计语言,故本题选C选项。
5.C
【详解】本题考查计算机解决实际问题。在用计算机解决实际问题时,首先要对问题进行抽象与建模。这是因为在解决问题之前,需要将实际问题转化为计算机能够理解和处理的形式,明确问题的关键要素、约束条件和目标,为后续的算法设计、描述以及程序编写提供基础。故答案为:C。
6.D
【详解】本题考查计算机语言相关知识。高级语言是面向用户的、基本上独立于计算机种类和结构的语言。其最大的优点是:形式上接近于算术语言和自然语言,概念上接近于人们通常使用的概念。高级语言的一个命令可以代替几条,几十条甚至几百条汇编语言的指令。因此,高级语言易学易用,通用性强,应用广泛。高级语言种类繁多,可以从应用特点和对客观系统的描述两个方面对其进一步分类。python,c++ ,visual basic,java都属于高级程序设计语言。故本题选D。
7.D
【详解】本题考查算法流程图相关内容。该流程图功能是比较字符型数据a与b的大小,若a>b成立,则将a与b连接起来,形成新字符串x,a前b后;若不成立,则将b与a连接起来,形成新字符串x,b前a后。“6”不大于“9”,则x为“96”。故本题答案是D选项。
8.C
【详解】本题考查的是信息加工。计算机处理信息的速度与内存、CPU、显卡、硬盘等有关,故选项C错误。
9.C
【详解】本题考查流程图。程序运行过程如下所示。因此输出n的值为4。故答案为:C。
d
n
i
36
0
2
18
1
2
9
2
2
9
2
3
3
3
3
1
4
3
10.D
【详解】本题考查的是流程图识读。该流程图是循环结构;i从1开始,每次增加2,故条件语句i≤6共执行了4次(1、3、5、7);执行这部分流程后,变量i的值是7;执行这部分流程后,变量s的值是1+3+5=9。故本题应选D。
11.B
【详解】本题考查的是流程图识读。初始值s=0,T=1,i=1。
i<=3成立,T=i*T=1*1=1,s=s+T=0+1=1,i=i+1=2;
i<=3成立,T=i*T=2*1=2,s=s+T=1+2=3,i=i+1=3;
i<=3成立,T=i*T=3*2=6,s=s+T=3+6=9,i=i+1=4;
i<=3不成立,输出s=9,故本题应选B。
12.C
【详解】本题考查的是流程图识读。初始k=0,j=0,f=false,a=[162,184,171,166,177,179],key=170,len(a)=6。
j<len(a)成立,a(0)=162>170不成立,执行j=j+1=1;
j<len(a)成立,a(1)=184>170成立,a[1]<a[0] or f=false 成立,执行k=j=1,f=true,j=j+1=2;
j<len(a)成立,a(2)=171>170成立,a[2]<a[1] or f=false 成立,执行k=j=2,f=true,j=j+1=3;
j<len(a)成立,a(3)=166>170不成立,执行j=j+1=4;
j<len(a)成立,a(4)=177>170成立,a[4]<a[2] or f=false不成立,执行j=j+1=5;
j<len(a)成立,a(5)=179>170成立,a[5]<a[2] or f=false不成立,执行j=j+1=6;
j<len(a)不成立,输出f=true,k=2,选项C正确。
13.C
【详解】本题考查的是算法相关知识 。一个算法可以没有输入,但至少要有一个输出,故选项A说法错误;常用的算法描述方法有:自然语言、伪代码、流程图,其中最普遍的是流程图,选项B说法错误;算法的三种基本结构分别是顺序结构、分支结构和循环结构,故选项D说法错误。排除ABD,故本题应选C。
14.C
【详解】本题考查的是计算机语言。计算机语言有:机器语言、汇编语言、高级语言。高级语言有:Visual Basic、Pascal、C、C++、Java、Python等。故选项C正确。
15.C
【详解】本题主要考查算法及其实现。分析算法可知,该程序变量i的范围是从1到10,t是计算i的阶乘,s是计算i的阶乘倒数之和,即:1+1/2!+1/3!+……+1/10!。故本题答案是C选项。
16.注释
【详解】本题考查计算机程序的描述。在编写程序时,为了使代码易于阅读,通常会在实现功能的同时为代码添加一些注释。注释是对程序的某个功能或者某行代码的解释说明,它能够让开发者在后期阅读和使用代码时能更容易理解代码的作用。
17.存储单元
【详解】本题主要考查程序的变量。程序中的变量是计算过程中要用的数据的存储单元。
18.15
【详解】本题主要考查算法流程图的执行。外循环一共执行5次,内循环每次执行m次,m依次取1、2、3、4、5,内循环每执行1次,s递增1,故执行完s=1+2+3+4+5=15。
19. 顺序 选择(分支)
【详解】本题考查的是算法结构。①是从上至下执行,属于顺序结构,②是根据条件选择A或B执行,属于选择结构。
20.有限
【详解】本题考查的是算法定义。所谓“算法”就是解题方法的精确描述,由有限个步骤组成。
21.正确
【详解】本题考查算法描述方法相关内容。算法是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制。描述算法的方法有多种,常用的有自然语言描述、流程图描述和伪代码描述。故本题答案是:正确。
22.正确
【详解】本题考查程序设计语言。计算机程序设计语言的发展是从低级到高级逐步演变的。最开始是机器语言,由二进制代码组成,难以理解和编写;之后出现了汇编语言,使用助记符来代替机器指令,提高了一定的可读性;再后来发展出了高级语言,如 C、Java、Python 等,更接近人类的自然语言和数学表达式,易于学习和使用。所以程序设计语言的发展历程是机器语言→汇编语言→高级语言。故说法正确。
23.正确
【详解】本题主要主要考查程序的描述。高级语言的翻译程序是编译程序和解释程序。故本题正确。
24.错
【详解】本题考查的是算法描述。流程图是一种传统的算法表示法,它用一些图框来代表各种不同性质的操作,用流程线来指示算法的执行方向。由于它直观形象,易于理解,所以应用广泛,特别是在语言发展的早期阶段,只有通过流程图才能简明地表述算法。故题干中的说法是错误的。
25. 4 B 2 64
【详解】本题考查算法流程图。
(1)菱形是条件判断框,平行四边形是数据输入/输出框,圆角矩形是开始/结束框,矩形是数据处理框。该流程图中,包含了4个处理框。
(2)由流程图分析,此算法的控制结构属于循环结构。
(3)若输入7869,即n=7869
第一遍循环,满足n>0,t=n%10=9,n=n//10=786,满足f=1,t=t*3=27,s=s+t=27,f=1-f=0;
第二遍循环,满足n>0,t=n%10=6,n=n//10=78,不满足f=1,s=s+t=33,f=1-f=1;
第三遍循环,满足n>0,t=n%10=8,n=n//10=7,满足f=1,t=t*3=24,s=s+t=57,f=1-f=0;
第四遍循环,满足n>0,t=n%10=7,n=n//10=0,不满足f=1,s=s+t=64,f=1-f=1;
第五遍循环,不满足n>0,循环结束。步骤 t←t*3 执行了2次,输出的s值为64。
答案第1页,共2页
答案第1页,共2页
学科网(北京)股份有限公司
$$