内容正文:
第一节 算法与算法描述
一、选择题
1.算法是对解题过程精确的描述,通过绘制框图的描述方式是( )
A.机器语言 B.自然语言 C.伪代码 D.流程图
2.解析法在算法实现中通常用于解决哪类问题( )
A.数值计算问题 B.排序问题 C.搜索问题 D.图像处理问题
3.以下关于算法的描述,正确的是( )
A.算法只能用流程图来描述
B.同一种算法只能用一种程序语言来实现
C.一个算法必须保证它的执行步骤是有限的
D.算法可以有零个或多个输入,但只能有一个输出
4.在计算正方形的面积算法中,“第一步,输入边长a;第二步,计算正方形的面积s=a*a;第三步,输出正方形的面积s。”这种算法的描述方式属于( )
A.自然语言 B.流程图 C.伪代码 D.高级语言
5.下列选项中不能描述算法的是( )
A.自然语言 B.流程图 C.柱形图 D.伪代码
6.在评估程序性能时,我们通常关注哪些指标( )
A.程序的运行时间 B.程序的空间占用 C.程序的用户满意度 D.上述所有指标
7.某玩家和计算机进行石头剪刀布游戏,规则为剪刀胜布,石头胜剪刀,布胜石头,相同则平局,胜局多者赢。用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
8.某算法的部分流程图如图所示,若n的值为6,数组元素a[0]至a[n-1]依次存放2,0,1,0,0,1。执行这部分流程后,输出f的值为( )
A.1 B.2 C.3 D.4
9.已知 nums 列表中含有 5 个不相同的数字,该流程图的输出结果可能是( )
A.1 B.111 C.011 D.001
10.下图所示的流程图用于计算圆的周长,流程图中①处的内容是( )
A.C=3.14*r*r B.C=2x3.14xr C.C=2*3.14*r D.输出r
11.张老师想要通过编程来解决高二走班排课问题,最核心的工作是( )
A.设计出解决问题的算法 B.详细分析高二走班排课问题
C.编写出Python代码 D.选择一种编程软件
12.某算法的部分流程图如图所示。执行这部分流程,输出值为( )
A.4 True B.4 False C.5 True D.5 False
13.不能用算法描述“输出所有素数”,是因为不符合算法特征中的( )
A.有穷性 B.必须有输出 C.可行性 D.可以没有输入
14.下列均能正确描述循环结构流程图的选项是( )
A.①② B.②④ C.②③ D.①④
15.某算法的部分流程图如图所示,执行这部分后,下列说法不正确的是( )
A.a的值为9
B.b的值为19
C.循环条件b<=13?共执行了5次
D.当第3次执行循环条件b<=13?时,b的值为13
16.下列算法的功能是( )。
A.求 x 除以 100 的商
B.求 x 的个位数
C.求 x 的十位数
D.求 x 的百位数
17.某商场促销打折消费规定如下:消费500元以内的打8.8折;满500元打8折,满1000元及以上的打7折。用算法描述这一消费规定,合适的算法控制结构是( )
A.顺序结构 B.分支结构 C.循环结构 D.树形结构
18.设计算法计算班级技术成绩平均分,下列说法不正确的是( )
A.计算平均分的过程可以采用循环结构
B.该算法可以没有输入,但至少有一个输出
C.该算法可以用自然语言、流程图、伪代码来描述
D.可以设计不同的算法来求平均分,说明算法具有不确定性
19.某算法的部分流程图如右图所示,以下说法正确的是( )
A.该流程执行完,输出的结果是41
B.该流程执行后,变量a的值是32
C.交换s←s+k*a和k←1-k这两个语句的顺序,不影响输出结果
D.该流程执行后,变量k的值是1
二、填空题
20.描述算法可以有多种方法,比如可以使用自然语言或 进行描述。
21.流程图中的矩形通常用来表示 。
22.算法是解决问题的方法和确定的、( )的步骤。
23. 结构是程序中实现模块化的一种方式,它将代码分割成独立的功能单元。
24.在非数值计算中, 可以用来快速确定一个元素是否存在于一个集合中。
25.符号运算中的否定运算符通常用符号 表示。
三、判断题
26.利用计算机解决同一问题时,往往可以采用多种不同的算法来实现,好的算法应该具备时间效率高、内存占用少等特点。( )
27.解决同样一个问题,算法不管怎样设计,写出的程序运行出结果的时间效率都是一样的。( )
28.流程图中,表示条件判断的基本图形是平行四边形。( )
29.千言万语不如一张图。以特定的图形符号加上说明,表示算法(有限的步骤去解决问题)的图,称为流程图或框图。 (判断对错)
30.衡量算法的优劣往往从时间复杂度和空间复杂度两个维度考虑。( )
31.使用伪代码表示算法时,可以省略一些不必要的细节。( )
32.用自然语言描述的算法通俗易懂,便于翻译成计算机程序设计语言。( )
四、操作题
33.小申发现电子交通路况指示牌可以根据汽车平均速度提示道路拥堵情况:平均速度>=40km/h时提示“通畅”,30km/h=<平均速度<40km/h时提示“轻度拥堵”,20km/h=<平均速度<30km/h时提示“中度拥堵”,平均速度<20km/h时提示“严重拥堵”,请在左侧选择合适的框图,与右侧流程图中的数字编号框进行匹配,将算法设计完整。① ② ③
试卷第1页,共3页
试卷第1页,共3页
学科网(北京)股份有限公司
参考答案:
1.D
【详解】本题考查算法描述相关内容。常见的算法描述方法有:自然语言、流程图、伪代码、N-S图、程序设计语言等。通过绘制框图来描述的方法是流程图。故本题答案是D选项。
2.A
【详解】本题考查解析法的描述。解析法通常用于解决数值计算问题,它涉及数学公式和方程的直接应用。故选A。
3.C
【详解】本题考查算法的描述。描述算法的常用方法有自然语言、流程图描述算法和伪代码;同一种算法能用多种程序语言来实现;一个算法必须保证它的执行步骤是有限的;算法可以有一个或多个输出。故选C。
4.A
【详解】本题考查算法的描述。自然语言是人们日常交流所使用的语言,描述方式直观、简单,但可能存在歧义性和不精确性。例如,“第一步,输入边长a;第二步,计算正方形的面积s=a*a;第三步,输出正方形的面积s。”这种描述方式就是使用自然语言来表达算法的步骤。故答案为:A。
5.C
【详解】本题考查的是算法描述。算法可以用自然语言、流程图、伪代码描述,故本题应选C。
6.D
【详解】本题考查计算机解决问题的步骤。评估程序性能时,我们既关注程序的运行时间和空间占用等客观指标,也关注用户满意度等主观指标。故选D。
7.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选项。
8.B
【详解】本题考查算法流程图相关内容。分析流程图,其运行过程,具体如下:
(1)i=1,i<6成立,执行循环体:a[i-1]>a[i]成立,k=k+1=1,i=i+1=2;
(2)i=2,i<6成立,执行循环体:a[i-1]>a[i]不成立,a[i-1]<a[i]成立,f=f+k=1,k=0,i=i+1=3;
(3)i=3,i<6成立,执行循环体:a[i-1]>a[i]成立,k=k+1=1,i=i+1=4;
(4)i=4,i<6成立,执行循环体:a[i-1]>a[i]不成立,a[i-1]<a[i]不成立,i=i+1=5;
(5)i=5,i<6成立,执行循环体:a[i-1]>a[i]不成立,a[i-1]<a[i]成立,f=f+k=2,k=0,i=i+1=6;
(6)i=6,i<6不成立,输出f,即:2。
故本题答案是B选项。
9.D
【详解】本题考查流程图。初始时low为0,high为列表长度减1。在循环中,通过计算中间索引mid,比较nums[mid]与nums[high]的大小。如果nums[mid]<nums[high],则将high更新为mid,并在res中添加“0”;否则将low更新为mid+1,并添加“1”。由于nums中含有5个不相同数字,在进行二分查找过程中,根据数字大小关系会不断更新low和high,从而导致res中形成不同的“0”和“1”组合,所以输出结果可能是各种由“0”和“1”组成的字符串。若nums=[2,1,3,5,4],则程序输出res的值为001。故答案为:D。
10.C
【详解】本题考查的是流程图识读。阅读流程图,可知这是求圆的周长C,故流程图中①处的内容是C=2*3.14*r(*表示乘)。故选C。
11.A
【详解】本题考查的是计算机解决问题。计算机解决问题的步骤:分析问题、设计算法、编写程序、调试运行、检测结果,其中最核心的步骤是设计算法。张老师想要通过编程来解决高二走班排课问题,最核心的工作是设计出解决问题的算法。故本题应选A。
12.C
【详解】本题考查的是流程图。执行过程如下:
i=2,n=35,flag=False,
2<=34,Y,35mod2=0,N,i=3
3<=34,Y,35mod3=0,N,i=4
4<=34,Y,35mod4=0,N,i=5
5<=34,Y,35mod5=0,Y,flag=True,输出i=5,flag=True,故选项C正确。
13.A
【详解】本题考查算法特征。算法具有有穷性、确定性、可行性、有0个或多个输入、有一个或多个输出这五个特征。“输出所有素数”这个要求是无法在有限步骤内完成的,因为素数有无穷多个,不满足算法的有穷性特征。有穷性指的是一个算法必须在执行有限个步骤之后终止。而“输出所有素数”会导致算法无限进行下去,没有终止的时刻。所以不能用算法描述“输出所有素数”是因为不符合算法特征中的有穷性。故答案为:A。
14.B
【详解】本题考查的是流程图识读。循环结构是指在程序中需要反复执行某个功能而设置的一种程序结构。它由循环体中的条件,判断继续执行某个功能还是退出循环。①③是选择结构。②④是循环结构。故本题应选B。
15.D
【详解】本题考查的是流程图。
第i次
1
2
3
4
5
a
1
3
5
7
9
b
0
1
7
13
19
第3次执行循环条件b<=13?时,b的值为7。故选项D正确。
16.D
【详解】本题考查的是流程图识读。int是转换为整型,/是除,//是整除。对于三正整数 ,y=int(x/10)//10求的是百位上的数字。故本题应选D。
17.B
【详解】本题考查算法的基本结构。算法的基本结构有:顺序、选择(分支)、循环结构。顺序的执行顺序是自上而下,依次执行;选择结构通常用于根据某些条件判断来决定程序的执行路径;循环结构是指在程序中需要反复执行某个功能而设置的一种程序结构。题中消费500元以内的打8.8折;满500元打8折,满1000元及以上的打7折,合适的算法控制结构是选择(分支)结构。故选:B。
18.D
【详解】本题考查算法。虽然可以设计不同的算法来求平均分,但这些算法的目标和结果是确定的,即计算班级技术成绩的平均分。不同的算法可能采用不同的计算方法、数据结构或优化策略,但它们的最终目标是相同的,即求取平均分。因此,算法的目标性和确定性意味着算法不具有不确定性。故答案为:D。
19.A
【详解】本题考查算法流程图相关内容。其运行过程如图所示:。A选项,该流程执行完,输出的结果是41,选项正确。B选项,该流程执行后,变量a的值是64,选项错误。C选项,交换s←s+k*a和k←1-k这两个语句的顺序后,输出结果为17,选项错误。D选项,该流程执行后,变量k的值是0,选项错误。故本题答案是A选项。
20.伪代码
【详解】本题考查算法描述。伪代码是一种非特定的程序设计语言的、用于描述算法逻辑但不依赖具体编程语言的描述方法。故答案为伪代码。
21.处理步骤
【详解】本题考查流程图。在流程图中,矩形是一种常见的图形符号,通常被用于表示具体的处理步骤或操作。这些处理步骤可以是计算、赋值、数据输入输出等各种具体的动作。故答案为:处理步骤。
22.有限
【详解】本题考查的是算法定义。所谓“算法”就是解题方法的精确描述,由有限个步骤组成。
23.函数
【详解】本题考查程序结构。函数结构允许将代码分割成独立的功能单元,每个单元完成特定的任务,提高了代码的可读性和重用性。故答案为:函数。
24.哈希表
【详解】本题考查哈希表的描述。在非数值计算中,哈希表(Hash Table)是一种常用的数据结构,可以用来快速确定一个元素是否存在于一个集合中。哈希表通过哈希函数将元素的键值映射到表中的一个位置,从而实现快速查找、插入和删除操作。由于哈希表的平均时间复杂度为O(1),因此在需要频繁查找元素的场景中非常高效。
25.¬
【详解】本题考查逻辑运算符。在符号运算中,否定运算符用于表示一个命题的否定。常见的符号是“¬”,读作“非”或“否定”。例如,如果P是一个命题,那么¬P表示命题P的否定。
26.正确
【详解】本题考查算法相关内容。好的算法通常具有以下特点:(1)正确性--算法能够产生正确的输出结果,符合预期的计算目标。(2)可读性--算法的逻辑清晰,易于理解和阅读,方便其他人理解和维护。(3)高效性--算法在有限的时间内能够完成计算任务,不会消耗过多的计算资源。(4)健壮性--算法能够处理各种输入情况,不会因为输入的变化而导致错误或崩溃。(5)可扩展性--算法能够适应不同规模和复杂度的问题,并能够方便地进行扩展和修改。(6)优化性--算法能够在满足计算要求的前提下,尽可能地减少时间和空间复杂度,提高计算效率。(7)可靠性--算法在各种条件下都能够产生一致的结果,不受环境或输入数据的影响。故本题答案是:正确。
27.错误
【详解】本题考查算法的描述。解决同样一个问题,算法不一样,写出的程序运行出结果的时间效率也是不一样的,故表述错误。
28.错误
【详解】本题考查流程图。在流程图中,表示条件判断的基本图形是菱形,平行四边形一般不用于表示条件判断。故说法错误。
29.正确
【详解】本题考查流程图的概念。以特定的图形符号加上说明,表示算法(有限的步骤去解决问题)的图,称为流程图或框图,正确。故答案为:正确。
30.正确
【详解】本题考查的是算法。衡量算法的优劣往往从时间复杂度和空间复杂度两个维度考虑,题干中的说法正确。
31.正确
【详解】本题考查伪代码。伪代码的目的是清晰地呈现算法的核心逻辑和主要步骤,而非追求完全详细和精确到编程语言的级别。因此,在不影响理解算法本质和流程的前提下,可以省略一些在特定编程语言中才需要关注的非关键细节。这样能更突出算法的重点和关键部分,使读者更容易把握算法的整体思路。故说法正确。
32.错误
【详解】本题考查算法描述相关内容。自然语言表示的算法容易产生歧义,表示的含义往往不严格,不便翻译成计算机程序设计语言,故本题答案是:错误。
33. B A C
【详解】本题考查的是流程图识读。①处由是的分支输出“通畅”,可知此处是B;②处由是的分支输出“轻度拥堵”,可知此处是A;③由是的分支输出“严重拥堵”,可知此处是C。
答案第1页,共2页
答案第1页,共2页
学科网(北京)股份有限公司
$$