内容正文:
4.1 算法及其特征
一、选择题
1.一个算法的步骤必须是有限的,并且保证执行有限步后结束,这体现了算法的( )
A.输入 B.有穷性 C.确定性 D.可行性
2.以下求1到100所有偶数之和的算法是用( )语言描述的?
(1) 将1的值赋给变量i, 0的值赋给sum
(2) 判断i是否能被2整除,若是,将i的值累加到sum中
(3) 变量i加1,若i小于等于100, 则转去执行(2)
(4)输出 sum的值
A.自然语言
B.流程图
C.伪代码
D.计算机语言
3.某学校将学生的考试成绩进行分级,示意图如下,张扬同学考了92分,他将被评为哪个级别?( )
A.D级
B.C级
C.B级
D.A级
4.下面关于算法的描述,错误的是( )。
A.算法可以用自然语言、流程图、伪代码来描述。
B.算法的步骤必须是有限的。
C.算法可以没有输入,但必须有输出。
D.算法的步骤不需要确切的定义,合适就行。
5.某算法的部分流程图如图所示,执行这部分流程后,输出s的值为64,则①处应填入( )
A.i/4=2 B.i\4=2 C.i%2=1 D.i%2=0
6.某算法部分流程图如下图所示,执行这部分流程图后,s的值为( )
A.1 B.4 C.2 D.3
7.某算法的部分流程图如图所示。执行这部分流程,若输入s的值为“picture”,则输出的c、i值分别为( )
A."c",3 B."e",4 C."t",3 D."t",4
8.以下对算法的叙述,错误的是( )
A.算法结果不唯一 B.实现算法的语言可以是多样的
C.算法具有确定性 D.解决同一问题的算法可以有多种
9.算法是指在有限的步骤内解决某一问题的确切过程。以下关于算法的描述中,错的是( )
A.算法必须有输入,也必须有输出,而且可以有多个输入输出
B.任何复杂的算法最终都可以用顺序、分支、循环结构来实现
C.《九章算术》中用“更相减损术”求最大公约数的记载属于算法的自然语言描述
D.同一问题选用不同的算法执行效率可能会有很大差别
10.某算法的部分流程图如图所示。
执行这部分流程后,输出t的值为( )
A."135" B."147" C."1479" D."13579"
11.某算法的流程图如图所示,执行这部分流程,当输入n的值为13时,输出结果为( )
A.3 B.4 C.5 D.6
12.某算法的部分流程图如图所示。执行这部分流程,分别输入7,9,0,8,2,1,-1,则输出值依次为( )
A.9 0 B.9 8 C.8 9 D.0 1
13.下列关于算法特征的说法正确的是( )
A.算法不能没有输入 B.算法执行者只能是机器
C.算法至少要有1个输出 D.算法的有穷性指算法要在有限的时间内完成
14.某算法的部分流程图如图所示,执行这部分流程后,输出a,b的值分别是( )
A.15,30 B.18,30 C.15,45 D.18,45
15.用K-近邻算法对真梅、杏梅和樱李梅三种类别的梅花自动分类,为了便于计算,取其中的某一个特征属性进行测量,收集的若干样本数据如下表所示,已知待测梅花的该特征值为12,根据K-近邻算法思想,当K=5时,待测梅花的品种预测为( )
特征值
6.5
7
7.5
8
8.5
9.5
13
15
15.5
与待测梅花的距离
5.5
5
4.5
4
3.5
2.5
1
3
3.5
类别
真梅
真梅
樱李梅
樱李梅
樱李梅
杏梅
真梅
杏梅
杏梅
A.直梅 B.杏梅 C.樱李梅 D.无法判断
16.某算法用伪代码描述如下。
输入两个互不相等的自然数A,B
If A<B then
(A←A+B,B←A-B,A←A-B)
输出A,B
关于上述算法,下列说法正确的是( )
A.不符合“可行性”特征 B.无法用流程图来描述
C.运用了循环结构的控制转移 D.实现从大到小输出两个自然数
二、填空题
17.算法的基本控制结构有 、 、 。
18.写出算法执行结果
19.有一种算法是把所有可能的答案一一列举,合适就保留,不合适就丢弃。这种方法称作 。枚举法解决问题的一般结构: 。
20.依次输入8、7、9,以下流程图的算法执行结果是 。
\
三、判断题
21.算法必须有输出。 ( )
22.算法就是用计算机求解某一问题的方法,是能被机械地执行的动作或指令的无穷集合。( )
23.算法有至少有一个输入,不一定有输出。 ( )
24.千言万语不如一张图。以特定的图形符号加上说明,表示算法(有限的步骤去解决问题)的图,称为流程图或框图。 (判断对错)
四、操作题
25.某电商在12月12日的促销活动中对碳素笔进行打折销售,销售单价为¥5元/支,规定一次购买10支以下不打折,购买10支(含10支)以上20支以下打9.5折,购买20支(含20支)30支以下打9折,购买30支(含30支)以上打8.5折。请根据以上促销活动的销售规则,输入购买数量后由程序自动计算出付款金额,请完善下面的流程图、代码和部分代码注释。
变量说明:1、n:客户购买数量;2、z:折扣率;3、t:付款金额
(1)请完善下面的流程图
1、( ) 2、( ) 3、( ) 4、( ) 5、( )
(2) 请完善下面的代码和注释
n = input ("请输入购买数量 n:")
n = int (____) #
z = 0
t = 0
if n < 10:
z = 1.0
elif
#
elif
else:
#
print("付款金额为:","%.2f"%t)
试卷第1页,共3页
试卷第1页,共3页
学科网(北京)股份有限公司
参考答案:
1.B
【详解】本题主要考查算法的特征。一个算法应该具有以下五个重要的特征:1、有穷性: 一个算法必须保证执行有限步之后结束;2、确切性:算法的每一步骤必须有确切的定义;3、输入:一个算法有0个或多个输入,以刻画运算对象的初始情况,所谓0个输入是指算法本身定义了初始条件;4、输出:一个算法有一个或多个输出,以反映对输入数据加工后的结果。没有输出的算法是毫无意义的;5、可行性:算法原则上能够精确地运行,而且人们用笔和纸做有限次运算后即可完成。故本题选B选项。
2.A
【详解】本题主要考查算法描述。分析题干,可知该算法是用自然语言描述的,故本题选A选项。
3.C
【详解】本题主要考查算法流程图。分析流程图可知,张扬同学考了92分,他将被评为B级,故本题选C选项。
4.D
【详解】本题主要考查算法的描述。算法可以用自然语言、流程图、伪代码来描述;算法的步骤必须是有限的;算法可以没有输入,但必须有输出;算法的步骤需要确切的定义,故本题选D选项。
5.D
【详解】本题主要考查算法流程图。执行这部分流程后,输出s的值为64,即s=1*2*2*2*2*2*2=64,即语句s=s*2执行了6次,变量i的范围是1~10,其中偶数0、2、4、6、8、10,奇数1、3、5、7、9,偶数共6个,奇数共5个,故对应①处应填入1%2=0,故本题选D选项。
6.D
【详解】本题考查的是流程图的识读。s的值是一个环,环里的值是0-5,从1开始走,第一次走3步,第二次走1步,第三次走3步,第四次走1步……,所以走的过程是1>4>5>2>3>0>1>4……可以发现走6次就是一轮转,一共走100次,100/6=16……4,所以最后一轮从1开始走,走了4次,所以答案是D。
7.A
【详解】本题考查的是流程图识读。由c=mid(s,1,1)、j=mid(s,i+1,1)可知,对输入的字符逐一跟前一个字符比较,如果大于大于前一个字符,则输出该字符c及i。若输入s的值为“picture”,“p”>“i”>“c”<“t”,所以当取到字符c为“c”时,跳出循环,此时i=3。故选项A正确。
8.A
【详解】本题考查的是算法相关知识。算法结果唯一,实现算法的语言可以是多样的,算法具有确定性,解决同一问题的算法可以有多种。故本题应选A。
9.A
【详解】本题考查的是算法特征。算法可以没有输入,但必须有输出,而且可以有多个输入输出。故选项A的说法错误。本题应选A。
10.B
【详解】本题考查算法流程图的分析。执行过程如表所示:
s
Len(s)
i
t
"123456789"
9
1
""
"23456789"
8
3
"1"
"2356789"
7
5
"14"
"235689"
6
7
"147"
循环条件不成立,输出t
故执行这部分流程后,输出t的值为147,故本题选B选项。
11.A
【详解】本题考查的是流程图识读。初始a=8,c=0,输入n的值为13。
n>0成立,a>13不成立,执行n=n-a=13-8=5,c=c+1=1;
n>0成立,a>5成立,执行a=a//2=4;
n>0成立,a>5不成立,执行n=n-a=5-4=1,c=c+1=2;
n>0成立,a>1成立,执行a=a//2=2;
n>0成立,a>1成立,执行a=a//2=1;
n>0成立,a>1不成立,执行n=n-a=1-1=0,c=c+1=3;
n>0不成立,输出c值为3,故本题应选A。
12.B
【详解】本题考查对循环结构流程图的分析。变量m初值为0,输入a为7,循环条件a≥0成立,选择条件a>m成立,则变量n为0,变量m为7;m为7,n为0,输入a为9,循环条件a≥0成立,选择条件a>m成立,则变量n为7,变量m为9;m为9,n为7,输入a为0,循环条件a≥0成立,选择条件a>m不成立,选择条件a>n不成立,变量n,m不改变;m为9,n为7,输入a为8,循环条件a≥0成立,选择条件a>m不成立,选择条件a>n成立,则变量n为8,变量m不变;m为9,n为8,输入a为2,循环条件a≥0成立,选择条件a>m不成立,选择条件a>n不成立,变量n,m不改变;m为9,n为8,输入a为1,循环条件a≥0成立,选择条件a>m不成立,选择条件a>n不成立,变量n,m不改变;m为9,n为8,输入a为-1,循环条件a≥0不成立则退出循环,故选项B符合题意。
13.C
【详解】
本题考查算法特征相关内容。A选项,算法可以0个输入,选项错误。B选项,算法的执行者可以是人或机器,选项错误。C选项,算法至少要有1个输出,选项正确。D选项,算法的有穷性指一个算法的处理步骤必须是有限的,“算法要在有限的时间内完成”是可行性,选项错误。故本题答案是C选项。
14.A
【详解】本题主要考查算法流程图。初始值a=0,b=0,判断条件是b<=20,变量a每次递增3,故循环结束时,b=0+3+6+9+12=30,a=0+3+3+3+3+3=15,故本题选A选项。
15.C
【详解】本题主要考查K-近邻算法。当K=5时,待测梅花的品种预测为樱李梅,因为前5个有3个是樱李梅,故本题选C选项。
16.D
【详解】本题考查的是算法相关知识。该算法的计算步骤都可以被分解为基本的可执行的操作步骤,符合可行性特征,故选项A说法错误;算法可以用伪代码也可以用流程图来描述,故选项B说法错误;该算法运用了选择结构,故选项C说法错误;由算法可知,如果A<B,则AB互换,故是实现从大到小输出两个自然数,选项D说法正确。
17. 顺序结构 选择结构 循环结构
【详解】本题主要考查算法的基本控制结构。算法的基本控制结构有顺序结构、选择结构、循环结构。
18.firstbreak
【详解】本题主要考查算法流程图的执行。字符串比较大小,是逐个字符进行比较。a="break",b="first",a<b,输出b+a="firstbreak"。
19. “枚举”或“穷举” 循环+判断
【详解】本题考查的是枚举算法。把所有可能的答案一一列举,合适就保留,不合适就丢弃。这种方法称作“枚举”或“穷举”。枚举法解决问题的一般结构:循环+判断。
20.9
【详解】本题考查的是流程图识读。依次输入8、7、9,7>8不成立,9>8成立,执行a、c变量交换,交换后a=9。
【点睛】
21.对
【详解】本题主要考查算法的特点。算法可以没有输入,但至少要有一个输出,表述正确。
22.错
【详解】本题考查算法的概念
算法就是用计算机求解某一问题的方法,是能被机械地执行的动作或指令的有穷集合。故表述错误
23.错
【详解】本题考查的是算法特征。算法的五大特征:有穷性、确定性、能行性(可行性)、有 0 个或多个输入、有一个或多个输出。故题干中的说法是错误的。
24.正确
【详解】本题考查流程图的概念。以特定的图形符号加上说明,表示算法(有限的步骤去解决问题)的图,称为流程图或框图,正确。故答案为:正确。
25. 10<=n<20 z=0.95
20<=n<30 z=0.9 z=0.85 将变量n转换为int型(整型) 10<=n<20 z=0.95
购买10支(含10支)以上20支以下打9.5折 20<=n<30 z=0.9 0.85 购买20支(含20支)30支以下打9折,购买30支(含30支)以上打8.5折 t=5*n*z
【详解】本题主要考查算法及Python程序实现。①购买10支(含10支)以上20支以下打9.5折,故第一空填10<=n<20,第二空填z=0.95。③购买20支(含20支)30支以下打9折,故第三空填20<=n<30,第四空填z=0.9。⑤购买30支(含30支)以上打8.5折,故填z=0.85。⑥此处将变量n转换为int型(整型)。⑦此处是处理购买10支(含10支)以上20支以下的情况,故填10<=n<20。⑧打9.5折,填z=0.95。⑨购买10支(含10支)以上20支以下打9.5折。⑩此处是处理购买20支(含20支)30支以下的情况,故填20<=n<30,打9折,故第十一空填z=0.9。⑫此处是购买30支(含30支)以上打8.5折,故填0.85。⑬购买20支(含20支)30支以下打9折,购买30支(含30支)以上打8.5折。⑭用变量t保存付款金额,付款金额=价格*数量*打折数,故填t=5*n*z。
答案第1页,共2页
答案第1页,共2页
学科网(北京)股份有限公司
$$