第二章 算法与程序实现 2024-2025学年高中信息技术华东师大版(2020) 必修1

2024-08-09
| 14页
| 35人阅读
| 0人下载

内容正文:

第二章 算法与程序实现 一、选择题 1.以下程序执行后,最后一个输出结果是(   ) s = 0 for i in range(2,11):     s += i     print(s) else:     print(1) A.1 B.2 C.5 D.9 2.在Python中创建了一个DataFrame对象df1。 import pandas as pd data={"姓名":["甲","乙","丙"],"性别":["男","女","男"],"身高":[175,156,180]} df1=pd.DataFrame(data,columns=["姓名","性别",身高"]) 以下操作描述错误的是(   ) A.print(df1["姓名"])将显示姓名列的数据 B.print(df1.身高)将显示身高列的数据 C.print(df1.head())将显示甲同学的数据 D.print(df1[df1.身高<160])将显示乙同学的数据 3.有字符串s="6t88yw",则下列表达式及其值对应正确的是(    ) A."tyw" in s 的值为True B.s[0]的值为6 C.s[0]+s[2:4]的值为"74" D.len(s)的值为6 4.“回文串”是一个正读和反读都一样的字符串。下列Python段的功能是:输入一个字符串,判断该字符串是否为回文串,若是则输出“Yes”,否则输出“No”。 s=input("请输入字符串:") i=0 j=len(s)-1 flag=True while i<len(s)//2 and flag: if s[i]==s[j]: i+=1 ① else: flag=False if ② : print("Yes") else: print("No") 则程序划线①②③处应填入的语句为(    ) A.①j+=1  ②flag B.①j+=1  ②not flag C.①j-=1  ②flag D.①j-=1  ②not flag 5.使用列表d模拟链表结构(节点数大于0),每个节点包含数据区域和指针区域,head为头指针。现要删除链表中数据值在[begin,end]范围的节点,实现该功能的部分程序段如下,方框中应填入的正确代码为:d=[[4,5],[10,2],[12,4],[1,0],[16,-1],[7,1]] head = 3 q=head; p=head while p!=-1:     if d[p] [0] < begin or d[p] [0] > end:         q=p         p=d[p][1]     else:          A. B. C. D. if head!=p: d[q][1]=d[p][1]else: head=d[p] [1]p=d[p][1] if head==p: d[q][1]=d[p][1]else: head=d[p][1]p=d[p][1] if head!=p: p=d[p][1]else: head=d[p][1] p=d[p][1] if head==p: p=d[p][1]else: head=d[p][1] p=d[p][1] A.A B.B C.C D.D 6.运行以下程序后,输出的结果是(   ) for i in range(2): print(i,end="") A.012 B.01 C.12 D.1 7.有如下Python程序: a=[11, 2, 12, 11, 12, 1, 18] n=len(a) i=0 while i<n-1:     k=i           i=n-1           for j in range(n-1,k,-1):                 if a[j] < a[j-1]:             a[j],a[j-1]=a[j-1],a[j]                  i=j print("排序后:",a) 以下说法不正确的是(   ) A.该算法采用的是冒泡排序算法思想 B.该算法能实现数组的升序排序 C.该算法的时间复杂度是O(n2) D.为使数组完全有序,while循环只需执行2次 8.在计算正方形的面积算法中,“第一步,输入边长a;第二步,计算正方形的面积s=a*a;第三步,输出正方形的面积s。”这种算法的描述方式属于(    ) A.自然语言 B.流程图 C.伪代码 D.高级语言 9.下列Python表达式的值等于2的是(   ) A.2%5 B.2//5 C.(3>4)*2 D.4-3%5**2 10.有如下 Python 程序: import random f=['']*10 for i in range(3,10): f[i]=chr(random.randint(65,90)) print(f) 程序运行后,输出的结果正确的是(    ) A.['', '', '', 'U', 'D', 'W', 'G', 'W', 'A', 'S'] B.['', '', '', 'L', 'e', 'P', 'd', 'R', 'P', 'F'] C.['', '', 'W', 'W', 'X', 'E', 'X', 'D', '', ''] D.['', 'A', '', '@', 'D', 'W', 'G', 'W', '&amp;', 'W'] 11.如果a,b中任意一个数的值为3的倍数,那么y的值为变为原先的2倍,能实现该功能的Python语句是(   ) A. if a % 3= 0 and b % 3 = 0:     y = у * 2 B. if a % 3 == 0 or b % 3 == 0:     y = y // 2 C. if a % 3 == 0 or b % 3 == 0:     y = у + у D. if not (a % 3 != 0) and not (b % 3 ! = 0):     y = у ** 2 A.A B.B C.C D.D 12.下图所示的流程图用于计算圆的周长,流程图中①处的内容是(   ) A.C=3.14*r*r B.C=2x3.14xr C.C=2*3.14*r D.输出r 13.某 Python程序段如下: s = "420play+2qQ" res = "" for i in range(len(s)):     if "0" <= s[i] <= "9":         res = s[i] + res     if i % 3 == 0 and "a" <= s[i] <= "z":         res = res + chr(ord(s[i]) - 32) print(res) 执行该程序段后,输出的结果是(   ) A.4202PYQ B.2024A C.PYQ4202 D.2024PYQ 14.在购买火车票时,儿童票价以年龄划分优惠标准,如果用算法描述儿童购票问题,票价计算算法的控制结构是(   ) A.顺序结构 B.分支(选择)结构 C.循环结构 D.树形结构 15.有如下 Python 段程序: a=[6,12,9,20,8,11,4] for j in  range(1,len(a)) if   a[j] < a[j-1]: a[j]=a[j]+a[j-1];a[j-1]=a[j]-a[j-1];a[j]=a[j]-a[j-1] 执行该段程序后,列表 a 的值是(      ) A.[4,6,12,9,20,8,11] B.[4,6,8,12,9,20,11] C.[6,9,12,8,11,4,20] D.[6,9,8,11,4,12,20] 16.用高级语言和机器语言编写具有相同功能的程序时,下列说法中错误的是(   ) A.前者比后者可移植性强 B.前者比后者执行速度快 C.前者比后者容易编写 D.前者比后者容易修改 17.有如下Python程序段: d=[3,9,2,0,2,4] s=[0,1,2,3,4,5] n=len(d) for i in range(n-1):     for j in range(n-1,i,-1):         if d[s[j]] < d[s[j-1]]:             s[j],s[j-1]=s[j-1],s[j] print(s) 执行该程序段后,输出的结果是(   ) A.[3,4,2,0,5,1] B.[3,2,4,0,5,1] C.[1,5,0,4,2,3] D.[1,5,0,2,4,3] 二、填空题 18.阅读下列程序,写出运行结果。 x=int(input("请输入一个正整数:")) y=0 while x !=0:     y=y*10+x % 10     x=x//10 print(y) 程序运行后,输入:2021 运行结果是: 。 19.在Java中,String类的equals()方法用于比较两个字符串的 。 20.流程图中的菱形一般用代码 和 表示。 21.李华同学和业主委员会成员一起参与了小区智能停车场的改造,希望实现的功能主要包括车牌自动识别、车辆身份判断、出入控制、停车时间计算、费用收取及核查、语音对讲等。 管理策略:1.对于本小区业主固定车辆实施年费制,只要在缴费有限期内,则可自由通行。2.缴费期满则在车辆通过时自动提醒业主续费。3.为避免场地资源浪费,停车场允许外来车辆进入,按停车时长进行收费。 计费规则:时长不超过3小时(含3小时)的收费5元;时长超过3小时且不超过8小时(含8小时)的在5元的基础上每超过1小时增收2元;时长超过8小时且不超过12小时(含12小时)的收费30元。 李华根据计费规则设计了外来车辆进入停车场的计费流程图,时长用“T”表示,收费金额用“M”表示,请帮忙完善流程图,①②③④⑤⑥处应填的内容分别是( )、( )、( )、( )、( )、( )   (填字母:A、M=30 B、3<T≤8 C、M=5 D、M=5+(T-3)*2 E、8<T≤12 F、T≤3) 22.在JavaScript中,document.write方法用于向 中写入内容。 三、判断题 23.已知列表x = [1, 2],执行语句y = x后,表达式id(x) == id(y)的值为True。( ) 24.高级语言通用性好,可读性强,便于修改维护,所以它是一种自然语言。( ) 25.在程序中,x=y与y=x是不一样的。( ) 26.在Python3.x语言中,input()函数的返回值类型是字符串。( ) 四、操作题 27.小王同学利用自己学到的Python知识,帮亲戚制作了一个“蔬菜大棚温控系统”。该系统每10分钟通过温度传感器采集一次大棚温度数据,实时发送到智能终端,并通过物联网模块上传至服务器数据库,当温度超过阈值时自动报警;服务器分析数据,自动开启或关闭大棚内风机、遮阳设备等。用户可通过浏览器查看相应网页,获取最新的温度和报警信息。                                       图a 请回答下列问题: (1)在进行系统硬件搭建时,服务器通过无线网络连接智能终端,除服务器外直接连接在智能终端上的硬件设备有: (多选,填序号:①浏览器②传感器③数据库④执行器) (2)关于该系统,下列说法正确的是: (多选,填字母) A.测试并观察该系统运行是否有问题,属于静态测试 B.选择SQLite3作为该系统的数据库软件,属于概要设计 C.搭建系统前对该系统所需的费用和效率进行评估,属于需求分析 D.该系统采用了B/S架构 (3)网站框架示意图如图b所示,若要查看当前的实时温度信息,需访问的URL是:http://                          图b (4)该系统正常运行一段时间后,发现服务器网页正常显示,但温度高于阈值时执行器没有启动,请从硬件的角度分析造成上述问题可能的原因 。 试卷第1页,共3页 试卷第1页,共3页 学科网(北京)股份有限公司 参考答案: 1.A 【详解】本题考查Python基础。 在Python中,for循环后面直接跟else语句的用法可能不常见,但它确实存在,并且有其特定的用途。当for循环正常结束(即没有因为break语句而提前退出)时,else块下的代码将会被执行。 s = 0 初始化变量s。 for i in range(2, 11): 创建一个循环,i从2遍历到10(注意,range的结束值是开区间,所以不包括11)。 在每次循环中,s += i将i的值加到s上,然后打印当前的s值。 当for循环正常结束后(即遍历完range(2, 11)中的所有值),else块下的print(1)会被执行。 for循环的迭代都完成后,由else块打印出来的。这证明了for循环确实正常结束了,没有因为任何条件而提前退出。故正确答案为:选项A。 2.C 【详解】本题考查Python编程。 选项C,错误。调用head方法默认可以显示前5条数据。根据题意不只显示甲同学数据。其它选项均正确,故正确答案为:选项C。 3.D 【详解】本题考查字符串相关内容。A选项,“tyw”并不是s的子串,其值应为False,选项错误;B选项,s[0]的值为字符‘6’,不是整数6,选项错误;C选项,s[0]+s[2:4]的值为“688”,选项错误;D选项,字符串s的长度为6,选项正确。故本题答案是D选项。 4.C 【详解】本题考查Python程序设计相关内容。该程序功能是判断字符串是否为回文串。采用双指针的方法来判断头尾一对字符,变量i指向字符串的头部,j指向字符串的尾部。因此①处应填写:j-=1或j=j-1。最后根据逻辑变量flag的值来判断是否为回文串,当s[i]!=s[j]时,flag为False,因此②处应填写:flag或flag==True,故本题答案为C选项。 5.A 【详解】本题考查数据结构链表相关内容。链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。结合题目内容,分析程序段,循环体内else部分表明该节点数据值在[begin,end]范围内,应执行删除操作:若该节点不是头节点,后继节点覆盖该节点(d[q][1]=d[p][1]),若该节点是头节点,则其后继节点作为新的头节点(head=d[p] [1]),执行完if...else语句后再更新值,继续进行下一轮的操作。对比四个选项,选项A符合题意。B选项,if与else部分的操作反了,交换语句后可以。CD选项,仅更新了指针值,并未删除节点。故本题答案是A选项。 6.B 【详解】本题考查Python程序。在这段代码中,range(2)会生成一个从0到1的范围,因此循环会执行两次。第一次循环,i的值为0,因此输出0;第二次循环,i的值为1,因此输出1。由于print函数中使用了end="",表示不换行输出,因此两次输出结果会连在一起。故答案为:B。 7.D 【详解】本题考查Python程序设计相关内容。本题涉及到冒泡排序及其变式知识点。由程序段推知,该程序采用了冒泡排序算法,能够实现数组的升序排序。冒泡排序时间复杂度为O(n2)。为使得数组完全有序,while循环需要执行的次数为3次。ABC选项正确,D选项错误。故本题答案是D选项。 8.A 【详解】本题考查算法的描述。自然语言是人们日常交流所使用的语言,描述方式直观、简单,但可能存在歧义性和不精确性。例如,“第一步,输入边长a;第二步,计算正方形的面积s=a*a;第三步,输出正方形的面积s。”这种描述方式就是使用自然语言来表达算法的步骤。故答案为:A。 9.A 【详解】本题考查的是Python表达式。%表示求余,//表示整除,**表示幂乘,*表示乘,2%5=2,2//5=0,(3>4)*2=0,4-3%5**2=1。故选A。 10.A 【详解】本题考查Python程序设计相关内容。分析程序段可知,random.randint(65,90)用于产生一个[65,90]范围内的整数,chr(random.randint(65,90))将随机产生的整数转换为对应的字符。for循环的作用是将产生的字符依次放入从索引号3开始至索引号9的列表内。A选项,从索引号3开始至索引号9获得字符,且这些字符的ASCII码值在[65,90]范围内,符合程序段功能,选项正确。B选项,ASCII码值在[65,90]范围内的都是大写字母,不可能出现小写字母,B中出现小写字母,选项错误。C选项,索引号2不应该获得字符,选项错误。D选项,索引号1不应该获得字符,选项错误。故本题答案是A选项。 11.C 【详解】本题考查的是Python选择语句。a,b中任意一个数的值为3的倍数,故条件应为:a % 3 == 0 or b % 3 == 0,y的值为变为原先的2倍,其代码为: y = у * 2或 y = у + у。故选C。 12.C 【详解】本题考查的是流程图识读。阅读流程图,可知这是求圆的周长C,故流程图中①处的内容是C=2*3.14*r(*表示乘)。故选C。 13.D 【详解】本题考查程序分析能力。当字符是数字时候,将数字向前累计拼接到res上。当索引能被3整除且是小写字母时候,则转化成大写字符并向后拼接累计到res后面。故正确答案为D选项。 14.B 【详解】本题考查的是算法结构。分支结构的执行是依据一定的条件选择执行路径,而不是严格按照语句出现的物理顺序,对于要先做判断再选择的问题就要使用分支结构。在购买火车票时,儿童票价以年龄划分要先做判断,票价计算算法的控制结构是分支(选择)结构。故本题应选B。 15.C 【详解】本题考查的是Python循环语句。阅读程序可知,从索引号1开始依次将列表中的元素与前一个元素比较,如果比前一个小则交换。初始[6,12,9,20,8,11,4],依次比较交换后为:[6,9,12,8,11,4,20],选项C正确。 16.B 【详解】本题主要考查编程语言的描述。高级语言更接近人类的自然语言,易学易记;采用高级语言编写的程序修改方便;高级语言可读性好、移植性好;采用高级语言编写的程序占用内存空间较大,执行速度较慢。故本题选B选项。 17.B 【详解】本题考查程序分析。根据程序可知运行过程: 最后输出的s值为[3,2,4,0,5,1],故选择B。 18.1202 【详解】本题考查Python程序设计相关内容。分析程序段,其运行过程为:(1)x=2021,x!=0成立,执行循环体:y=y*10+x%10-->y=1,x=x//10-->x=202;(2)x=202,x!=0成立,执行循环体:y=y*10+x%10-->y=12,x=x//10-->x=20;(3)x=20,x!=0成立,执行循环体:y=y*10+x%10-->y=120,x=x//10-->x=2;(4)x=2,x!=0成立,执行循环体:y=y*10+x%10-->y=1202,x=x//10-->x=0;(5)x=0,x!=0不成立,不执行循环,输出y,即:1202。故本题答案是:1202。 19.内容(content) 【详解】本题考查计算机编程。String类的equals()方法用于比较两个字符串的内容(content),即判断两个字符串在字符序列上的相等性,而不是比较它们的内存地址。与==运算符不同,==运算符比较的是对象的引用地址,而equals()方法比较的是字符串的实际字符内容。故答案为:内容(content)。 20. if else 【详解】本题考查流程图。在流程图中,菱形通常表示条件判断的部分,其中使用if表示条件为真的情况,而使用else表示条件为假的情况。故答案为:if、else。 21. F B E C D A 【详解】本题考查的是流程图识读。按照计费规则,首先判断时长是否不超过3小时(含3小时)即T<=3,是则收费5元M=5;否则判断时长是否超过3小时且不超过8小时(含8小时)即 3<T≤8;否则判断时长是否超过8小时且不超过12小时(含12小时)即 8<T≤12,满足②则执行M=5+(T-3)*2,满足③则执行M=30。 22.文档(document) 【详解】本题考查计算机编程。在JavaScript中,document.write方法的作用是将指定的内容写入到当前的文档(document)中,从而实现动态地修改网页的显示内容。故答案为:文档(document)。 23.正确 【详解】本题考查Python基础。 在Python中,当你执行 y = x 这样的语句时,你实际上并没有创建 x 的一个新副本,而是让变量 y 指向了 x 指向的同一个对象。这意味着 x 和 y 都引用了内存中的同一个列表对象,即内存地址相等,故表达式id(x) == id(y)的值为True。故正确。 24.错误 【详解】本题考查的知识点是高级语言特点。高级语言确实具有很好的通用性和可读性,这也是为什么我们经常使用高级语言来编写和修改程序。高级语言往往更接近人类语言,这意味着它们更易于理解和学习。然而,尽管高级语言具有这些优点,但它们并不是自然语言。故答案为错误。 25.正确 【详解】本题考查程序设计中赋值语句的理解。在Python程序中,x=y是将y的值赋给x,y=x是将x的值赋给y,因此,x=y与y=x是不一样的。故正确。 26.正确 【详解】本题考查Python函数。input()函数用于从标准输入读取一行,并将其作为字符串返回。无论用户输入什么内容,input()函数返回的值始终是字符串类型。故说法正确。 27. ②④ BD 192.68.1.100:8080/view 执行器故障、执行器与智能终端连接故障、智能终端故障、IoT模块故障等 【详解】本题考查程序分析。 (1)在进行系统硬件搭建时,服务器通过无线网络连接智能终端,除服务器外直接连接在智能终端上的硬件设备有:②传感器 和 ④执行器。传感器用于采集大棚内的温度数据,而执行器则根据控制信号自动开启或关闭大棚内的风机、遮阳设备等。 (2)关于该系统的说法,正确答案为:选项B、D。A选项错误,因为测试并观察系统运行是否有问题,实际上属于动态测试,即在实际运行环境中进行测试。C选项也错误,搭建系统前对该系统所需的费用和效率进行评估,更接近于经济可行性分析或项目规划阶段,而非单纯的需求分析。 (3)根据网站框架示意图图b,若要查看当前的实时温度信息,需访问的URL通常会包含服务器的地址和指向实时温度信息的页面。查看温度数据的子页面为/view。故正确答案为:192.68.1.100:8080/view。 (4)从硬件的角度分析,该系统正常运行一段时间后,发现服务器网页正常显示但温度高于阈值时执行器没有启动的可能原因有:智能终端故障,智能终端无法控制执行器执行。智能终端与执行器之间的连接线路中断或接触不良,导致控制信号无法传递。执行器本身故障,无法接收控制信号或无法执行相应动作。物联网模块故障,无法正确地将控制信号从智能终端发送到执行器。说法合理即可。 答案第1页,共2页 答案第1页,共2页 学科网(北京)股份有限公司 $$

资源预览图

第二章 算法与程序实现 2024-2025学年高中信息技术华东师大版(2020) 必修1
1
第二章 算法与程序实现 2024-2025学年高中信息技术华东师大版(2020) 必修1
2
第二章 算法与程序实现 2024-2025学年高中信息技术华东师大版(2020) 必修1
3
相关资源
示范课
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。