第三章算法基础检测练习(含答案)2023—-2024学年高中信息技术粤教版(2019)必修1

资源下载
  1. 二一教育资源

第三章算法基础检测练习(含答案)2023—-2024学年高中信息技术粤教版(2019)必修1

资源简介

第三章 算法基础 检测练习
一、选择题
1.有如下Python程序段:
a=[0,2,1,4,3,6,7]
ans=t=1
for i in range(len(a)-1):
if a[i] < a[i+1]:
t+=1
else:
t=1
if t>ans:
ans=t
print(ans)
该程序运行后,ans的值为( )
A.3 B.4 C.5 D.7
2.某算法的部分流程图如图所示,执行该流程时,若输入n的值为11,则输出s的值是( )
A.1011 B.1101 C.100 D.0100
3.某算法的部分流程图如图所示,执行这部分流程后,输出s的值是( )
A.5050 B.2050 C.50 D.-50
4.程序设计语言经历的发展过程是( )
A.机器语言 B.汇编语言 C.高级语言 D.自然语言
5.解决复杂问题时,先进行顶层设计,再对各部分进行细化。这种程序设计方法的思想是( )
A.自顶向下,逐步细化 B.自下而上,逐步细化
C.自顶向下,共同解决 D.自下而上,逆序解决
6.为了响应“光盘行动”的号召,学校食堂要开发一款订餐APP,制订了如下工作你认为流程最恰当的一项是( )
A.分析问题、设计算法、编写程序、调试与维护
B.设计算法、编写程序、分析问题、调试与维护
C.分析问题、编写程序、调试与维护、设计算法
D.编写程序、调试与维护、分析问题、设计算法
7.利用计算机编程解决问题的基本步骤有:①编写程序 ②设计算法 ③调试运行程序 ④分析问题。正确的顺序是( )
A.①③②④
B.④③①②
C.④②①③
D.①②④③
8.某算法的部分流程图如图所示。执行这部分流程,则输出n 的值为( )
A.28 B.29 C.35 D.36
9.用于求变量s的算法如下:
①变量s的初值为0,变量t的初值为1,变量i的初值为1
②若变量i的值大于10,则转到步骤⑤
③t←t*i,s←s+1/t
④i的值增加1,转到步骤2
⑤输出s的值
⑥结束
下列数学表达式中,其计算结果与上述算法执行后变量s的值相等的是( )
A.1+2+3+……+10
B.1×2×3×……×10
C.1+1/2!+1/3!+……+1/10!(阶乘运算5!=5×4×3×2×1)
D.1+1/2+1/3+……+1/10
10.下列Python表达式中,值为True的是( )
A.9/3**2!=1 B."12"=="12345"[1:3]
C.abs(-4.3)>9//2 D."ac" in "abcaab"
11.以下流程图的控制结构属于( )
A.选择结构 B.循环结构 C.树型结构 D.顺序结构
12.下列关于算法的描述,正确的是( )
A.一个算法必须有输入 B.一个算法可以有多个输入
C.一个算法可以没有输出 D.一个算法只能有一个输出
13.按照程序设计的流程,程序设计首先进行的阶段是( )
A.设计算法 B.分析问题 C.编写代码 D.测试程序
14.下列关于算法的叙述,不正确的是( )
A.一个算法必须保证在有限步之后结束
B.算法的每一步必须有确切的定义
C.算法一定要有输入,但可以没有输出
D.算法中的每一步都可以被分解为基本的可执行的操作
15.在下列各软件中,不属于NOIP竞赛(复赛)推荐使用的语言环境有( )
A.Gcc B.g++ C.Turbo C D.free pascal
16.在下列关于计算机语言的说法中,正确的有( )
A.高级语言比汇编语言更高级,是因为它的程序的运行效率更高
B.随着Pascal、C等高级语言的出现,机器语言和汇编语言已经退出了历史舞台
C.高级语言程序比汇编语言程序更容易从一种计算机移植到另一种计算机上
D.C是一种面向对象的高级计算机语言
17.在C语言中,判断a等于0或b等于0或c等于0的正确的条件表达式是( )
A.!((a!=θ)||(b!=θ)||(c!=θ)) B.!((a!=θ)&&(b!=θ)&&(c!=θ))
C.!(a= =θ&&b==θ)||(c!=θ) D.(a=θ)&&(b=θ)&&(c=θ)
18.在C语言中,表达式23|2^5的值是( )
A.23 B.1 C.32 D.18
19.如图所用的算法描述方法是( )

