内容正文:
第三章 算法基础
一、选择题
1.下列有关算法的描述正确的是( )
A.算法的时间复杂度是指执行算法程序所耗费时间的多少
B.算法必须要有输出
C.算法必须要有输入,否则无法执行
D.一种算法只能用一种计算机程序设计语言实现
2.计算圆周长的算法描述如下:
①输入圆半径r; ②计算圆周长a(计算公式为a=2πr); ③输出结果; ④结束。
上述算法属于( )
A.枚举算法 B.排序算法 C.递归算法 D.解析算法
3.以下算法的描述方法是( )
第一步:输入直角三角形的两直角边a和b的值
第二步:计算s=(a×b)/2
第三步:输面积s的值
第四步:算法结束
A.程序描述法 B.自然语言描述法 C.流程图描述法 D.伪代码描述法
4.某算法的部分流程图如下图所示,执行这部分后,下列说法不正确的是( )
A.s的值为4
B.i的值为22
C.循环条件i<=20?共执行8次
D.当第3次执行循环条件i<=20?时,i的值为10
5.以下不是描述算法的基本方法是( )
A.自然语言 B.书面语言 C.流程图 D.程序代码
6.在VB中,“zjxj.frm”文件属于( )。
A.工程文件 B.代码文件 C.窗体文件 D.可执行文件
7.以下哪种语言属于高级程序设计语言( )
①python ②c++ ③visual basic ④java
A.①②③ B.②③ C.②③④ D.①②③④
8.如图为求某数绝对值的两种算法描述,算法描述1和算法描述2分别是( )
A.自然语言 流程图 B.伪代码 流程图 C.伪代码 自然语言 D.自然语言 伪代码
9.下图是小丽设计的流程图,下列关于该流程图描述错误的是( )
A.该算法符合有穷性特征
B.该流程图中x=2x,y=y+1体现了算法的确定性
C.该算法不需要用户输入数据
D.把x的初始值改为1,该算法可以输出y的值
10.某算法的部分流程图如图所示,执行这部分流程,若输入x的值依次为1,2,3,4,5,-1,则输出s的值是( )
A.3 B.7 C.13 D.15
11.若输入的值是 15,输出结果_______。
A.15,10 B.0,10 C.15,0 D.15,15
12.下列关于算法表示方法的描述,正确的是( )
A.描述算法的方法只能是流程图
B.用一种程序语言来实现某个具体问题的算法只可能有一种
C.同一种算法只能用一种程序语言来实现
D.算法可以使用英语进行描述
13.某算法的部分流程图如图所示,执行这部分流程,若输入m、n、x的值依次为10、2、5,则输出n的值是( )
A.5 B.6 C.7 D.8
14.某算法的部分流程图如图所示,执行这部分流程,下列说法正确的是 ( )
A.其中语句 i<=5 共执行了 6 次
B.程序结束后s 值可能为 3
C.流程执行结束后k 值一定为 1
D.流程执行过程中共产生 5 个 t 值,t 值取值为 1 或 2
15.求[0,100]之间所有偶数之和s的算法流程图如图所示。为了实现此算法,图中①②处的内容分别是( )
A.①x≤100②x←x+2 B.①x<100②x←x+1 C.①x<100②x←x+2 D.①x≤100②x←x+1
16. BF语言是一种基于一种简单的计算模型的最小化编程语言,这个机器包括八种指令,一个以字节(0-255)为单位、初始全部为零的数组,一个初始时指向该数组中第一个字节的指针,以及用于输入输出的两个字节流。八种指令用字符表示如图所示:
字符
含义
>
指针加一
<
指针减一
+
指针所指字节的值加一
-
指针所指字节的值减一
.
输出指针所指字节内容(ASCII 码)
,
向指针所指的字节输入内容(ASCII 码)
[
若指针所指字节的值为零,则向后跳转,跳转到其对应的]的下一个指令处
]
若指针所指字节的值不为零,则向前跳转,跳转到其对应的[的下一个指令处
以下代码可实现将字符串转换成 BF 语言
def Conv(v):
s=10*'+'+'['t=""
for i in range(len(v)):
ordI=ord(v[i])
cdcI=ordI
temp=cdcI % 10
if temp > 5:
cdcI-=temp
maxI=256-ordI
s+='>'+('-'*maxI if( ) else '+'*(cdcI//10))
t+='>'+('+'if(ordI-cdcI>0) else '-')*abs(ordI-cdcI)
s += '<' * len(v) + '-]' + t + (len(v)-1) * '<' + '[.>]'
return s
则横线处应该填入( )
A.cdcI -= 10 maxI<128 B.cdcI += 10 maxI>128 C.cdcI -= 10 maxI>128 D.cdcI += 10 maxI<128
二、填空题
17.在C语言中,用于定义一个函数的关键字是 。
18.小申正在制作暑假旅行计划,包括景点的图片和简介、酒店位置的选取、机票的筛选等。小申想利用K-means算法对数据进行训练,请根据算法基本原理,推测数据训练后得到的2个酒店位置大概在下图中的 号点和 号点。
19.如图所示为某智慧种植园大棚内的湿度自动控制系统鼻法流程图。其湿度自动控制过程为;如果环境湿度低于50RH,则开启加湿设备;如果环境湿度高于90RH,则开启干燥设备。请根据该控制过程完善流程图。
(1) (用表达式表示)
(2) (用表达式表示)
20.为了及时做好防暑降温工作,各城市气象部门及时预报天气气温,发布高温预警信息。小申采集了部分城市气象部分发布的某日14时气温预报数据,并设计了一个算法,统计发布黄色预警的城市数量。请参考下表,填写流程图空白处的语句,将算法设计完整。
(1)处应该填入
21.算法是解决问题的方法和确定的、( )的步骤。
三、判断题
22.利用编程解决问题的第一步是设计算法。( )
23.在计算机程序语言中,通常高级语言程序比汇编语言程序执行效率高,汇编语言程序又比机器语言程序执行效率高。( )
24.选择结构中,无论条件是否成立,都可以同时执行两个步骤。( )
试卷第1页,共3页
试卷第1页,共3页
学科网(北京)股份有限公司
参考答案:
1.B
【详解】本题考查算法。
选项A,错误。算法的时间复杂度不是指执行算法程序所耗费时间的多少,而是指执行算法所需要的计算工作量,它通常用大O记法表示,即忽略低阶项和常数项,只关注算法执行时间与数据规模之间的关系。
选项C,错误。算法不一定必须要有输入。有些算法是为了解决特定问题而设计的,它们可能不需要外部输入,而是直接执行一系列操作并输出结果。例如,计算阶乘的算法,当阶数固定时,就不需要外部输入。
选项D,错误。一种算法可以用多种计算机程序设计语言实现。算法是独立于具体编程语言的,它描述的是解决问题的步骤和方法。不同的编程语言只是实现这些步骤和方法的工具。
故正确答案为:选项B。
2.D
【详解】本题考查算法。利用解析算法解决问题的前提是能找到正确的数学表达式,来描述原始数据与结果之间的数量关系。故答案为:D。
3.B
【详解】本题考查的是算法描述。自然语言是指用简洁的汉语或英语等语言和数学符号来描述算法。流程图是一种直观形象、用图形来描述算法的方法。伪代码是用计算机语言和自然语言结合来表示计算步骤要完成的处理或需要的数据。故选项B正确。
4.D
【详解】本题主要考查算法流程图的执行。s=1,i=1,第一次循环,满足i<=20,不满足i%4==0,i=i+3=4;第二次循环,满足i<=20,满足i%4==0,s=s*2=2,i=i+3=7;第三次循环,满足i<=20,不满足i%4==0,i=i+3=10;第四次循环,满足i<=20,不满足i%4==0,i=i+3=13;第五次循环,满足i<=20,不满足i%4==0,i=i+3=16;第六次循环,满足i<=20,满足i%4==0,s=s*2=4,i=i+3=19;第七次循环,满足i<=20,不满足i%4==0,i=i+3=22;第八次循环,不满足i<=20,循环结束。故执行这部分后,s的值为4,i的值为22,循环条件i<=20?共执行8次,当第3次执行循环条件i<=20?时,i的值为7,故本题选D选项。
5.B
【详解】本题考查的是算法描述。描述算法的基本方法有:自然语言、流程图、计算机语言。书面语言不是描述算法的方法。故应选B。
6.C
【详解】本题考查VB相关知识。frm文件属于窗体文件,故本题选项C为正确选项。
7.D
【详解】本题考查计算机语言相关知识。高级语言是面向用户的、基本上独立于计算机种类和结构的语言。其最大的优点是:形式上接近于算术语言和自然语言,概念上接近于人们通常使用的概念。高级语言的一个命令可以代替几条,几十条甚至几百条汇编语言的指令。因此,高级语言易学易用,通用性强,应用广泛。高级语言种类繁多,可以从应用特点和对客观系统的描述两个方面对其进一步分类。python,c++ ,visual basic,java都属于高级程序设计语言。故本题选D。
8.A
【详解】本题考查的是算法描述。由图可知算法描述1和算法描述2分别是自然语言、流程图。选项A正确。
9.A
【详解】本题考查的是流程图的识读。因为初始x=0,循环体中x=2*x一直也为0,故循环条件一直成立,进入死循环,不符合算法的有穷性。故本题应选A。
10.C
【详解】本题考查流程图。本题使用表格追踪法,表格中的k、s均为执行流程后的值:
x
k
s
1
0
-1
2
1
1
3
0
4
4
1
8
5
0
13
-1
当输入最后的-1时,程序执行输出s,即输出为13。故答案选C。
11.A
【详解】本题考查的是流程图识读。初始max=0,min=10。输入15,15>0成立,执行max=x=15,15<10不成立,输出max为15,min为10。故选项A正确。
12.D
【详解】本题考查算法的表示。A选项错误,算法可以使用自然语言、伪代码、流程图、计算机程序设计语言等方式描述;B、C选项错误,同一个算法即使是使用同一种程序语言来实现,也可能有多种不同的描述方式。故答案为:D。
13.C
【详解】本题考查流程图。程序运行过程如下所示。因此,最终输出n的值为7。故答案为:C。
m
n
x
a
10
2
5
5
10
7
0
1
14.B
【详解】本题考查的是流程图识读。i初始值为0,每次自增1,i=6时才跳出循环,故语句 i<=5 共执行了 7 次,选项A说法错误;流程执行过程中共产生 6个 t 值,t 值取值为 1 或 2,当t取到3次2和3次1时,则s=2+2+2-1-1-1=6,故选项B说法正确;流程执行结束后k 值可能为1也可能是-1,故选项C说法错误;流程执行过程中共产生 6个 t 值,t 值取值为 1 或 2,故选项D的说法错误。
15.A
【详解】本题考查流程图。在求[0,100]之间所有偶数之和的算法中,循环应该在x不超过100时进行,所以①处应该是x≤100。因为要计算偶数之和,所以每次循环变量x的增量应该是2,即②处应该是x←x+2,这样才能保证x依次取到0到100之间的所有偶数。故答案为:A。
16.D
【详解】本题考查程序设计语言。对于第一个空,当temp>5时,需要对cdcI进行调整。如果直接减去temp可能会导致值变得过小,所以先让cdcI加上10,这是一种平衡和修正的操作,为后续根据具体情况进一步调整做准备。对于第二个空,当maxI<128时,结合cdcI+=10,可以确定一种特定的指令添加模式。如果是maxI>128,就不能准确地对应到代码中需要根据条件来生成相应指令的情况。故答案为:D。
17.int或其他类型关键字
【详解】本题考查C语言。
在C语言中,用于定义一个函数的关键字是 void(对于不返回任何值的函数)或任何其他数据类型名(对于返回特定类型值的函数),但更准确地描述函数定义开始的关键字是 int、void 或其他任何有效的数据类型名(取决于函数是否返回值以及返回值的类型),紧接着是函数名和参数列表。故正确答案为:int或其他数据类型关键字。
18. 1 4
【详解】本题主要考查K-means算法。k均值聚类算法(k-means clustering algorithm)是一种迭代求解的聚类分析算法,其步骤是,预将数据分为K组,则随机选取K个对象作为初始的聚类中心,然后计算每个对象与各个种子聚类中心之间的距离,把每个对象分配给距离它最近的聚类中心。聚类中心以及分配给它们的对象就代表一个聚类。每分配一个样本,聚类的聚类中心会根据聚类中现有的对象被重新计算。这个过程将不断重复直到满足某个终止条件。由图可知,数据训练后得到的2个酒店位置大概在下图中的1号点和4号点。
19. t<50 t>90
【详解】本题主要考查算法流程图。其湿度自动控制过程为;如果环境湿度低于50RH,则开启加湿设备;如果环境湿度高于90RH,则开启干燥设备。因此①处填t<50,②处填t>90。
20.35<=i<37 或 i>==35 and i<37
【详解】本题主要考查算法流程图的分析。统计发布黄色预警的城市数量,由图可知,黄色预警的气温范围是:35℃≤气温<37℃,因此(1)处应填35<=i<37 或 i>==35 and i<37。
21.有限
【详解】本题考查的是算法定义。所谓“算法”就是解题方法的精确描述,由有限个步骤组成。
22.错误
【详解】本题考查利用编程解决问题的步骤相关内容。利用编程解决问题的一般过程为:分析问题、设计算法、编写程序、调试运行,故本题答案是:错误。
23.错误
【详解】本题考查计算机程序语言。在计算机程序语言中,通常高级语言程序执行效率相对较低,因为高级语言的抽象层次更高,为了提供更多的便利和功能,需要进行更多的计算和解释。相对而言,汇编语言程序执行效率相对较高,因为它更接近底层硬件,指令更直接。机器语言是计算机硬件可以直接执行的语言,因此执行效率更高。故说法错误。
24.错误
【详解】本题考查的是算法结构。选择结构中,根据条件来选择执行的步骤。故题干中说法错误。
答案第1页,共2页
答案第1页,共2页
学科网(北京)股份有限公司
$$