2024-2025学年高中信息技术教科版(2019) 必修一 第2单元 编程计算

2024-08-05
| 15页
| 65人阅读
| 0人下载

内容正文:

第2单元 编程计算 一、选择题 1.以下哪个Python代码片段正确地展示了如何使用默认参数?(   ) A.def func(a, b=5): return a + b B.def func(a, b): return a + b C.def func(a=5, b): return a + b D.def func(b, a): return a + b 2.下列Python程序段的功能是:输入两个整数,通过计算,最终输出较大整数除以较小整数的余数。 a,b=eval(input("请输入两个整数:")) if a<b:     a,b=b,a while a>=b:      print(a) 则程序段划线处应填入的语句为(   ) A.a=a+b B.a=a-b C.b=a%b D.a=a∥b 3.下列语句中,输出结果为整数18的是(   ) A.print('1'+'8') B.print(int('1'+'8')) C.print(2+32/2) D.s="2018"; print(s[2:4]) 4.下列常用函数不属于绘图函数的是(    ) A.concat() B.plot() C.legend() D.scatter() 5.things=["香蕉","苹果","橙子","猕猴桃"],若想输出things元素“橙子”,正确的Python表达式为(   ) A.print(things[-2]) B.print(things[3]) C.print(things["橙子"]) D.print(things[-1]) 6.我国使用的手机号码为11位,其结构为:运营商编号(第1~3位)-地区编号(第4~7位)-用户编号(第8~11位)。某公司日常业务需要快速判断手机号码的运营商归属、地区编号。另外,因周年庆典需要筛选出一批幸运客户。现要筛选手机号码后3位可以被7整除,且中间一位为7的幸运客户。实现该功能的Python程序段如下: #列表Tel_num存储客户的手机号码,元素类型为整型 num_list=[]     #存储满足条件的电话号码 for i in Tel_num: s=i%1000      #获取手机号码后三位 t= ① if ② : num_list.append(i)    #append()函数用于向列表中添加新元素 划线①②处应填入的代码是(    ) A.①s//10%10  ②s%7==0  and  t==7 B.①s//10%10  ②s//7==0  and  t==7 C.①s%10//10  ②s%7==0  or  t==7 D.①s%10//10  ②s//7==0  or  t==7 7.某Python程序如下: i=0 flag=Trued d={} while i<len(s1)and flag: ch1, ch2=s1[i], s2[i] if ch1 not in d: d[ch1]=ch2 elif d[ch1]!=ch2: flag=False i+=1 程序运行后flag的结果为True,则s1和s2的内容不可能为(  ) A.冷言冷语  一心一意 B.大名鼎鼎  落落大方 C.滥竽充数  浑水摸鱼 D.寻寻觅觅  冷冷清清 8.在Python中,运行以下程序后,变量i的值是(    ) i=0 while i<=40: print(i) i=i+8 A.40 B.48 C.32 D.56 9.有如下python程序段。 m = n = 0 for i in range(10):     if i % 3 == 0:         m += i     elif i % 3 == 1:         n -= i 运行程序后,下列说法正确的是(   ) A.i的值为10 B.m+n的结果为-4 C.m-n的结果为30 D.m += i的执行次数为3 10.执行以下代码后,整型变量a和b的值分别是(   ) a=2 b=3 a=a*b b=a//b a=a//b A.2 3 B.6 2 C.3 2 D.6 3 11.在Python中,以下赋值语句的说法错误的是(   ) A.语句a , b=3表示将3同时赋值给变量a和b B.“=”表示将右边表达式的值赋给左边的变量 C.语句x,y =y,x可以实现变量x和y值的互换 D.c+= a等效于c=c+ a 12.在Python中,以下语句不合法的是(   ) A.x=y=10 B.x=(y=10) C.x+=x+y D.x.y=y,x 13.有如下程序段 p ="Tel-114" c="" for ch in p:     if ch>= "0" and ch<= "9":         c+=str(9-int(ch))     elif ch>= "a" and ch<= "z":         ch= chr(ord(ch) - 32)     if ch>= "A" and ch<= "Z":         c=ch+c print(c) 执行程序后,输出的结果为(   ) A.LET885 B.TEL885 C.elT114 D.LET-114 14.下列程序功能为:根据列表lst中各数字的大小关系,计算各数字升序排列的序号,并将序号保存在列表y中。如lst内容为[2,5,2,1],程序运行后列表y的值为[2,4,3,1]。 lst = [2,5,2,1] y = [1,1,1,1] n = len(lst) for i in range(① ):     for j in range(② ):         if ③ :             y[j] = y[j] + 1         else             y[i] = y[i] + 1 上述程序段3个划线处的表达式分别为(   ) A.(1)n-1  (2)i+1  (3)lst[j] > lst[i] B.(1)n-1  (2)i+1  (3)lst[j] >= lst[i] C.(1)n   (2)0  (3)lst[j] >= lst[i] D.(1)n   (2)0  (3)lst[j] > lst[i] 15.在Python 中,代数式a÷b+5c正确的表达式是(   ) A.a/b+c5 B.a%b+5/e C.a/b+5*c D.a//b+5 * *c 16.在Python语言中,语句“for i in range(4)”的作用是:循环执行for语句下面的句块次数(  ) A.1 B.2 C.3 D.4 17.下列关于计算机编程解决问题的一般过程的描述正确的是(    )。 A.利用计算机可以直接自动识别并解决问题 B.设计算法、编写程序和运行调试是一个不断反复的过程 C.算法只要设计完成,就不需要更改 D.程序编译成功后一定是可执行的 二、填空题 18.在Python中,使用 语句可以实现条件判断。 19.python 程序段如下: a=[2,1,3,4,5] c=0 for i in range(2,len(a)):     if a[i-2]+a[i-1]==a[i]:         c=c+1     print(c) 该程序段运行后,最后输出的内容是 。 20.用Python编写程序完成横线处求解鸡兔同笼问题,已知有56只头,160只脚,求鸡兔各有多少只?     定义变量i为鸡的只数     for i in range(1,56,1):         :           print(i)           print((160-i∗2)/4) 21.为Python程序文件python3.py补充语句,实现将a与b的积赋值给c。 python3.py文件内容为: a = 8 b = 5 c = print(c) 22.某 Python 程序如下: n = int (input ()) sum = a = 3 res = 0 i=1 while i <= n:     res = res  + sum     sum = sum * 10 + a     i = i + 1 print (res) 当输入n值为3时,程序输出结果是 。 23.用计算机解决问题的过程中,将程序输入到计算机进行检查、测试和运行,得到正确的结果。这一环节是 。 三、判断题 24.Python字典中的“键”可以是列表、元组、数字、字符串( ) 25.Python os.path模块中的方法isdir()可以用来测试给定的路径是否为文件夹。( ) 26.“天河一号”是我国研制的微型计算机。( ) 27.如果循环以“while 1:”开头,在不加干预的情况下,程序会一直运行下去。( ) 四、操作题 28.某酒店房间(房间数小于100)编号按1,2,3,…连续编号,客房管理人员对没有入住的房间使用如下简易方法来登记。连续的空房间,登记第一个房间的编号和连续的空房间数,比如有空房间1,2,6,7,8,10,则登记3条记录,分别为1_2,6_3,10_1.某旅客如果退房,需要把这个房间号也登记进去,共有4中情况需要处理: ●上靠:若退的房间号为3,则原来登记的记录变更为1_3,6_3,10_1; ●下靠:若退的房间号为5,则原来登记的记录变更为1_2,5_4,10_1; ●上下靠:若退的房间号为9,则原来登记的记录变更为1_2,6_5; ●上下都不靠:若退的房间号为4,则原来登记的记录变更为1_2,4_1,6_3,10_1 同理,若有旅客入住,则维护相应的登记信息。 根据上述规则,小明编写了相应的Python程序,程序启动时从文件中读取空房间数据,并按空房间起始编号从小到大排序,输入“+10”表示旅客入住10号房间,输入“-10”表示10号房间旅客退房。请回答下列问题: (1)当前登记的记录有3条,分别为2_3,6_2,9_4.某旅客退掉8号房间,则登记的记录将变为 。 (2)编写sort函数,实现对空房间数据按空房间起始编号升序排序,该函数的程序代码如下: #参数d中每个元素含2个数据项,第一个数据项为房间起始号,第二个数据线为连续的空房间数量 def sort(d):     i=0;n=len(d)     for i in range(l,n):         for j in range(1,n-i+1):             if :                 d[j],d[j-1]=d[j-1],d[j]     return d (3)实现上述功能的主程序如下,程序运行如图所示,请将划线处的代码补充完整。 "'从文件读取空房间数据,存入列表变量room,room[i][0]存储起始空房间号,room[i][1]存储连续的空房间数量,例如room=[[10,1],[1,3],[6,3]],代码略 空房间信息: 第1条记录:1_3 第2条记录:6_3 第3条记录:10_1 请输入退往)房号:-9 空房间信息: 第1条记录:1_3 2条记录:6_5 输入退(住)房号:-13 空房间信息: 第1条记录:1_3 第2条记录:6_5 第3条记录:13_1 请输入退(住)房号: "' room=sort(room) for i in range(len(room)):     room[i]. append(i+1)空房间信息: room[i][2]=-1 head=0 #输出空房间记录,代码略 while True:     rm=input("请输入退(住)房号:")     num=int(rm[1:]) if m[0]=''-'':进行退躲作     q=p=head     while ① ;         q=p         p=room[p][2]     if room[q][0]+room[q][1]==num:         if room[p][0]==num +l:             ②             room[q][2]=room[p][0]         else:                 room[q][1]+=1     elif num+1==room[p][0]:         room[p][0]=num         room[p][1]+1=1     else:         room. append([num,1,p])     if p=head:         head=len(room)-1     else:         ③ elif rm[0]==''+'':能行入登记作     #代码略 #输出空胞记录,代码略 29.将摄氏温度(C)和华氏温度(F) 互转。互转公式:C=(F-32)/1.8   F=C*1.8+32 action = input("输入转换方式")#输入cf表示摄氏转华氏,fc表示华氏转摄氏 data =① (input("输入温度值")) if action == 'cf':    f = data * 1.8 + 32    print(f) else:    c = (② )/1.8    print(③ ) 试卷第1页,共3页 试卷第1页,共3页 学科网(北京)股份有限公司 参考答案: 1.A 【详解】本题考查Python程序设计相关内容。给函数的参数设置默认值,这个参数就被称为默认参数;带有默认值的参数一定要位于参数列表的最后面的位置;调用函数时,因为默认参数在定义时已经被赋值,所以可以直接忽略;通过给参数设置默认值,可以让函数在某些情况下更加灵活和方便使用,如果调用函数时没有提供该参数的值,函数就会使用默认值,否则将使用传递给参数的值。 Python定义带有默认值参数的函数,其语法格式如下: def  函数名(...,形参名,形参名=默认值):     代码块 在使用此格式定义函数时,指定有默认值的形式参数必须在所有没默认值参数的最后,否则会产生语法错误。 四个选项中,A选项符合默认参数相关规定,选项正确。BD选项最后一个参数均没有默认值,选项错误;C选项第一个参数有默认值,第二个参数没有默认值,不符合默认参数相关规定。故本题答案是A选项。 2.B 【详解】本题考查Python基础。 本题程序的功能是实现a%b的结果,其算法是让a不断地减去b,直到a<b,此时a的值即为它们相除后的余数,因此正确答案为:选项B。 3.B 【详解】本题考查Python基础。 A选项输出的结果是字符串型18,C选项输出的结果是18.0,D选项输出的结果为字符串型18,B选项中,先将字符串'18'转换为整数18,然后输出,因此输出结果为整数18,故答案为B。 4.A 【详解】本题考查Python函数。concat()合并DataFrame对象;plot()绘制线形图;legend()显示图例;scatter()绘制散点图。故答案为:A。 5.A 【详解】本题考查Python基础。 things是列表,列表中单个元素的访问可以通过索引号来完成,索引号的编号有两种方式:从左到右递增,从0开始编号;从右到左递减,从-1开始编号。题目中输出橙子,从右到左递减,在列表的第二位,故索引为-2。故正确答案为:选项A。 6.A 【详解】本题考查程序设计。①取出后三位的中间数,故可以整除10后,去掉第三位。然后取余数10,得到中间数(整除后的最后一位)。②需要判断s能被7整除,排除选项B、D。且t为7,逻辑运算符为且,故排除C。故正确答案为选项A。 7.B 【详解】本题考查Python程序。程序遍历字符串s1和s2的每一对字符,并使用一个字典d来记录s1中的每个字符与s2中对应字符的映射关系。如果在遍历过程中发现s1中的某个字符已经有对应的字符但与当前s2中对应位置的字符不匹配,则映射关系无效,程序将flag置为False。如果整个遍历过程结束且flag仍为True,则说明s1和s2存在有效的一一字符映射关系。B选项中,字符映射关系: 大→落,名→落,鼎→大,鼎→方,其中鼎对应两个不同的字符,不满足一一映射关系。故答案为:B。 8.B 【详解】本题考查Python编程基础。分析程序段,其功能是在i<=40的条件下循环输出i的值,i的初始值是0,步长为8,即:0、8、16...,当i=48时,结束循环。故本题答案是B选项。 9.C 【详解】本题考查程序分析。i能被3整除,则累加i给m。i取余数为1,则累减i给n。运行结束后m=18,n=-12,则m-n为30。故选择C。 10.C 【详解】本题考查的是Python调试与运行。*表示乘,//表示整除。a=a*b=2*3=6,b=a//b=6//3=2,a=a//b=6//2=3。执行后整型变量a和b的值分别是:3 2,选C。 11.A 【详解】本题考查Python赋值语句。在Python中,语句a,b=3并不会将3同时赋值给变量a和b。这种语法是错误的,实际运行时会引发ValueError,因为左侧有两个变量,右侧只有一个值,无法解包。正确的做法是分别给每个变量赋值,例如a=3和b=3,或者用a,b=3,3。故答案为:A。 12.B 【详解】本题考查Python语句。在Python中,赋值操作不能出现在表达式内部,不能将赋值语句作为另一个赋值语句的一部分,因此x=(y=10)语句不合法。故答案为:B。 13.A 【详解】本题考查Python程序设计相关内容。分析程序可知,该程序将输入的字符串p中的数字变为9减去该数字后,再转换为字符,插入到字符串序列尾部;如为小写字母,则将其变为大写字母,并将其插入到字符串序列的前面;其余字符不连接到字符串中。p="Tel-114",则"Tel"转换为"LET";"-"不加入新字符串;"114"转换为"885",形成的新字符串c为"LET885",程序运行后,输出的结果是"LET885",故本题答案是A选项。 14.B 【详解】本题考查Python程序设计相关内容。本题是典型的数据查找比较程序,读取列表的每个元素,与剩余的所有元素做比较,查找有几个元素比该元素大,进而确定该元素位置。结合range函数特点,外层循环i执行n-1次(0~n-2)即可,外循环每执行一次,内层循环j均从0执行到i(小于i+1),元素逐一进行比较,若lst[j] >= lst[i]成立,表明lst[j]元素大些,其对应序号应加1,即 y[j] = y[j] + 1。所以①处答案为:n-1,②处答案为:i+1,③处答案为:lst[j] >= lst[i]。故本题答案是B选项。 15.C 【详解】本题考查Python表达式。Python中,乘运算符是“*”,除运算符是“/”,代数式a÷b+5c写成表达式是a/b+5*c,故选:C。 16.D 【详解】本题主要考查Python循环结构。range(4)生成0,1,2,3序列,故循环执行for语句下面的句块4次,选项D正确。 17.B 【详解】本题考查计算机解决问题相关内容。A选项,计算机不能直接识别并解决问题,选项错误。B选项,设计算法、编写程序和运行调试是一个不断反复的过程,选项正确。C选项,算法设计是一个不断反复修改完善的过程,选项错误。D选项,编译成功的程序不一定是可执行程序,选项错误。故本题答案是B选项。 18.if 【详解】本题考查Python分支结构的描述。在Python中,条件判断可以使用 if 语句来实现。if 语句用于根据条件的真假来执行不同的代码块。可以结合 elif 和 else 语句来处理多种情况。 19.2 【详解】本题考查程序设计。 该程序输出,统计列表中前面两个数相加等于第三个数的个数。第一次循环1+2等于3,c+=1。第二次循环1加3等于4,c+=1;第三次循环3+4不等于5。故正确答案为:2。 20.if  i ∗ 2+(56-i)∗ 4==160 【详解】本题考查Python程序设计相关内容。本题描述的是鸡兔同笼问题,假设鸡的数量为i,则兔的数量为56-i,两者需要满足i ∗ 2+(56-i)∗ 4==160,才符合题目要求,程序段缺少该条件的判断,故本题答案是:if i ∗ 2+(56-i)∗ 4==160。 21.a*b 【详解】本题考查的是Python表达式。*表示乘,实现将a与b的积赋值给c,即c =a*b。 22.369 【详解】本题考查的是Python循环语句。初始i=1,sum = a = 3,当输入n值为3时。 i<=3成立,res = res+sum=3, sum=sum*10+a=30+3=33,i=i+1=2; i<=3成立,res = res+sum=36, sum=sum*10+a=330+3=333,i=i+1=3; i<=3成立,res = res+sum=369, sum=sum*10+a=3330+3=3333,i=i+1=4; i<=3不成立,故输出res为369。 23.调试运行程序 【详解】本题考查计算机解决问题的一般过程相关内容。计算机解决问题的一般过程是:分析问题→设计算法→编写程序→调试运行程序。将程序输入到计算机进行检查、调试和运行,得到正确的结果。这一环节是调试运行程序,故本题答案是:调试运行程序。 24.错误 【详解】本题考查Python基础。 列表(list)由于是可变的(可以添加、删除或更改其中的元素),因此不能用作字典的键。故错误。 25.正确 【详解】本题考查Python基础。 在Python的os.path模块中,isdir()函数用于测试给定的路径是否为一个目录(文件夹)。如果路径确实指向一个目录,则返回True;如果不是,或者路径不存在,则返回False。故正确。 26.错误 【详解】本题考查计算机基础内容。“天河一号”是我国首台运算速度达到每秒2570万亿次的超级计算机。“天河一号”超级计算机由中国国防科技技术大学于2008年开始研制,并部署在位于天津的国家超级计算机中心。故本题答案是:错误。 27.正确 【详解】本题考查Python循环结构的描述。如果循环以“while 1:”开头,while的条件是1,非零即为真,在不加干预的情况下,程序会一直运行下去,陷入死循环。表述正确。 28. 2_3,6_7 d[j-1][0]>d[j][0]或其他等价答案 p!=-1androom[p][0]<num或其他等价答案 room[q][1]+=room[p][1]+1或其他等价答案 room[q][2]=1en(room)–1或其他等价答案 【详解】本题考查程序分析。 (1)某旅客退掉8号房间,则需要上下靠,故正确答案为:2_3,6_7。 (2)升序排序算法,if条件判断当d[j][0]<d[j-1][0]时,需要交换交换元素值,故正确答案为:d[j-1][0]>d[j][0]或其他等价答案 (3)①while循环判断进入链表查找退房的房号,应该合并到哪个房间区间,判断条件为是否到链表末尾,并且当前房号是否小于退房房号。故正确答案为:p!=-1 and room[p][0]<num或其他等价答案。②当后节点的房号正好等于退房房号加1,故需要前后靠,更新房间数量。故room[q][1]+=room[p][1]+1或其他等价答案。 ③当p不是头节点时候,更新q节点的下一个节点的索引(新追加房间总量减1),故room[q][2]=1en(room)–1或其他等价答案。 29. float data-32 c 【详解】本题考查的是Python的选择语句。①input接收的是字符数据,需要转换为浮点型,故此处应为:float。②华氏转摄氏公式:C=(F-32)/1.8 ,故此处应为:data-32。③转换后存储在c中,故此处应为:c。 答案第1页,共2页 答案第1页,共2页 学科网(北京)股份有限公司 $$

资源预览图

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