A.自然语言 B.程序代码 C.伪代码 D.流程图
20.下列说法错误的是( )
A.Python 语言是一种高级语言
B.程序是一组可执行的计算机指令
C.自助式过街人行红绿灯的应用体现了计算机解决问题
D.计算机编程解决问题的核心是设计代码
二、填空题
21.编写计算机程序解决问题要经过 、设计算法、 、调试运行程序等若干个步骤。
22.科技改变生活,移动支付已成为当前消费支付的主要方式。小李同学想在信息课上跟大家分享有关“移动支付”的话题,她首先了解了移动支付的概念和技术手段。
移动支付也称为手机支付,就是允许用户使用其移动终端(通常是手机)对所消费的商品或服务进行账务支付的一种服务方式。根据技术手段的不同,移动支付可分为:
远程支付:用户使用移动终端、WAP、IVP、APP等方式远程连接到移动支付后台系统,实现账户查询、转账、信用卡还款、订单支付等功能。
现场支付:用户使用移动终端和配套的受理终端,通过NFC、RT-SIM等近距离非接触式技术,实现对商品或服务的现场支付。
接着通过网络了解了近年来中国移动支付相关数据,据统计数据显示,2016-2020年中国移动支付用户规模不断扩大。其中2016年为4.62亿人,2020年达到最高,为7.9亿人。
A B C D
1 年份 用户数(亿) 人均消费金额(元) 当年消费总额(亿元)
2 2016 4.62 2000
3 2017 5.62 2150
4 2018 6.59 2380
5 2019 7.33 2610
6 2020 7.90 2900
最后小李同学打开支付宝,给自己的手机充值话费,体验了一下移动支付,支付流程如下图所示:
小李给手机充值的过程想用流程图来展示,请选择正确的选项帮她完善支付流程图,流程图中的①、②、③、④、⑤分别是: 、 、 、 、 。
(填字母:A.完成支付B.进入缴费界面C.输入支付密码D.输入金额E.密码正确)
23.密码广泛应用于日常生活中,我们在登录网站、APP、电子邮箱以及银行取款时都要输入“密码”。不少人因为密码被盗,导致个人信息泄露,甚至是财产损失。以下是王林同学设计的一款APP的登录模块流程图。
为了避免密码被暴力破解,王林同学对流程图作了改进(下图红色部分),请在流程图中补齐①、②两处的内容,使得程序实现连续登录失败3次后提示“锁定用户”的功能。

① ;② 。
24.密码广泛应用于日常生活中,我们在登录网站、APP、电子邮箱以及银行取款时都要输入“密码”。不少人因为密码被盗,导致个人信息泄露,甚至是财产损失。以下是王林同学设计的一款APP的登录模块流程图。

从流程图中,用户输入密码正确,则提示用户登录成功,反之提示 。
25.计算机程序设计语言的发展,经历了从机器语言、 到 的发展历程。
三、判断题
26.高级语言的翻译程序有两种类型:解释程序和编译程序。( )
27.程序设计语言经历了从汇编语言、机器语言到高级语言的发展历程。( )
28.程序设计语言是指人们编制程序所使用的计算机语言,VB是低级语言。( )
29.Python语言和Basic语言均属于高级语言。( )
30.计算机低级语言学习难,运行效率也低,因此目前已完全淘汰。( )
四、操作题
31.已知某年级有6个班级,所有学生名单存储在文件“name.csv”中(如图1),学校举行某趣味活动项目中,需要每个班抽3名代表参加比赛,请编写一个随机抽取程序,执行效果如图2。请回答以下问题:
图1 图2
(1)加框处代码的作用是
(2)实现上述功能的部分Python程序如下,请在划线处填写合适的代码。
import csv
import random
#数据读入
f=open("nam.csv","r")
flines=csv.reader(f)
name_list=[]
m=6#班级总数
total=18#参赛总人数
for line in flines:
if line[0]=="班级": continue#跳过当前循环的剩余语句,继续进行下一次循环
name_list.append(line)

flag=[False]*n
grade=[3]*m
i=0
while i p=random.randint(② ,③ )
bj=int(name_list[p][0])
if flag[p]==False:
if grade[bj-1]>0:
flag[p]=True

i+=1
print("抽取名单为:")
print("班级","姓名")
for i in range(n):
if flag[i]:
print(name_list[i][0],name_list[i][1])
f.close()
32.某公路由于长期没有维修,路上出现了很多个坑。为了尽快填补好这些坑,交通管理部门决定对m处地段采取交通管制。将该公路看成一条直线,坑就是直线上的坐标点,坑所在的路段需要封控管制。例如某管制路段2~4,需封控2、3、4路段。交管部门为了减少管制路段的长度,希望将这n个坑分成m段(一段可以只有一个坑),使得这m段公路的总长度最小。请你根据n个坑的位置(位置已按照从小到大进行排序),计算管制路段最小的总长度。代码运行效果如下图所示。
请回答下列问题:
(1)上图所示的例子中,若将路段数量修改为5,则管制路段总长度为
(2)实现上述功能的Python程序如下,请在划线处填入合适的代码。
m=int(input("路段数量: "))
s=input("坑的坐标依次为:").split(',') #实现字符串“3,4,6”,转化为列表[“3”,”4”,”6”]
n=len(s)
for i in range(n) :
s[i]=int(s[i])
flag=[False]*(n-1)
for i in range(1,m) :
k=-1
for j in range(n-1) :
if ① :
if k==-1 or s[j+1]-s[j]>s[k+1]-s[k]:
k=j
flag[k]=True
print("维修管制的路段依次为:")
dis,t=0,0
for i in range(n-1):
if flag[i]:
print(s[t],"~",s[i])
dis+=s[i]-s[t]+1

print(s[t],"~",s[n-1])
dis=③
print("管制总长度为",dis)
参考答案
1.A
2.C
3.D
4.ABC
5.A
6.A
7.C
8.B
9.C
10.C
11.A
12.B
13.B
14.C
15.C
16.C
17.B
18.A
19.A
20.D
21.分析问题 编写程序
22.B D C E A
23.t=0 锁定用户
24.登录失败
25.汇编语言 高级语言
26.正确
27.错误
28.错误
29.正确
30.错误
31. 列表name_list中的数据不包括标题行(意思表达准确即可) n=len(name_list) 0 n-1 grade[bj-1]-=1或其他可能答案
32. 22 flag[j]==False或not flag[j] t=i+1 dis+s[n-1]-s[t]+1

展开更多......

收起↑

资源预览