第2章算法与程序实现培优训练试题2020—2021学年人教中图版(2019)高中信息技术必修一
一、选择题
1.在编写python程序时缩进的作用是()。
A.让程序更美观B.只在for循环中使用
C.只在if语句中使用D.用来界定代码块
2.在Visual Basic 中,下列能作为变量名的是( )
A.x+1B.x_1C.Or D.If
3.如dist=0.87,下列常用的关系运算符运算结果错误的是()
A.dist>=1 False B.dist==1 False C.dist!=1 True D.dist<=1 False
4.用计算机解决问题时,一般分为五个过程:分析问题、设计算法、编写程序、()及检测结果。
A.编译程序
B.选择程序设计语言
C.调试运行
D.编制程序框图
5.用计算机解决问题的过程中,()是编程的核心。
A.抽象建模B.设计算法C.编写程序D.调试运行程序6.下列赋值语句正确的是()
A.x+1=x B.x=x+1C.x=+1D.x,y,z=1,2 7.range( )函数可以生成某个范围内的数字序列,range(25,0,-5)是()。
A.20 15 10 5B.25 20 15 10 5 0C.20 15 10 5 0D.25 20 15 10 5
8.某算法的部分流程图如图所示。若输入x的值为7,最终i,s的值分别为()
A.7,9B.9,0C.7,-9D.9,-9
9.若输入值为1150,输出结果_______。
A.0B.10C.20D.850
10.VB 表达式3 + 9 \ 7 * 5 的值是()
A.0B.3C.6D.8
11.在顺序结构中,各语句依次按顺序执行。其流程图的表示方式是()
A.B.C.
D.
12.下图是把华氏温度转换为摄氏温度的算法,这种描述算法的方式是()
A.自然语言B.流程图
C.伪代码D.高级语言
13.算法的表示方法有很多,其中哪种表示方法容易产生歧义,影响算法的确定性?()A.自然语言B.流程图C.伪代码D.程序语言
14.在Visual Basic 中,表达式Mid("20161111", 5, 4)的值是()
A."2016" B."0161" C."1611" D."1111"
15.设有数组定义语句:Dim a(5) As Integer,Listl 为列表框控件。下列给数组元素赋值的语句,错误的是()。
最浪漫的编程代码简单
A.a(3)=3
B.a(3)=VAL(InputBox(“InputData”)
C.a(3)=Listl.ListIndex
D.a=Array(1,2,3,4,5,6)
16.有流程图结构如下,其算法结构属于
A.顺序结构B.选择结构C.循环结构D.重复结构
二、填空题
17.用来接收键盘输入的函数是(____),python输出的函数是(____)
18.字典、集合是python的____________序列。
19.项目学习:解密盛唐时期诗人关系
(项目情境)
唐代诗人史传有名有姓者不下千余人,他们组成了大大小小不同的朋友圈。有的因为诗风接近,如李白代表的浪漫主义、杜甫代表的现实主义、王维代表的田园山水、芩参代表的边塞诗风;有的因为年龄大体相近,如盛唐时期的李白、杜甫、贺知章等;有的因为政见相近,
如韩愈作为古文运动的领袖级人物,当时很多文人墨客以进入他的朋友圈为荣。在盛唐时期有这样一个朋友圈,他们的友谊跨越数十年,诗人之间通过互动诗歌,表达抒发情感,是他们朋友圈的一种表现方式,用计算机来分析这个时代的唐诗,就会发现诗人之间有着你意想不到的千丝万缕的关系。学校某研究性学习小组利用大数据分析技术,通过对诗词分析,绘制盛唐时期几位诗人(杜甫、李白、王维、孟浩然……)之间的社交关系网络图,试图推测哪位诗人是同时代诗人的核心,哪位诗人的影响最大,从而更好地学习、理解唐诗。
(项目准备)为完成项目,需要确定主题、目标、制订规划等各项工作。在此不一一展示。明确的主题—盛唐时期的诗人及诗词分析和诗人社交关系网络图
(项目实施)项目研究主要以诗人诗作为依据。具体实施过程如下:
(一)明确需要采集的数据选择合适的采集途径、工具和方法。全唐诗一共四万多首,分析采集相关数
据的条件:①盛唐时期;②诗人、诗人之间经常称呼对方的别名;③考虑到同名同姓的问题,因此还需要诗人的生卒年的信息。
根据要求,完成答题。
(1)全唐诗数量较多,一共四万多首,来源分散,存储在互联网不同的服务器与各客户终端。从大数据存储与计算的角度来看,由此可知大数据具有____________的特征。(单选)A.精确让位于模糊B.价值密度低C.分布式存储D.变化速度快
(2)网络上如此海量的关于唐诗的数据,有文字、图片、视频、音频等。这些数据种类和格式也不一致,表明各种____________数据共存于网络中。(多选)
A.结构化B.半结构化C.非结构化D.网状结构
(3)面对繁杂的数据,学习小组决定研究解密盛唐时期诗人关系,并利用计算机程序从网络中采集诗人、别名等相关的文本数据,并以一定的数据结构存储形成盛唐诗库。存储数据主要有两种方式,一种是____________,一种是数据云存储。你建议学习小组采用
____________数据存储方式,理由是___________________。
(二)利用Python程序采集、整理、分析数据。第一步,从互联网中筛选出符合条件的诗人及诗作等文本,整理并形成盛唐诗库;第二步,确定人物关系分析策略,即从唐诗库中搜索、统计诗人或别名的引用次数,确定二人之间的疏密关系,规则是诗的标题和正文中只要提到过对方,那么两者之间的引用关系加1,若一首诗中提到多次对方,只算一次引用;第三步,编写程序并调试验证。用爬虫程序段(如下图所示)采集数据。根据要求,完成答题。
(4)使用爬虫程序获取文本数据并形成唐诗库文件,所使用的数据采集方法为____________(选填:
系统日志采集法、网络数据采集法其他数据采集方法)。阅读程序可知每首诗存放于列表poem[]中(以唐诗“春晓”为例如下表),采集后的数据保存在文件中,该文件是一个_________________(选填:数据库文件、文档文件、图像文件、网页文件)。该数据采集方法可以将非结构化数据从网页中抽取出来,将其存储为统一的数据文件,并以_______________________的方式存储(选填:结构化、半结构化)
(5)以诗人甲、乙为例解密二人关系,完成答题。数据处理过程中要运用一定的分析方法对大量无序的数据进行整理、分析挖掘数据内在的结构和规律,从而提取有价值的、有意义的数据。数据分析一般包括特征探索、关联分析、聚类与分类等。让计算机搜索遍历唐诗库中有关甲、乙两位诗人的诗文,统计两位诗人或别名相互的引用次数,寻二人之间的关联。这是运用了__________________(选填:特征探索、关联分析、聚类与分类)方法进行数据分析,也是__________________(选填:枚举、二分查、排序)算法思想去求解这一问题的体现。
(6)编制计算机程序解决问题的过程中,__________________是编程的核心,是解决问题
的方法和步骤。选用Python程序设计语言编写程序,Python属于__________________(选填:分析问题、设计算法、编写程序、调试运行、机器语言、汇编语言、高级语言)。图a 示意,使用__________________(选填:自然语言、流程图、伪代码)进行算法描述,且运用循环控制结构嵌套了__________________控制结构,如果要跳出本次循环体的执行,应使用__________________语句实现跳转。
(7)阅读程序(图b示意),程序中以“#”开头的语句,其作用是_______________,程序调试完成,通过“另存为”保存文件,文件后缀名为_____________。
图a import gushi #从txt文档中读取古诗
poems=gushi. readDatat()#用poems存储所有的唐诗
jia=input("请输入诗人甲:")
yi=input("请输入诗人乙:")
gx=0
for poem in poems:#逐一列举:poem代表其中一首古诗
if jia in poem[2]and(yi in poem[0]or yi in poem[3]):gx=gx+1 #问题的解
print(jia,'"写给",yi,"的古诗共",gx,"首")
图b
(三)分析数据进行可视化表达并推测盛唐时期诗人关系。
(8)解密盛唐时期诗人关系。数据的可视化以易于理解的方式展示和诠释数据之间的关系、趋势与规律等,使人们更好地理解数据。从常用和实用的维度,数据可视化的呈现类型主要分为探索型和解释型,其中_________型可以帮助人们发现数据背后的价值,_________型则把数据简单明了地解释给人们(选填:探索、解释)。数据分析类型不同可视化呈现方式也不同,如关于趋势的分析,可用_________类型的图表呈现,关于比例的分析,可用_________类型的图表呈现关于关系的分析,可用_________类型的图表呈现。
(9)解密盛唐时期诗人关系。学习小组选择用网络关系图呈现盛唐时期诗人社会网络关系(如图所示)。图中箭头表示诗人之间的引用关系,如李白引用了贺知章,那么就有李白指向贺知章箭头;箭头的粗细程度则表示了诗人之间引用关系的强弱,如李白引用孟浩然的数量达4次,箭头就要粗一些。________