首页
高中语文
高中数学
高中英语
高中物理
高中化学
高中历史
高中道德与法治(政治)
高中地理
高中生物
高中音乐
高中美术
高中体育
高中信息技术
高中通用技术
资源详情
高中信息技术
人教中图版(2019)
必修1 数据与计算
第2章 算法与程序实现
本章复习与测试
【精品解析】人教中图版(2019)2021-2022学年必修1 2.4常见算法的程序实现 培优练习
文档属性
名称
【精品解析】人教中图版(2019)2021-2022学年必修1 2.4常见算法的程序实现 培优练习
格式
zip
文件大小
91.5KB
资源类型
试卷
版本资源
科目
信息技术(信息科技)
更新时间
2022-02-28 17:00:19
点击下载
文档简介
人教中图版(2019)2021-2022学年必修1 2.4常见算法的程序实现 培优练习
一、选择题
1.以下适合用解析法解决的问题是( )。
A.计算出租车费
B.求符合要求的三位正整数的“水仙花数”
C.将10个评委的打分按由大到小的顺序排序
D.找出一筐乒乓球质量不符合标准的球
【答案】A
【知识点】解析算法及程序实现
2.某算法的部分流程图如图所示。执行这部分流程后,a,b的值分别是 。
【答案】3,0
【知识点】流程图识读
3.(2021高一下·东台月考)关于枚举法,下列说法错误的是( )
A.枚举法的基本思想就是,根据问题的部分已知条件预估解的范围,并在此范围内对所有可能的情况进行逐一验证,直到找到满足已知条件的解为止
B.枚举范围的大小直接影响着枚举法的执行效率
C.枚举法,也称蛮力法或暴力搜索法,理论上利用这种方法可破解任何一种密码
D.枚举范围中的判定条件直接影响着枚举法的执行效率
【答案】D
【知识点】枚举算法及程序实现
4.某对分查找算法的VB程序段如下:
i=1:j=7
f=False
key=Val(Text1. Text)
Do While i<=j And Not f
m=(i+j)\2
If a(m)=key Then f=True
If a(m)>key Then i=m-1 Else i=m+1
Loop
List1. AddItem Str(i)+Str(j)+Str(m)
数组元素a(1)到a(7)的值依次为"23,42,58,66,77,83,98",运行上述程序段后,列表框List1中
显示的结果为"5 4 5",则文本框Text1中输入值的范围是( )
A.[66,77] B.[66,77) C.(66,77] D.(66,77)
【答案】D
【知识点】查找算法及程序实现
5.(2020高三上·浙江开学考)有如下VB程序段
Dim a(1 To 5)As Integer
Dim d(1 To 5)As Integer
a(1)=12:a(2)=21:a(3)=19:a(4)=11:a(5)=20
n=5:Max=0
For i=1 To n
d(i)=0
For j=1 To i-1
If a(j)
Next j
If d(i)>Max Then Max=d(i)
Next i
执行完以上程序段后,Max的值为( )
A.1 B.2 C.3 D.4
【答案】C
【知识点】分支结构语句及程序实现;循环结构语句及程序实现
6.下面说法正确的是( )
A.算法+数据结构=程序 B.算法就是程序
C.数据结构就是程序 D.算法包括数据结构
【答案】A
【知识点】算法的基本概念与特征;程序与指令;基本数据结构
7.(2020高一上·连云港期末)如要编程画出由100个圆组成的图案,比较好的算法是( )。
A.按顺序执行100个画不同大小圆的程序段
B.①先编写1个能画不同大小圆的程序模块 ②在主程序中用100语句调用画圆程序模块
C.①先编写1个能画不同大小圆的程序模块 ②用循环方法调用100次画圆程序模块
D.不必先定义画圆程序模块,而直接循环100次的方法来画图案
【答案】C
【知识点】算法的控制结构;编程处理数据与可视化
8.(2021高二下·浙江期中)已知有这样一种对冒泡排序的优化方法:在每一遍“加工”过程中,记录在这遍“加工”中是否进行过数据交换。若在一遍“加工”过程中没有进行过数据交换,则数据已经有序,可以直接退出循环结束排序。则下列说法错误的是( )
A.对有n个数据的数组进行优化后的冒泡排序,最小比较次数为n-1。
B.对有n个数据的数组进行冒泡排序,无论是否优化,最大比较次数相同。
C.对冒泡排序算法进行优化,能够较大提高其效率,符合算法设计的一般原则。
D.若待排序数组中的数据依次为23,17,46,58,34,11,对其使用优化后的冒泡排序进行升序排序,比较次数为9。
【答案】D
【知识点】排序算法及程序实现
二、填空题
9.阅读下列程序,写出运行结果
a,b = 1,1 n = int(input("请输入一个大于等于3的正整数n:")) for i in range(n-2):c =
a + b a = b b = c print(c) 程序运行后,输入:6
运行输出结果是:
【答案】8
【知识点】循环结构语句及程序实现
10. 有一种算法是把所有可能的答案一一列举,合适就保留,不合适就丢弃。这种方法称作 。枚举法解决问题的一般结构: 。
【答案】“枚举”或“穷举”;循环+判断
【知识点】枚举算法及程序实现
11.(2020高一下·浦东月考)输入123,以下流程图描述的算法,执行结果是 。
【答案】Yes
【知识点】算法的控制结构;常量、变量及变量的赋值
【解析】【解答】n=123,n=int(n/10) mod 10=2,n=n mod 10=2,int(n/2)=n/2成立,最后为YES。故答案为:YES。
【分析】本题考查流程图的识读。
12.阅读以下程序,写出程序运行结果。
def jc(n):
s=1
for i in range(2,n+1):
s=s*i
return s
total=jc(4) #调用jc函数
print(total)
程序运行后,其输出结果为
【答案】24
【知识点】循环结构语句及程序实现
13.阅读下列程序,写出运行结果
s = 1 for i in range(1,10,3):s = s *i print(s)
运行输出结果是:
【答案】28
【知识点】循环结构语句及程序实现
14.阅读下列程序,写出运行结果。
m = int(input("请输入一个正整数:")) x = m y = m for i in range
(9):n = int(input("请输入一个正整数:")) if n
9 11 23
88 13 19
29 55
运行结果是:
【答案】9 9
【知识点】分支结构语句及程序实现;循环结构语句及程序实现
三、程序编写
15.编写一个程序,它将找到所有这些数字,可被7整除,但不是5的倍数,2000年至3200年(包括在内)。得到的数字应按逗号分隔的顺序打印在一行上。
提示:考虑使用range(#begin,#end)
【答案】l=[]
for i in range(2000,3201):
if (i%7==0)and (i%5!=0):
l.append(str(i))
print (','.join(1))
【知识点】分支结构语句及程序实现;循环结构语句及程序实现
【解析】【分析】本题考查的是程序的编写。程序的编写难度较大,使用range( )定义i的取值范围,然后利用if判断语句可被7整除,但不是5的倍数,最后利用join函数打印出结果即可。
16.(2020高一上·南海期末)骑车与走路
方便又环保的共享单车作为中国新四大发明的存在,已经在很多城市投放使用。在使用过程要经历找车、开锁、停车、锁车等环节。请你用计算机编程来判断在不同的距离使用下,是骑车快还是走路快。
假设找到自行车,开锁并骑上自行车的时间为27秒;停车锁车的时间为23秒;步行每秒行走1.2米,骑车每秒行走3.0米。
【答案】解:
#print('步行每秒1.2米,骑车每秒3.0米,开锁+上车27秒,停车+锁车23秒')
L=int(input("请输入距离:"))
if 23+27+L/3.0
print('骑车快')
else:
print('步行快')
【知识点】分支结构语句及程序实现
1 / 1人教中图版(2019)2021-2022学年必修1 2.4常见算法的程序实现 培优练习
一、选择题
1.以下适合用解析法解决的问题是( )。
A.计算出租车费
B.求符合要求的三位正整数的“水仙花数”
C.将10个评委的打分按由大到小的顺序排序
D.找出一筐乒乓球质量不符合标准的球
2.某算法的部分流程图如图所示。执行这部分流程后,a,b的值分别是 。
3.(2021高一下·东台月考)关于枚举法,下列说法错误的是( )
A.枚举法的基本思想就是,根据问题的部分已知条件预估解的范围,并在此范围内对所有可能的情况进行逐一验证,直到找到满足已知条件的解为止
B.枚举范围的大小直接影响着枚举法的执行效率
C.枚举法,也称蛮力法或暴力搜索法,理论上利用这种方法可破解任何一种密码
D.枚举范围中的判定条件直接影响着枚举法的执行效率
4.某对分查找算法的VB程序段如下:
i=1:j=7
f=False
key=Val(Text1. Text)
Do While i<=j And Not f
m=(i+j)\2
If a(m)=key Then f=True
If a(m)>key Then i=m-1 Else i=m+1
Loop
List1. AddItem Str(i)+Str(j)+Str(m)
数组元素a(1)到a(7)的值依次为"23,42,58,66,77,83,98",运行上述程序段后,列表框List1中
显示的结果为"5 4 5",则文本框Text1中输入值的范围是( )
A.[66,77] B.[66,77) C.(66,77] D.(66,77)
5.(2020高三上·浙江开学考)有如下VB程序段
Dim a(1 To 5)As Integer
Dim d(1 To 5)As Integer
a(1)=12:a(2)=21:a(3)=19:a(4)=11:a(5)=20
n=5:Max=0
For i=1 To n
d(i)=0
For j=1 To i-1
If a(j)
Next j
If d(i)>Max Then Max=d(i)
Next i
执行完以上程序段后,Max的值为( )
A.1 B.2 C.3 D.4
6.下面说法正确的是( )
A.算法+数据结构=程序 B.算法就是程序
C.数据结构就是程序 D.算法包括数据结构
7.(2020高一上·连云港期末)如要编程画出由100个圆组成的图案,比较好的算法是( )。
A.按顺序执行100个画不同大小圆的程序段
B.①先编写1个能画不同大小圆的程序模块 ②在主程序中用100语句调用画圆程序模块
C.①先编写1个能画不同大小圆的程序模块 ②用循环方法调用100次画圆程序模块
D.不必先定义画圆程序模块,而直接循环100次的方法来画图案
8.(2021高二下·浙江期中)已知有这样一种对冒泡排序的优化方法:在每一遍“加工”过程中,记录在这遍“加工”中是否进行过数据交换。若在一遍“加工”过程中没有进行过数据交换,则数据已经有序,可以直接退出循环结束排序。则下列说法错误的是( )
A.对有n个数据的数组进行优化后的冒泡排序,最小比较次数为n-1。
B.对有n个数据的数组进行冒泡排序,无论是否优化,最大比较次数相同。
C.对冒泡排序算法进行优化,能够较大提高其效率,符合算法设计的一般原则。
D.若待排序数组中的数据依次为23,17,46,58,34,11,对其使用优化后的冒泡排序进行升序排序,比较次数为9。
二、填空题
9.阅读下列程序,写出运行结果
a,b = 1,1 n = int(input("请输入一个大于等于3的正整数n:")) for i in range(n-2):c =
a + b a = b b = c print(c) 程序运行后,输入:6
运行输出结果是:
10. 有一种算法是把所有可能的答案一一列举,合适就保留,不合适就丢弃。这种方法称作 。枚举法解决问题的一般结构: 。
11.(2020高一下·浦东月考)输入123,以下流程图描述的算法,执行结果是 。
12.阅读以下程序,写出程序运行结果。
def jc(n):
s=1
for i in range(2,n+1):
s=s*i
return s
total=jc(4) #调用jc函数
print(total)
程序运行后,其输出结果为
13.阅读下列程序,写出运行结果
s = 1 for i in range(1,10,3):s = s *i print(s)
运行输出结果是:
14.阅读下列程序,写出运行结果。
m = int(input("请输入一个正整数:")) x = m y = m for i in range
(9):n = int(input("请输入一个正整数:")) if n
9 11 23
88 13 19
29 55
运行结果是:
三、程序编写
15.编写一个程序,它将找到所有这些数字,可被7整除,但不是5的倍数,2000年至3200年(包括在内)。得到的数字应按逗号分隔的顺序打印在一行上。
提示:考虑使用range(#begin,#end)
16.(2020高一上·南海期末)骑车与走路
方便又环保的共享单车作为中国新四大发明的存在,已经在很多城市投放使用。在使用过程要经历找车、开锁、停车、锁车等环节。请你用计算机编程来判断在不同的距离使用下,是骑车快还是走路快。
假设找到自行车,开锁并骑上自行车的时间为27秒;停车锁车的时间为23秒;步行每秒行走1.2米,骑车每秒行走3.0米。
答案解析部分
1.【答案】A
【知识点】解析算法及程序实现
2.【答案】3,0
【知识点】流程图识读
3.【答案】D
【知识点】枚举算法及程序实现
4.【答案】D
【知识点】查找算法及程序实现
5.【答案】C
【知识点】分支结构语句及程序实现;循环结构语句及程序实现
6.【答案】A
【知识点】算法的基本概念与特征;程序与指令;基本数据结构
7.【答案】C
【知识点】算法的控制结构;编程处理数据与可视化
8.【答案】D
【知识点】排序算法及程序实现
9.【答案】8
【知识点】循环结构语句及程序实现
10.【答案】“枚举”或“穷举”;循环+判断
【知识点】枚举算法及程序实现
11.【答案】Yes
【知识点】算法的控制结构;常量、变量及变量的赋值
【解析】【解答】n=123,n=int(n/10) mod 10=2,n=n mod 10=2,int(n/2)=n/2成立,最后为YES。故答案为:YES。
【分析】本题考查流程图的识读。
12.【答案】24
【知识点】循环结构语句及程序实现
13.【答案】28
【知识点】循环结构语句及程序实现
14.【答案】9 9
【知识点】分支结构语句及程序实现;循环结构语句及程序实现
15.【答案】l=[]
for i in range(2000,3201):
if (i%7==0)and (i%5!=0):
l.append(str(i))
print (','.join(1))
【知识点】分支结构语句及程序实现;循环结构语句及程序实现
【解析】【分析】本题考查的是程序的编写。程序的编写难度较大,使用range( )定义i的取值范围,然后利用if判断语句可被7整除,但不是5的倍数,最后利用join函数打印出结果即可。
16.【答案】解:
#print('步行每秒1.2米,骑车每秒3.0米,开锁+上车27秒,停车+锁车23秒')
L=int(input("请输入距离:"))
if 23+27+L/3.0
print('骑车快')
else:
print('步行快')
【知识点】分支结构语句及程序实现
1 / 1
点击下载
同课章节目录
第1章 认识数据与大数据
主题学习项目:体质数据促健康
1.1 数据、信息与知识
1.2 数字化与编码
1.3 数据科学与大数据
第2章 算法与程序实现
主题学习项目:编程控灯利出行
2.1 解决问题的一般过程和用计算机解决问题
2.2 算法的概念及描述
2.3 程序设计基本知识
2.4 常见算法的程序实现
第3章 数据处理与应用
主题学习项目:用水分析助决策
3.1 数据处理的一般过程
3.2 数据采集与整理
3.3 数据分析与可视化
3.4 数据分析报告与应用
第4章 走进智能时代
主题学习项目:智能交互益拓展
4.1 认识人工智能
4.2 利用智能工具解决问题
4.3 人工智能的应用与影响
点击下载
VIP下载