内容正文:
2.2 算法的概念及描述
一、选择题
1.动态规划算法通常用于解决具有以下特性的问题( )
A.单一解 B.多阶段决策 C.无规律性 D.即时性
2.某算法的部分流程图如图所示。执行这部分流程后,下列分析正确的是( )
A.当x输入2,y输入1时,“b←b×x”共被执行4次 B.当x输入2,y输入3时,输出结果是8
C.当x输入2,y输入1时,输出结果是32 D.当x输入2,y输入3时,“a←a-1”共被执行3次
3.流程图描述的算法执行结果是( )
A. B. C. D.
4.某算法用伪代码描述如下:
输入两个互不相等的自然数A,B
If A<B then
(C←A,A←B,B←C
输出A,B)
关于上述算法,下列说法正确的是( )
A.不符合“可行性”特征 B.无法用流程图来描述
C.运用了循环结构的控制转移 D.实现从大到小输出两个自然数
5.流程图描述算法的功能是( )
A.求1+4+7+…+100的值 B.求1*4*7*…*100的值 C.求1+4+7+…+97的值 D.求1*4*7*…*97的值
6.某算法的部分流程图如图所示,执行这部分流程,若输入m、n、x的值依次为10、2、5,则输出n的值是( )
A.5 B.6 C.7 D.8
7.某算法的部分流程图如图所示,以下说法正确的是( )
A.该流程执行后,变量 k 的值是-1
B.该流程执行后,变量 a 的值是 16
C.该流程用于计算并输出 1+8-16 的值
D.该流程完整执行后,“a<32?”共执行了 3 次
8.在编程开发“手机走路计步器”的过程中,确定计步奖励规则和实现步骤并加以描述属于( )
A.设计算法 B.调试程序 C.分析问题 D.编写程序
9.已知算法的部分流程图如图所示,若输入 x 为 18,则输出结果为( )
A.4 B.5 C.6 D.7
10.关于算法的描述,正确的是( )
A.算法可以包含无限循环,所以算法的执行步骤可以是无限的
B.一个完整的算法必须要有输出
C.算法只能用伪代码表示
D.一个完整的算法至少要有一个输入
11.下列不能用来描述算法的是( )
A.自然语言描述 B.流程图描述 C.二维码描述 D.伪代码描述
12.下列关于算法描述错误的是( )
A.一个有效的算法必须要有输入 B.算法必须在有限时间和有限步骤内完成
C.算法是解决问题的方法和步骤 D.可用自然语言、伪代码、流程图等不同的方法来描述算法
13.设计算法是程序设计的核心。为了表示一个算法,可以用不同的方法。常用的有自然语言、流程图、伪代码、PAD图等。这其中以特定的图形符号加上说明,表示算法的图,称为算法流程图。下列选项中表示对一个给定的条件进行判断的是( )
A. B. C. D.
14.某算法的部分流程图如图所示,执行这部分流程,若输入的x依次为4,5,9,14,0,则输出n的值是( )
A.1 B.2 C.3 D.4
15.在网上购买电影票时,一般是按照如下流程图顺序依次进行各步操作,具有这种特点的算法结构称为( )
A.顺序 B.分支 C.循环 D.树形
16.通过列举所有的可能进行密码破解,用到的算法是( )
A.递推 B.递归 C.穷举 D.分治
17.下图所示是一个选择(分支)结构算法流程图,下列选项中描述正确的是( )
A.A操作一定会被执行 B.A操作一定先于B操作被执行
C.判断条件P可以有2个以上的结果 D.A操作有可能不被执行
18.以下流程图描述的算法执行结果是( )
A.1 B.2 C.3 D.4
二、填空题
19.流程图描述的算法,执行结果是 。
20.流程图描述的算法,对列表a执行的结果是 。
21.凯撒加密是一种较简单且广为人知的加密方法,其明文中的所有字母依照字母表按固定数目向后或前偏移成密文。字符串“HOT”经过加密后是“KRW”;按同样规则,“COLD”加密后为 。
22.若输入 16 和 12,输出结果是 。
23.流程图表示变量的 与 。
24.以下流程图当输入73时,运行后输出的结果是 。(不填写引号)
三、判断题
25.伪代码比自然语言描述算法更加直观和易于理解。( )
26.计算机算法必须具有有穷性、确定性、有输入有输出和可行性。( )
27.表示算法的方法通常可以是流程图、伪代码和高级语言。( )
28.算法描述方法主要有三种为:自然语言描述、流程图描述和伪代码描述。( )
29.算法在程序设计中可有可无,它不会影响程序设计的效率。( )
30.用自然语言描述算法形象、直观、更容易理解。( )
四、操作题
31.某算法流程图如下:
(1)依次输入1,10,1,执行该流程后,输出结果为 。
(2)依次输入1,10,2,执行该流程后,输出结果为 。
(3)依次输入1,6,2,执行该流程后,输出结果为 。
(4)依次输入3,6,2,执行该流程后,输出结果为 。
32.某城市出租车按行驶里程收费的计算方法如下:
其中s为行驶里程(单位:千米);m为应付的车费(单位:元),小明绘制了如图所示的收费程序的流程图。
(1)请根据题意在①②③处填入正确的python表达式或语句,将流程图补充完整。
①: ②: ③:
(2)若要测试所有程序分支是否正确,小明想使用如下几组数据进行测试,你认为最恰当的是哪一组?
A.2,9,13 B.5,10,20 C. -1,6,10 D. 3,15,100
(3)如某人乘坐出租车的里程为6公里,请根据完善后的流程图计算输出的m是多少?写出计算过程。
试卷第1页,共3页
试卷第1页,共3页
学科网(北京)股份有限公司
参考答案:
1.B
【详解】本题考查动态规划算法。动态规划算法通常用于解决多阶段决策问题。它通过将问题分解为更小的子问题,并利用这些子问题的解来构建原问题的解。动态规划特别适用于那些可以通过递归关系定义的问题,且这些问题通常具有重叠子问题和最优子结构的性质。选项A、C和D不符合动态规划的特性。故选B。
2.A
【详解】本题考查算法分析。
当x输入2,y输入3时,b的值为4,即输出结果是4,因此B选项错误;当x输入2,y输入1时,b的值为16,即输出结果是16,因此C选项错误;当x输入2,y输入3时,“a←a-1”共被执行2次,因此D选项错误。当x输入2,y输入1时,“b←b×x”共被执行4次。故正确答案为:选项A。
3.B
【详解】本题考查算法分析。
流程图中i<=4控制行数,输出4行。k>i控制列数,表示第几行,输出几列。故正确答案为:选项B。
4.D
【详解】本题考查算法描述相关内容。算法的描述方法有:自然语言、伪代码、流程图、N-S图等。由伪代码可知,如果A<B则A、B的值交换,即输出的结果A大于B。该算法符合“可行性”特征,可以用流程图来描述,运用了选择(分支)结构的控制转移,实现了从大到小输出两个自然数的功能。故本题答案是D选项。
5.D
【详解】本题考查流程图。流程图中,通过循环从1开始,每次增加3,当值超过97时停止循环。在循环中进行累乘操作。所以该流程图是求1*4*7*…*97的值。故答案为:D。
6.C
【详解】本题考查流程图。程序运行过程如下所示。因此,最终输出n的值为7。故答案为:C。
m
n
x
a
10
2
5
5
10
7
0
1
7.D
【详解】本题主要考查算法流程图的执行。s=1,k=1,a=8,第一次循环,满足a<32,执行s=s+k*a=9,k=1-k=0,a=2*a=16;第二次循环,满足a<32,执行s=s+k*a=9,k=1-k=1,a=2*a=32;第三次循环,不满足a<32,循环结束。该流程执行后,变量k的值是1,变量a的值是32,变量s的值是9,该流程完整执行后,“a<32?”共执行了3次,故本题选D选项
8.A
【详解】本题考查算法步骤。在设计算法阶段,开发者会确定程序如何执行特定的任务或功能。在这种情况下,确定计步奖励规则和实现步骤是设计算法的一部分,因为它涉及到定义程序如何处理用户的步数并据此给出奖励。故答案为A选项。
9.B
【详解】本题考查算法流程图相关内容。分析流程图,其功能是统计x的因子个数(不包含x本身)。若输入x为18,则其因子为:1、2、3、6、9,个数为5,故本题答案是B选项。
10.B
【详解】本题主要考查算法的描述。算法的执行步骤必须是有限的;一个完整的算法必须要有输出;算法可以用流程图表示,可以用伪代码表示等;一个完整的算法可以没有输入,但至少有一个输出,故本题选B选项。
11.C
【详解】本题考查算法描述相关内容。算法描述方法有:自然语言、流程图、伪代码和程序设计语言,故本题答案是C选项。
12.A
【详解】本题考查算法相关内容。算法就是解决问题的方法和步骤的描述,可以用自然语言、伪代码、流程图等多种不同的方法来描述,必须在有限步骤内实现,有零个或多个输入,至少一个或多个输出。故本题答案是A选项。
13.D
【详解】本题考查算法流程图相关内容。以特定的图形符号加上说明,表示算法的图,称为流程图。圆角矩形表示流程的开始(起)与结束(止),通常只有一个开始框;矩形表示流程中需要执行或处理的内容;菱形表示对流程中的某一条件进行判断,用来决定执行下一操作;用平行四边形表示程序流程中资料的输入或结果的输出;箭头代表流程中程序执行的方向与顺序。故本题答案是D选项。
14.B
【详解】本题考查流程图。使用元素跟踪法可得下表:
x=4
x=5
x=9
x=14
x=0
x!=0
x!=0
x!=0
x!=0
x==0退出
c=0,b=0,a=4
c=0,b=4,a=5
c=4,b=5,a=9
c=5,b=9,a=14
a!=0+0
5!=0+4
9==4+5
14==5+9
n=1
n=2
因此,最后输出的n的值为2。故答案为:B。
15.A
【详解】本题考查的是算法结构。由流程图可知,依次从上到下执行,这是顺序结构的特点。故选A。
16.C
【详解】本题考查算法相关内容。递推是通过计算前面的一些项来得出序列中的指定项的值。递归算法(recursion algorithm)在计算机科学中是指一种通过重复将问题分解为同类的子问题而解决问题的方法。穷举法的基本思想是根据题目的部分条件确定答案的大致范围,并在此范围内对所有可能的情况逐一验证,直到全部情况验证完毕。分治法就是将一个复杂的大问题分解成两个或者更多相同或者相似的子问题,再把子问题继续拆分成更小的子问题,直到子问题可以直接求解,然后原问题的解就是子问题的解的合并。通过列举所有的可能进行密码破解,用到的算法是穷举。故本题答案是C选项。
17.D
【详解】本题考查算法控制结构。选择结构表示程序的处理步骤出现了分支,需要根据某一特定的条件选择其中的一个分支执行。由图可知,A操作有可能不被执行。故选D。
18.B
【详解】本题考查流程图相关知识。分析流程图可知,初始状态下,x=3,y=6。顺序执行:(1)z=y-x,则z=6-3,z=3;(2)z=z-1,则z=3-1,z=2;(3)输出z的值,执行结果为:2。故本题答案为B选项。
19.shanghai
【详解】本题考查算法分析。
该程序功能比较str1和str2字符串大小,输出较大的字符串。小写字母s的ASCII码大于大写字母S。故正确答案为:shanghai。
20.13
【详解】本题考查流程图。初始化,a[3]=2,a[4]=3,m=5;第一次循环,a[5]=a[3]+a[4]=2+3=5,m=m+1=6;第二次循环,a[6]=a[4]+a[5]=3+5=8,m=m+1=7;第三次循环,a[7]=a[5]+a[6]=5+8=13,m=m+1=8;第四次循环,a[8]=a[6]+a[7]=8+13=21,m=m+1=9;此时a[7]=13。故答案为:13。
21.FROG
【详解】本题考查加密算法。字符串“HOT”经过加密后是“KRW”,可知偏移量是3,按同样规则,“COLD”加密后为FROG。
22.4
【详解】本题考查的是流程图识读。阅读流程图可知,这是采用辗转相除法求最大公约数。16和12的最大公约数是4。
23. 计算 赋值
【详解】本题考查的是流程图。本题考查算法流程图。菱形是条件判断框,平行四边形是数据输入/输出框,圆角矩形是开始/结束框,矩形是数据处理框(用于变量的计算与赋值)。
24.pass
【详解】本题考查算法流程图的识读。输入73,即y=73,满足y≥60,输出pass。
25.正确
【详解】本题考查伪代码。伪代码可以明确地定义算法的步骤、变量、数据类型和流程控制结构,这使得读者能够更准确地理解算法的工作原理。此外,伪代码还可以直接转换为编程代码,这对于算法的实现和测试非常有帮助。我们需要根据实际需要选择合适的描述方式。在需要精确、无歧义地描述算法时,伪代码可能更加直观和易于理解,故正确。
26.正确
【详解】本题考查算法特征。有穷性,算法必须在有限的时间内完成,即算法的执行步骤是有限的,不能陷入无限循环中。确定性,算法的每一步骤都必须有明确的定义,不会出现模棱两可的情况。算法在相同的条件下,只有一条执行路径,相同的输入只会产生相同的输出。输入,算法有零个或多个输入,这些输入是算法开始执行前所必需的或外部提供的。输出,算法至少有一个输出,它是算法执行后产生的结果。算法的目的是为了求解某个问题或处理某个数据,并将处理结果以某种形式输出。可行性,算法的每一步都必须是可行的,也就是说,每一步都能通过执行有限次数的基本运算实现,故根据题意说法正确。
27.正确
【详解】本题考查算法的表示。表示算法的方法有多种,常见的包括流程图,它通过图形符号直观地展示算法步骤和逻辑流程;伪代码,是一种类似编程语言但更简洁易懂的方式来描述算法逻辑;高级语言,如 C、C++、Java等可以直接编写代码来实现算法。故说法正确。
28.正确
【详解】本题考查算法描述方法相关内容。算法是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制。描述算法的方法有多种,常用的有自然语言描述、流程图描述和伪代码描述。故本题答案是:正确。
29.错误
【详解】本题考查算法相关内容。算法就是用计算机求解某一问题的方法是能被机械地执行的动作或指令的有穷集合。算法是程序的灵魂,它独立于任何一种程序设计语言,一个算法可以用多种程序设计语言来实现。良好的算法设计,不仅可以提高程序的执行效率,起到事半功倍的效果,而且可以以算法设计为基础,通过寻求不同问题存在的相互联系,从计算机角度对不同问题的共性进行算法设计,实现程序编写的举一反三。算法设计是整个程序设计的核心。故本题答案是:错误。
30.错误
【详解】本题考查算法的描述。用流程图描述算法形象、直观、更容易理解,故表述错误。
31. 10 5 3 2
【详解】本题考查的是流程图识读。阅读流程图可知是计算c~z(包含c和z)步长为b的序列数有几个。
(1)依次输入1,10,1,1~10步长为1的序列数有:1、2、3、4、5、6、7、8、9、10共10个数,故输出结果为10。
(2)依次输入1,10,2,1~10步长为2的序列数有:1、3、5、7、9共5个,故输出结果为5。
(3)依次输入3,6,2,3~6步长为2的序列数有:3、5共2个,故输出结果为2。
32. S<=3 S<=10 m=24+2.5*(S-10) A 16
【详解】本题考查算法流程图。(1)由题干数学分段表达式,可知流程图①②③分别填S<=3、S<=10、m=24+2.5*(S-10)。(2)选数据进行测试,则应该在每个区间范围内各选一个数,即第一个数小于等于3,第二个数大于3且小于等于10,第三个数大于10,结合选项,2,9,13符合要求,故选A。(3)如某人乘坐出租车的里程为6公里,则输出m=10+2*(6-3)=16。
答案第1页,共2页
答案第1页,共2页
学科网(北京)股份有限公司
$$