2.3程序设计基本知识2024—2025学年高中信息技术人教/中图版(2019)必修1

2024-08-05
| 14页
| 91人阅读
| 0人下载

内容正文:

2.3 程序设计基本知识 一、选择题 1.执行以下Python语句a="12";b="34";c="a"+"b"的值是(   ) A."1234" B.1234 C.46 D."ab" 2.以下运算符中优先级最高的是(  ) A.+ B.** C.>= D.not 3.下列选项中,正确的赋值语句是(   ) A.4=M B.-M=M C.B=A-3 D.X+Y=0 4.在Python中,执行pi=3.14语句后,变量pi的数据类型是(   ) A.int B.float C.str D.bool 5.有如下Python程序段: a=[6,-9,-6,8,7,4,-3,-1] n=len(a) for i in range(n-1): for j in range(n-1,i,-1):     if a[j]>a[j-1]:         a[j],a[j-1]=a[j-1],a[i]     if a[i]<0:         break 执行该程序段后,下面说法正确的是(   ) A.a[0]到a[n-1]升序排序 B.a[0]到a[n-1]降序排序 C.方框里的语句总共执行了4次 D.变量i的值为4 6.某算法的部分流程图如图所示,若n的值为8,key的值为40,数组元素a[0]至a[n-1]依次存放10,20,30,40,50,60,70,80,执行这部分流程后,输出c的值为(   ) A.-2 B.-1 C.0 D.1 7.某二分查找算法的Python程序段如下: i,j = 0,len(d)-1 while i <= j: m = (i+j)//2        # 语句① if key == d[m]: break elif key < d[m]: j = m-1 else: i = m+1 当d为[6,12,15,18,22,25,28,35,46]时,运行该程序段查找key,语句①的执行次数小于等于2;若将d修改为[6,12,15,18,22,25,28,35,46,58],重新运行该程序段,查找同一key值,则语句①的执行次数不可能为(   ) A.1 B.2 C.3 D.4 8.在Python语言中,下列合法的变量名是(   ) A.abc-1 B.abc2 C.import D.2abc 9.下列Python表达式中,值为True的是(    ) A.2**4-64**0.5 B.len("Python")>6 C."Chat"in"chatGPT" D.ord("A")==65 10.下列属于计算机程序设计语言的是(   ) A.ACDSee B.Python C.Wave Edit D.WinZip 11.在tkinter模块中可以用来创建按钮的是(   ) A.Button B.Label C.Entry D.Frame 12.在 Python 语言中,如果要获取一个1~10之间的随机整数,可调用的内部模块是(   ) A.随机模块:random B.海龟作图模块:turtle C.时间模块:time D.数学模块:math 13.若n的值为8,数组元素a[0]至a[n-1]依次存放7,11,13,17,19,23,29,31,执行如下Python程序段后,输出变量c的值不可能为(   ) import random key=random. randint(13,24) i,j,c = 0,n-1,0 while i<=j:     m=(i+j)//2     if a[m]==key:         break     elif a[m]>key:         j=m-1         c-=1     else:         i=m +1         c+=1 print(c) A.-1 B.0 C.1 D.2 14.在 Python 语言中,如果要用到正弦函数sin(x),可调用的内部模块是(   ) A.海龟作图模块:turtle B.数学模块:math C.时间模块:time D.随机模块:random 15.已知feel={1:"love",2:"like",3:"hate"},现要在字典feel中添加一个键为:0,值为"enjoy"的元素,下列语句正确的是(   ) A.feel[0]="enjoy" B.feel["enjoy"]=0 C.feel.append(0:"enjoy") D.feel={0:"enjoy"} 16.运行如下Python程序段,若输入“B”,则变量cnt的值为(    ) a=[ 'A ','B ','C ','D ','E ','F ','G '] ch=input(“输入A-G之间的字母:”) cnt=0 for key in a: i,j=0,len(a)-1 while i<=j: m=(i+j)//2 if a[m]==ch: cnt+=1 break#终止while循环 if a[m]==key: break elif a[m]<key: i=m+1 else: j=m-1 A.1 B.2 C.3 D.7 17.下列表达式的计算结果和表达式 6*3**2%8//2+1 的结果相同的是(   ) A.str(len('2023 杭州亚运会')//3) B.max(“1234”) C.int(3**2/2) D.632//10%10 二、填空题 18.程序代码如下: n=0 x=1 while x<20:     x=x* 3     n=n+1 print(x,n) 屏幕显示结果是 。 19.用python编写程序,实现一元二次方程式ax2+bx+c=0(a≠0)的求解。输入系数a、b、c的值,输出方程可能的解。 import math a=int(input("a:")) b=int(input("b:")) c=int(input("c:")) if ① :     X1=((-1)*b+sqrt(f(a,b,c)))/(2*a)     x2=((-1)*b-sqrt(f(a,b,c)))/(2*a)     print("x1=",x1,"x2=",x2) else:     print(“该方程式无解!”) 请把上面程序划线①处的代码补充完整。 20.在Java中,String类的equals()方法用于比较两个字符串的 。 21.在Python中, 是用于实现循环遍历的关键字。 22.在Python中,使用 关键字可以定义一个函数。 23.编程语言中的 语句用于控制程序的流程,根据条件是否满足来决定执行哪一段代码。 三、判断题 24.定义类时,在一个方法前面使用@staticmethod进行修饰,则该方法属于静态方法。( ) 25.在定义函数时,某个参数名字前面带有两个*符号表示可变长度参数,可以接收任意多个关键参数并将其存放于一个字典之中。( ) 26.在python中,下面程序可以正常运行。( ) n=10 s=n+'T' 27.python程序中,乘除运算的优先级高于加减运算。( ) 28.在python中,运算符**的优先级最高。( ) 四、操作题 29.小明要搭建一个空气质量监测系统,该系统能实现监测周围环境的PM2.5浓度值,当浓度值大于阈值时发出警报。用户通过浏览器查看实时监测的数据和历史数据。该系统结构示意图如图1所示,传感器采集的数据由智能终端经IOT模块发送给Web服务器,并存储在数据库中。执行器用于实现数据异常时的报警功能。请回答下列问题:                                    图1 (1)关于该空气质量监测系统及其搭建,下面说法不正确的是 (多选,填字母)。 A.该系统采集的实时数据可为用户的健康出行做参考,具有较好的社会意义 B.该系统采用B/S架构,用户需安装专门的程序才能访问该系统 C.该系统可以同时为多个用户提供数据查询服务 D.必须所有硬件搭建完成后,才能进行服务器端的程序编写 (2)服务器端获取来自智能终端提交的数据并进行相应处理,部分代码如下: #导入相关模块,代码略 app=Flask(name_) @app.route("/input") def add_data():     #从数据库中获取阈值,保存在h中,代码略     pm_value=int(request.args.get("d"))     #将pm_value的值存入数据库,代码略     if pm_value>h:         return "0"     else:         return "1" ①智能终端将采集到的PM2.5浓度数据保存在变量data中,提交数据到Web服务器的URL为http://192.168.35.1:8000/input?d=data,则响应该URL请求的Web服务器IP地址为 ,服务器中视图函数 (填写函数名称)的代码会被运行。 2智能终端在接收到来自服务器返回的数据“1”时,需要给执行器发送指令实现 (单选,填字母:A.开启执行器发出警报;B.关闭执行器停止警报) (3)系统正常运行一段时间后,用户通过浏览器查看到实时数据超过阈值时,系统却没有发出警报,造成这个问题的可能原因是(写两项): 。 (4)小明将系统中2023年的所有PM2.5浓度值导出,进行预处理后,得到如图2所示的数据(日期格式为“年-月-日”),编写程序分析每个月空气中PM2.5浓度为“合格”的情况(PM2.5浓度值不超过75表示“合格”,否则为“不合格”)。              图2                                                      图3 import pandas as pd import matplotlib.pyplot as plt df=pd.read_excel("2023年.xlsx") df.insert(0,"月份","")    #插入列 for i in df.index:     t=df.at[i,"日期"]    #通过行标签和列标签选取单个值     df.at[i,"月份"]-t[5:7] x=df2["月份"] y-df2["PM2.5"] plt.bar(x,y)#绘制柱形图 #设置绘图参数,显示如图3所示的柱形图,代码略 ①方框处的代码实现统计每个月PM2.5指标为合格的总天数,下面代码能实现该功能的是 (单选,填字母) A.dfl=df.groupby("月份",as_index=False).count() df2=dfl[df1["PM2.5"]<=75] B.dfl=df[df["PM2.5"]<=75] df2=df.groupby("月份",as_index=False).count() C.dfl=df[df["PM2.5"]<=75] df2=dfl.groupby("月份",as_index=False).sum() D.dfl=df[df["PM2.5"]<=75] df2=dfi.groupby("月份",as_index=False).count() ②小明分析图3发现,PM2.5浓度值为“合格”的天数最少的是 月份,并建议公众在该月份做好健康防护工作。 30.用Python编辑器打开“test\fjks7”文件夹下的文件“p7-1.py”,进行以下操作并保存。 (1)删除<l><2><3>,并在该处填写代码,使程序具有功能:计算并输出1+1/3+1/5+*+1/29的值,结果保留一位小数。(请不要更改、删除其他代码) (2)编写完成后保存文件并关闭应用软件。 s=0 for i in <1> (1,30,2):     s=s+<2> print("计算结果是:",<3> ) 试卷第1页,共3页 试卷第1页,共3页 学科网(北京)股份有限公司 参考答案: 1.D 【详解】本题考查Python程序设计相关内容。字符串a="12",b="34",c="a"+"b"即等于"a"+"b"结果为"ab"。故本题答案是D选项。 2.B 【详解】本题考查运算符。在Python中,运算符的优先级从高到低依次为:指数运算(**)、正负号、算术运算符(+、-、*、/、//、%)、比较运算符(>=等)、逻辑运算符(not、and、or)。故答案为:B。 3.C 【详解】本题考查的是赋值语句。赋值语句格式:变量名=表达式。变量名由字母、数字或下划线等字符组成,不能以数字开头,程序的保留字不能作为变量名。4、-M、X+Y不是合法的变量名,故本题应选C。 4.B 【详解】本题考查Python数据类型相关内容。3.14为浮点型数据,所以执行pi=3.14语句后,变量pi的数据类型是浮点型(float)。故本题答案是B选项。 5.D 【详解】本题考查程序分析。该程序是个排序程序,当a[i]<0时候,停止排序。故不可能排列全部元素。排除选项A、B。方框里的语句执行了5次,故选项C错误。故选择D。 6.D 【详解】本题考查程序分析。程序运行过程: i=0,j=7,i<=j, m=3,不满足a[m]<key,则i=0, j=2, c=-1 i=0,j=2,i<=j, m=1,满足a[m]<key,则i=2, j=2, c=0 i=2,j=2,i<=j,m=2, 满足a[m]<key,则i=3, j=2, c=1 i=3, j=2,i<=j,不满足循环条件,退出循环,c=1,故选择D。 7.C 【详解】本题考查Python程序设计相关内容。本题涉及到二分查找算法相关操作。分析程序段,推知: 数组d为[6,12,15,18,22,25,28,35,46]时,i=0,j=8,m=4,执行程序段,查找过程用二叉树表示如下: 语句①的执行次数小于等于2,该次数与key值在二叉树中的深度值一致,因此查找的数key可能是:22(1次查找)、12(2次查找)和28(2次查找)。若将d修改为[6,12,15,18,22,25,28,35,46,58],此时,i=0,j=9,m=4,查找过程用二叉树表示如下: 第一次查找的仍然是22,若往左查找,第二次是12。但若第二次往右查找,则找到的是35,而不是原先的28,然后继续第三次查找,找到25,接着进行第四次查找,找到28,此时查找过程结束。所以查找同一key值,则语句①的执行次数不可能为3,故本题答案是C选项。 8.B 【详解】本题考查变量。Python变量名必须以字母或下划线开头,后续字符可以是字母、数字或下划线,且不能是Python的关键字。A选项错误,包含不合法的字符“-”,C选项错误,import为Python的关键字,D选项错误,以数字开头。故答案为:B。 9.D 【详解】本题考查Python表达式。本题考查了Python表达式的计算及字符串操作。2**4表示2的4次方,即16;64**0.5表示64的平方根,即8;16-8等于8,不是True,A选项错误。len("Python")计算字符串"Python"的长度,为6;6>6为False,B选项错误。"Chat"和"chatGPT"大小写不同,"Chat"不在"chatGPT"中,结果为False,C选项错误。ord("A")返回字符"A"的ASCII码,为65;65==65为True,D选项正确。故答案为:D。 10.B 【详解】本题考查计算机程序设计语言。ACDSee是图像编辑软件,Python是程序设计语言,Wave Edit是音频编辑软件,Winzip是解压缩工具。故选B。 11.A 【详解】本题考查Python tkinter模块相关内容。tkinter是Python的一个标准库,用于创建GUI应用程序。Button是它用于创建按钮控件。Label是Python Tkinter标签组件之一,主要显示指定的窗口中的文本和图像。Entry用于创建单行文本框,允许用户输入文本。Frame控件是一个用于组织和管理其他控件的容器,它可以将其他控件放置在自己内部,用于创建更复杂的用户界面。故本题答案是A选项。 12.A 【详解】本题考查Python模块相关内容。turtle库是Python语言中一个很流行的绘制图像的函数库,它提供了一些简单的绘图工具,可以在标准的应用程序窗口中绘制各种图形。time是Python自带的模块,用于处理时间问题,提供了一系列的操作时间的函数。random函数是Python中一个非常实用的内置模块,它可以方便地生成各种类型的随机数,并且可以用于各种不同的场景。Python中math库提供数学函数,用于执行计算、三角函数、对数等操作。获取一个1~10之间的随机整数,可调用的内部模块是random,故本题答案是A选项。 13.D 【详解】本题考查Python程序设计相关内容。本题涉及到二分(折半)查找算法相关知识。依据二分查找,以a元素序列构造二叉树,如图所示:。分析程序段,key通过randint产生,取值范围是[13,24],当key值为13、17、19时,c值为0;当key值为18时,c值为-1;当key为[13,24]中的其他值时,c值为1;所以c的值不可能为2,故本题答案是D选项。 14.B 【详解】本题考查Python库的应用。Python的math库提供了许多数学函数,包括三角函数、指数函数、对数函数、常数等;time模块是用于处理时间的标准库,它提供了许多函数来获取、处理和格式化时间信息;random是Python内置的标准库,可利用库中的函数生成随机数据;turtle库是Python语言中自带的一个用于绘制图像的函数库。在 Python 语言中,如果要用到正弦函数sin(x),可调用的内部模块是数学模块:math。故选B。 15.A 【详解】本题考查Python字典相关内容。在Python中,字典是个可变无序的容器,标志性符号是花括号和冒号,字典的主要组成部分是键值对。字典中的键是唯一、值可以不唯一。字典是一种可变序列,可以进行增删改查等操作。字典使用大括号{}来创建,每个键值对用冒号:分隔,键和值之间用逗号,分隔。字典是通过键key插入数据,格式是:字典[key]=value,现要在字典feel中添加一个键为"0",值为"enjoy"的元素,可以使用feel[0]="enjoy"实现。故本题答案是A选项。 16.C 【详解】本题考查Python程序设计相关内容。分析程序段,其运行过程如图所示:。运行结束,变量cnt的值为3,故本题答案是C选项。 17.C 【详解】本题考查Python表达式的运算。 6*3**2%8//2+1=6*9%8//2+1=54%8//2+1=6//2+1=4;str(len('2023 杭州亚运会')//3)='3';max(“1234”)="4";int(3**2/2)=int(4.5)=4;632//10%10=3,故选C。 18.27        3 【详解】本题考查Python基础。 累乘3赋值给变量x。第一次循环:x=3,n=1;第二次循环:x=9,n=2;第三次循环:x=27,n=3。故正确答案为:27和3。 19.f(a,b,c)〉=0 【详解】本题考查Python程序设计相关内容。一元二次方程的求解:若b*b-4*a*c>0成立,表明方程有两个不等实根;若b*b-4*a*c==0成立,表明方程有两个相等实根;若b*b-4*a*c<0成立,表明方程无解;由给定程序段知,b*b-4*a*c的值通过调用函数f(a,b,c)获得,故本题答案是:f(a,b,c)〉=0。 20.内容(content) 【详解】本题考查计算机编程。String类的equals()方法用于比较两个字符串的内容(content),即判断两个字符串在字符序列上的相等性,而不是比较它们的内存地址。与==运算符不同,==运算符比较的是对象的引用地址,而equals()方法比较的是字符串的实际字符内容。故答案为:内容(content)。 21.for 或 in 【详解】本题考查Python。在 Python 编程语言中,for和in通常结合使用来创建循环结构,实现对可迭代对象(如列表、元组、字符串等)的遍历,以依次处理其中的每个元素。故答案为:for 或 in。 22.def 【详解】本题考查Python。在Python中,使用def关键字来定义一个函数。通过def后跟函数名、参数列表以及函数体,明确了函数的功能和执行逻辑,这是Python中创建自定义函数的标准方式,方便代码的模块化和复用。故答案为:def。 23.条件 【详解】本题考查计算机程序设计语言。编程语言中的条件语句(如if语句)用于控制程序的流程,根据条件是否满足来决定执行哪一段代码,实现程序的分支逻辑。故正确答案为:条件。 24.正确 【详解】本题考查Python基础。 在Python中,当我们在类定义中使用@staticmethod装饰器来修饰一个方法时,这个方法就被定义为静态方法。静态方法不同于实例方法和类方法,它不接受类或实例的隐式第一个参数(在实例方法中通常是self,在类方法中通常是cls)。这意味着静态方法可以被调用而无需创建类的实例,但它也无法直接访问类的属性或方法(除非它们被显式地传递为参数)。 25.正确 【详解】本题考查Python基础。 在Python中,定义函数时参数名字前面带有两个*符号(例如,**kwargs)确实表示该函数可以接受任意数量的关键字参数(keyword arguments),并将这些参数存储在一个字典中。这种参数被称为可变关键字参数。这种机制在编写需要高度灵活性的函数时非常有用,因为它允许调用者传递任意数量的关键字参数,而函数内部可以以一种统一的方式处理这些参数。故正确。 26.错误 【详解】本题考查Python基础。 字符型数据和整型数据无法进行加法运算,类型不兼容。故错误。 27.正确 【详解】本题考查Python运算符相关内容。在Python中,算术运算符有:加、减、乘、除、取余等。乘除运算的优先级高于加减运算。故本题答案是:正确。 28.正确 【详解】本题主要考查Python运算符优先级。在Python中,运算符**(幂运算符)的优先级最高,表述正确。 29. BD 192.168.35.1 add_data或add_data() B 执行器有故障;执行器与智能终端之间的连接有故障; D 12 【详解】本题考查程序分析。(1)B/S架构意味着用户只需要通过浏览器就可以访问系统,无需安装专门的程序。在软件开发中,通常采用的是迭代和增量的开发方法,这意味着服务器端的程序编写可以在硬件搭建完成之前就开始,并且可以根据硬件的实际情况进行调整和优化。故选择BD。(2)根据题目中的URL地址为http://192.168.35.1:8000/input?d=data,可知IP地址为192.168.35.1。(3)根据代码@app.route("/input")和def add_data()中的路由函数定义,可是视图函数为add_data。(4)根据代码 if pm_value>h: return '0' else: return  '1' 当浓度值大于阈值时发出警报,小于等于就关闭。故选择B。(5)执行器执行报警,当不发出警报时,可能执行器本身有故障。智能终端发出信号控制执行器,当两者连接有故障时候,执行器收不到信号,也不会报警。(6)A选项错误,应该先筛选后分类统计。B选项错误,数据集对象有错,应该是df1分类统计,而不是df。C选项错误,应该调用count函数,而不是sum函数。故选择D。(7)根据图3,发现12月份的柱形图最低,说明合格天数最少,故为12。 30. range 1/i s 【详解】本题考查Python编程基础。<l>调用range函数生成30以内的奇数。即1-29。故填写range。<2>s初始化0后,累加1/i。故填写1/i。<3>最后输出结果s。故填写s。 答案第1页,共2页 答案第1页,共2页 学科网(北京)股份有限公司 $$

资源预览图

2.3程序设计基本知识2024—2025学年高中信息技术人教/中图版(2019)必修1
1
2.3程序设计基本知识2024—2025学年高中信息技术人教/中图版(2019)必修1
2
2.3程序设计基本知识2024—2025学年高中信息技术人教/中图版(2019)必修1
3
相关资源
示范课
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。