内容正文:
4.3 非数值计算2024-2025学年高中信息技术教科版(2019)必修1
一、选择题
1.用流程图描述算法的过程中,下面哪条语句需要用框图来表示( )
A.i>=3 B.i=i+1 C.i mod2==1 D.print i
2.用流程图描述算法时,矩形框表示的是( )
A.输入/输出 B.判断 C.处理 D.开始/结束
3.已知 nums 列表中含有 5 个不相同的数字,该流程图的输出结果可能是( )
A.1 B.111 C.011 D.001
4.下列关于算法的描述,正确的有( )
A.解决任何一个具体问题只有一种算法 B.算法是解题方法的精准描述,它可以有无限个步骤
C.一个算法至少需要一个输入 D.运用矩形面积计算公式求解矩形面积,这是解析算法思想
5.某算法部分流程图如图所示,执行该流程时,输入的x值依次为1,3,4,2,-1,输出的结果为( )
A.13 B.12 C.11 D.10
6.某算法的部分流程图如下图所示,执行这部分流程,依次输入整数-2,3,-1,2,0。则输出s的值是( )
A.-3 B.5 C.2 D.0
7.下列关于算法的叙述,正确的是( )
A.解题的步骤一定是无穷的 B.算法是解决问题的方法和步骤
C.算法可以没有输出项 D.算法是一定需要输入项
8.某同学根据下图所示流程图编写的Python程序段如下:
n = int(input())
if n <= 20:
z = 0
if n <= 50:
z = 1
else:
z = 2
用下列输入数据测试程序段与流程图,两者得到的z值不同的是( )
A.60 B.50 C.30 D.10
9.某流程图如图所示,若输入k的值为16,最终i,s的值分别为( )
A.11 19 B.15 35 C.16 35 D.17 35
10.某APP为鼓励用户积极签到,制定积分签到政策,用户第一次连续签到可以得到1分,第二次连续签到得2分,第三次连续签到得到4分,接下来,每次得分分别为8,16,32……。若签到中断,则前面签到所得积分清空,重新从第一天开始积分。当用户积分达到10000分时,可以兑换相应奖品,小明想得到的毛绒娃娃需要20000积分,请设计算法帮小明计算,需要至少连续签到多少天才能拿到毛绒娃娃。解决此问题的算法流程图如右图所示,请为虚线框选择合适的流程图基本图形并为①处选择合适代码( )
A. sum_jf=sum_jf+jf B. sum_jf=sum_jf+jf
C. sum_jf=jf+jf D. sum_jf=jf+jf
11.某算法部分流程图如图所示,输入k的值为4,n的值为8,执行这部分流程后,输出m的值为( )
A.1098 B.8901 C.9018 D.1890
12.对算法的正确描述是( )
A.解决一个问题只有一种算法
B.对于所有问题都能找到实际可行的算法
C.算法包含语句越少,算法越先进
D.解决一个问题可以有多种算法
13.关于算法的表示方法,以下叙述错误的是( )
A.较之自然语言,伪代码具有计算机程序设计语言叙述精确、无二义性的优点
B.较之流程图和伪代码,用自然语言描述可以减少歧义的产生
C.较之自然语言,用流程图和伪代码描述更为简洁
D.常用的算法表示方法有自然语言描述、流程图描述、伪代码或程序设计语言描述
14.某算法的部分流程图如图所示。执行这部分流程后,“x←x-3”被执行的次数为( )
A.1 B.2 C.3 D.4
15.如下流程图输入一个学生成绩score,根据成绩的不同值,输出不同。若score<60,则输出“请努力”,若60<=score<=90,则输出“及格”,若score>90,则输出“优秀”。在空白横线处应填( )
A.score>90 B.score<90
C.score<=90 D.score>=60andscore<=90
16.流程图描述的算法执行结果是( )
A.15 B.12 C.10 D.8
17.某算法的部分流程图如图所示,算法执行前数组元素a[0]至a[9]依次为:15,8,2,6, 16,0,0,0,0, 0。输入的n可能是1到4之间(含1和4)的随机整数。执行这部分流程后,输出a[h]和a[t-1]的值不可能是( )
A.15 16 B.8 15 C.16 2 D.2 8
18.在算法分析中,通常使用哪种方法来评估算法的效率( )
A.空间复杂度 B.时间复杂度
C.内存使用量 D.代码长度
19.若将“物体自由落体时,其下落高度的计算公式是,其中g是重力加速度,t是时间。求下落高度h的计算步骤有:
①用公式计算物体下落高度
②输入重力加速度g和时间t
③结束
④输出结果h
用来计算自由落体物体下落高度的算法用流程图来描述.则①②③④步骤依次使用的图框符号为( )
A. B.
C. D.
20.某算法的部分流程图如图所示,变量c的初值为空,输入变量x的值为100,执行这部分流程后,变量c的值是( )
A."0441" B."1440" C."441" D."144"
试卷第1页,共3页
试卷第1页,共3页
学科网(北京)股份有限公司
参考答案:
1.B
【详解】本题考查流程图。
选项A、C为关系表达式判断,对应流程图的菱形框。选项D为输出函数,对应流程图的平行四边形框。矩形框对应数据处理。故正确答案为:选项B。
2.C
【详解】本题考查流程图。在流程图中,矩形框通常表示处理或执行的步骤。处理步骤包括各种操作、计算、函数调用等。故答案为:C。
3.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。
4.D
【详解】本题考查算法。
A解决任何一个具体问题只有一种算法
这个选项是不正确的。对于同一个问题,往往存在多种不同的算法来解决。这些算法可能在效率、复杂度、易读性等方面有所不同。例如,排序问题就有多种算法,如冒泡排序、快速排序、归并排序等。
B算法是解题方法的精准描述,它可以有无限个步骤
这个选项同样是不正确的。算法是解题方法的精准描述,但它必须是有限的步骤序列。这意味着算法在执行过程中,经过有限步操作后必须能够结束,并给出结果。如果算法包含无限个步骤,那么它将无法在给定的时间内完成,从而失去了算法的实际意义。
C一个算法至少需要一个输入
这个选项也是不正确的。算法可以有输入,也可以没有输入。例如,计算当前时间的算法就不需要输入,因为它直接依赖于系统的时间信息。然而,如果一个算法需要处理某些数据或信息来产生结果,那么它就需要输入。但“至少需要一个输入”这一说法过于绝对,因此是错误的。
D运用矩形面积计算公式求解矩形面积,这是解析算法思想
这个选项是正确的。解析算法思想是通过已知的数学公式或模型来直接求解问题。在求解矩形面积的问题中,我们直接使用矩形的面积公式(长乘以宽)来计算结果,这完全符合解析算法的思想。
故正确答案为:选项D。
5.A
【详解】本题考查流程图。程序运行过程如下。因此输出s的值为13。故答案为:A。
s
m
x
0
2
1
2
2
3
5
3
4
9
4
2
13
4
-1
6.B
【详解】本题考查算法流程图阅读理解能力。由流程图可知,a=0时,循环结束,s变量是正数累加的结果,所以最终s的值是5。故选B。
7.B
【详解】本题考查的是算法的描述及特征。解题的步骤一定是有限的;算法就是解决问题的方法和步骤;算法至少要有一个输出项;算法是可以没有输入项。故选B。
8.D
【详解】本题考查算法描述相关内容。分析流程图及程序段,推知:
程序段:程序段中有两个if语句:第一个if语句是判断n是否小于等于20,若成立z = 0;第二个if语句是判断n是否小于等于50,若成立,执行z=1,否则执行z=2;(2)流程图:流程图表示的是if语句的嵌套,当n大于20时,去判断嵌套if语句的情况。两者描述的算法不相同。
分析四个选项,ABC选项,输入的n的值均大于20,第一个if语句均不会执行,执行第二个if语句,则A选项:n=60,z=2;B选项:n=50,z=1;C选项:n=30,z=1;这三个选项程序段与流程图得到的z值相同。D选项,程序段:先执行n <= 20成立,z=0,再执行n <= 50成立,z = 1,z最终值为1,而在流程图中得到的z值为0。故本题答案是D选项。
9.C
【详解】本题考查算法流程图相关内容。分析该流程图,当i分别为1,6,11,16 时,满足条件“i mod5 = 1”,又因为变量s的初值为1,因此s=1+1+6+11+16=35。故本题答案是C选项。
10.A
【详解】本题考查的是流程图识读。菱形是条件判断框,平行四边形是数据输入/输出框,圆角矩形是开始/结束框,矩形是数据处理框。虚线框中应使用菱形框;用变量sum_if累计积分,jf表示每次得到的积分,故此处填sum_jf←sum_jf+jf或sum_jf=sum_jf+jf或sum_jf+=jf。故选A。
11.B
【详解】本题考查流程图。程序运行过程如下。由此可知,最终输出的m的值为8901。故答案为:B。
k
n
i
m
4
8
0
0
4
9
1
8
4
0
2
89
4
1
3
890
4
2
4
8901
12.D
【详解】本题考查算法相关内容。算法具有如下特征:(1)有穷性:算法必须能在执行有限个步骤之后终止;(2)确切性:算法的每一步骤必须有确切的定义;(3)输入项:一个算法有0个或多个输入;(4)输出项:一个算法有一个或多个输出,没有输出的算法是毫无意义的;(5)可行性:算法中执行的任何计算步骤都是可以被分解为基本的可执行的操作步,即每个计算步都可以在有限时间内完成(也称之为有效性)。A选项,解决一个问题可以有多种算法,选项错误。B选项,算法不能解决所有问题,选项错误。C选项,算法语句的多少不能体现算法的先进性,选项错误。D选项,解决一个问题可以有多种算法,选项正确。
13.B
【详解】本题考查算法相关内容。算法是指为解决某个特定问题而采取的方法和步骤。这里所说的算法一般是指用计算机解决问题的方法和步骤,即计算机算法。算法的描述方法有:自然语言、流程图、N-S图、伪代码、程序设计语言等。ACD选项说法正确。B选项,自然语言的特点是容易产生二义性,选项说法错误。故本题答案是B选项。
14.D
【详解】本题考查算法流程图相关内容。分析流程图,当x为10、7、4、1时,执行循环体x←x-3,故本题答案是D选项。
15.C
【详解】本题考查算法流程图相关内容。结合题目内容,分析流程图,下划线处是在score<60不成立的情况下执行,此处已经隐含了score>=60,无需再注明,只需要填写score<=90即可正确表达判断条件,故本题答案是C选项。
16.A
【详解】本题考查算法流程图相关内容。分析流程图,其运行过程如图所示:。故本题答案是A选项。
17.A
【详解】本题考查流程图。这段代码的逻辑是通过迭代,比较数组a中下标h和t-1对应的元素大小,根据比较结果进行交换或赋值操作。流程图的每个节点代表一个具体的操作步骤,但由于输入的n可能是1到4之间的随机整数,因此在不同的情况下,流程执行的路径也可能不同。针对代码中的while循环,迭代次数由输入的n决定,而在每次迭代中,根据a[h]和a[t-1]的比较结果,进行不同的赋值操作。根据流程图的描述,无法确切确定h和t-1的具体值,因为它们会在循环中被修改。但可以确定的是,h在迭代过程中会递增,而t-1的初始值为4,且在迭代过程中也可能会被修改。当n为1时,输出为8和15。当n为2时,输出为2和8。当n为3时,输出为6和2。当n为4时,输出为16和2。故答案为:A。
18.AB
【详解】本题考查算法相关内容。评估算法的效率的方法主要包括时间复杂度分析、空间复杂度分析、实际运行时间测试、性能分析、可扩展性分析、稳定性分析、与最优解的比较、实际应用反馈、仿真和模拟,以及能耗评估。算法的时间复杂度是衡量算法执行效率的指标,表示随着输入规模增大,算法执行所需的时间增长率,通常使用大O表示法来描述时间复杂度,它指出算法执行时间的上界,时间复杂度分析有助于评估和比较不同算法的效率,并选择最优算法来解决特定问题。算法的空间复杂度是指执行这个算法所需要的内存空间,一个算法所占用的存储空间包,括算法程序所占的空间、输入的初始数据所占的存储空间以及算法执行中所需要的额外空间,其中,额外空间包括算法程序执行过程中的工作单元以及某种数据结构所需要的附加存储空间,如果额外空间量相对于问题规模来说是常数,则称该算法是原地工作的,在许多实际问题中,为了减少算法所占的存储空间,通常采用压缩存储技术,以便尽量减少不必要的额外空间。在算法分析中,通常使用空间复杂度、时间复杂度来评估算法的效率。故本题答案是AB选项。
19.C
【详解】
本题考查算法流程图相关内容。为开始、结束框,表示本段算法的开始或结束;为输入、输出框,表示输入或输出的数据;为处理框,指出要处理的内容;为判断框,表示条件判断及产生分支的情况。“①用公式计算物体下落高度”是要处理的内容,应使用处理框表示,符合这一要求的答案为C。故本题答案是C选项。
20.D
【详解】本题考查算法流程图相关内容。分析流程图,x的值为100,x>0成立,执行过程如图所示:。变量c的值是"144",故本题答案是D选项。
答案第1页,共2页
答案第1页,共2页
学科网(北京)股份有限公司
$$