2023-2024学年高中信息技术浙教版(2019)必修一 第三章 算法的程序实现

2024-07-11
| 10页
| 33人阅读
| 0人下载

内容正文:

第三章 算法的程序实现 学校:___________姓名:___________班级:___________考号:___________ 一、选择题 1.已知列表list1=[10,66,27,33,23],则python表达式max(list1)的值为(   ) A.10 B.66 C.5 D.23 2.有如下 Python 程序段: a=abs(-13.25) b=round(25.335655,2) c=(b-a)*100 Print(c) 则执行程序输出的结果为(    ) A.1209.0 B.1859.0 C.1209.6 D.-1209.6 3.有千位和百位未知的5位整数“9**65”,能被37或67整除。以下Python程序段的功能是:在满足条件的所有数中,将最大的一个5位数显示出来。 i=100 while i>0: print(j) 方框中的代码由以下代码中的三部分组成 ①i-=1  ②i+=1  ③j=90065+i*100  ④if(j%37)*(j%67)==0:break  ⑤ifj%37!=0orj%67!=0:continue下列选项中,代码顺序正确的是(    ) A.④③① B.②③④ C.①③④ D.①③⑤ 4.变量K表示某天是星期几(k=1,表示星期一),下列python表达式中能表示K的下一天的是( ) A.K+1 B.K%7+1 C.(K+1)%7 D.(K+1)%7-1 5.以下程序导入python的math模块,使用math模块下的函数对输入的实数进行向下取整,具体代码如下: ① n = input("请输入一个实数:") ② print(n3) 请完善该代码,上述划线处可选的语句为:(   ) A.① import math ;② n3=math.floor(float(n)) ; B.① import math;② n3=floor(float(n)) ; C.① import math ;② n3=math.sqrt(float(n)) ; D.① from math import ceil ;② n3=ceil(float(n)) ; 6.在Python中,以下表达式不正确的是(  ) A.b='******'+'@@*' B.c='*'**3 C.d=3*'**' D.a='#*6' 7.在Python语言中,下列赋值语句中正确的是(   ) A.i+1=b B.i=i*3 C.i-2=b+6 D.i*2=b//4 8.下列Python程序段的运行结果是(         ) i=0 sum=0 while i<10:         if  i%2==0:                sum+=i         i+=1 print(‘sum=’,sum) A.sum=18 B.sum=20 C.sum=22 D.sum=30 9.Pygame的图像函数不支持图层存储下列哪种格式(   ) A..BMP B..GIF C..PNG D..JPG 10.有如下 Python 程序段,输出的结果不可能是(   ) import random import math a=random.randint(0,10) if (math.sqrt(a))**2==a:     a=a+1 print(a) A.2 B.3 C.4 D.5 11.在pygame窗口中,图片的坐标点位于图片的哪个位置(  ) A.图片的左上角 B.图片的右上角 C.图片的中心点 D.图片的左下角 12.有如下 Python 程序段,函数f的功能是删除非降序序列中的重复数: def f(lst):     k=i=0     while (1)         if lst[i] < lst[i+1]:             k+=1             (2)         i+=1     return lst[:k+1] s=[3,6,6,6,8,8,8,9,9] s=f(s) print(s) 该程序输出的结果为[3,6,8,9],划线处可选代码为:①i<len(lst) ②i<len(lst)-1 ③lst[k]=lst[i] ④lst[k]=lst[i+1] 则(1)(2)处代码依次为(   ) A.①③ B.①④ C.②③ D.②④ 13.现有一段代码如下,现输入“260”和“-123”,运行后输出结果分别是(    ) x=input("请输入数据") if  x[0] =="-":         fz=-int(x[:0:-1]) else:         fz=int(x[: :-1]) print(fz) A.062   -32 B.062   -321 C.62   -32 D.62   -321 14.有如下Python程序段: 执行该程序段后,在下列选项中列表a中各元素值可能的是(  ) A.[8,0,0,3,1,6] B.[0,0,5,8,1,3] C.[1,4,0,0,6,7] D.[8,0,0,8,1,9] 15.函数int(10.6)的返回值是(   ) A.10 B.10.6 C.11 D."10" 16.有如下两段python程序 若数组a的元素为[34,33,25,46,17,77],则下列说法不正确的是(   ) A.两段程序的比较次数一样 B.两段程序的交换次数一样 C.两段程序的输出结果一样 D.两段程序都能实现数组a降序排序 17.Python中字典dict={"米饭":116,"苹果":53,"牛奶":54,"巧克力":589}存储的是不同食物的热量,程序中若要将其中牛奶的热量值改为60,可用的语句为(   ) A.dict{"牛奶"}=60 B.dict["牛奶"]=60 C.dict[2]=60 D.dict={"牛奶":60} 18.[0,1]+[1,2]的值是(    ) A.[0,1,1,2] B.[1,3] C.0,1,1,2 D.1,3 19.某算法的VB程序段如下: key=randint(0,3)*2+13 i,j,c=0,len(a)–1,0 while i<=j: m=(i+j+1)//2 if a[m]>=key: i=m+1 else: j=m-1 c+=1 列表a=[23,21,19,18,16,15,14,11],该程序段执行后,下列说法不正确的是(   ) A.i的值为j+1 B.i的值可能是8 C.j的值可能是5 D.c的值一定是3 20.在Python中,如下的代码输出结果是(   ) x=0 for i in range(10):        x=x+i print(x) A.55 B.45 C.10 D.0 试卷第1页,共3页 试卷第1页,共3页 学科网(北京)股份有限公司 参考答案: 1.B 【详解】本题主要考查Python表达式的运算。max返回序列最大值,列表list1=[10,66,27,33,23],则python表达式max(list1)的值为66,故本题选B选项。 2.A 【详解】本题主要考查Python程序的执行。a=abs(-13.25)=13.25,b=round(25.335655,2)=25.34,c=(b-a)*100=12.09*100=1209.0,故本题选A选项。 3.C 【详解】本题考查Python程序设计相关内容。由题意可知,要找出满足条件的最大数,则应从“9**65”可以构成的最大数开始进行判断,若不符合要求,再递减1去判断。“9**65”最大数为99965,分析程序,i初值为100,若要参与相关运算,则i值应从99开始,故方框中的第一条代码应该是:i-=1。将“9**65”与i结合起来构成5位数的方法是:90065+i*100,有了明确的五位数,才能去执行判断操作,故方框中的第二条代码应该是:j=90065+i*100。由99965起判断其是否符合题意,需要进行判断,判断条件为:if(j%37)*(j%67)==0,满足该条件说明已经找到最大数,应结束循环,故方框中的第三条代码应该是:if(j%37)*(j%67)==0:break。对照代码序号及选项,本题答案是C选项。 4.B 【详解】本题主要考查Python表达式。一周7天,即周期是7,变量K表示某天是星期几(k=1,表示星期一),可用表达式K%7表示,则表示K的下一天表达式是K%7+1,故本题选B选项。 5.A 【详解】本题主要考查Python模块导入。导入python的math模块,使用import关键字,第一空填 import math,floor() 返回数字的下舍整数,input接收的数据类型是str类型,需要将其转换为浮点型,故第二空填n3=math.floor(float(n)) ,选A选项。 6.B 【详解】本题考查Python运算符与表达式相关内容。Python中,字符串可以和数字进行乘运算,字符串可以和字符串进行加法运算,字符串不可以和数字进行幂运算。A选项,两个字符串相加,结果为:'******@@*',选项正确。B选项,字符串'*'和数字3进行幂运算,选项错误。C选项,数字3和字符串'**'相乘,结果为:'******',选项正确。D选项,将字符串'#*6'赋值给a,选项正确。故本题答案是B选项。 7.B 【详解】本题主要考查Python赋值语句。Python中,赋值语句是将等号右边的表达式赋值给等号左边的变量,如i=i*3,故本题选B选项。 8.B 【详解】本题考查Python语句。根据while可知,当if  i%2==0成立时,sum+=i,i=2,4,6,8时,If条件成立,故sum=2+4+6+8=20,又根据print(‘sum=’,sum),则最后运行结果是sum=20,故本题选B。 9.B 【详解】本题考查Python基础。 Pygame是一个用于创建视频游戏的Python库,它提供了丰富的功能来加载、处理和显示图像。然而,在图层存储方面,Pygame的图像函数对GIF格式的支持是有限的,尤其是当GIF图像包含多个图层或动画时。故正确答案为:选项B。 10.C 【详解】本题主要考查Python程序的调试与执行。randint(0,10)生成随机数为0,1, 2,3,,4,5,6,7,8,9,10。因为精确度的问题,开方后平方又能和自己相等的数只能是0,1,4,9。加1后再输出,那么输出的数可能是1,2,5,10,排除AD选项。当a是3时if条件不满足直接输出3,排除B选项。当随机生成4时因为if条件满足,只能输出5,所以C选项不可能输出,故本题选C选项。 11.A 【详解】本题考查Python基础。 在pygame窗口中,图片的坐标点(通常指的是图片被绘制到窗口时所使用的坐标)默认位于图片的左上角。这是大多数图形库(包括pygame)在处理图像时的标准约定。故正确答案为:选项A。 12.D 【详解】本题考查Python程序设计相关内容。i作为循环变量,其取值范围与列表长度有关,因为比较的是索引i与i+1的值,因此i的取值范围是0<=i<=len(lst)-2,1<=i+1<=len(lst)-1,所以(1)处应填写:i<len(lst)-1;若lst[i] < lst[i+1]成立,表明当前序列为升序,k值加1,k存储当前升序序列最后一个元素索引号,且将lst[i+1]放在该处,即lst[k]=lst[i+1],所以(2)处应填写:lst[k]=lst[i+1],故本题答案是D选项。 13.D 【详解】本题主要考查Python字符串切片操作。切片操作基本表达式:object[start_index:end_index:step],step:正负数均可,其绝对值大小决定了切取数据时的“步长”,而正负号决定了“切取方向”,正表示“从左往右”取值,负表示“从右往左”取值。start_index:表示起始索引(包含该索引对应值),该参数省略时,表示从对象“端点”开始取值。end_index:表示终止索引(不包含该索引对应值),该参数省略时,表示一直取到数据“端点”。故当输入260时,执行else部分,输出62,输入-123时执行if部分,输出-321,故本题选D选项。 14.D 【详解】本题主要考查Python程序的执行与调试。random.randint(a,b)用于生成一个指定范围内的整数。其中参数a是下限,参数b是上限,生成的随机数n: a <= n <= b。根据语句k%5==0,后执行的语句是i=i﹣1,即重新本次循环,k的值不可能为5或者10,即对应的a中元素不可能有5或者10,排除选项B。如果满足k%3==0,即k是3、6、9,则执行a[n-1]=k,n递减1,i递增1 ,即a中的元素3、6、9一定在列表的右边,排除选项A、C,故本题选D选项。 15.A 【详解】本题考查Python基础。浮点数给int函数会将数字舍去小数部分,向下取整。故选择A。 16.C 【详解】本题主要考查Python程序的执行与调试。分析程序可知,两个程序分别从前往后比较和从后往前比较,因此比较次数和交换次数相等,两段程序都能实现数组a降序排序,但第一个程序内层循环每次会将最小值放到最右边,第二个程序内层循环每次循环会将右边的最大值放到左边,因此最终的输出结果不相等。第一个程序的输出结果是“34,46,77,33,25,”;第二个程序输出结果是“77,46,34,33,25,”,故本题选C选项。 17.B 【详解】本题主要考查Python字典的操作。字典是一种通过名字或者关键字引用的得数据结构,通过字典中的【键】来访问字典中的值,访问的格式如下:字典名[键]。若要将其中牛奶的热量值改为60,可用的语句为dict["牛奶"]=60,故本题选B选项。 18.A 【详解】本题考查Python列表相关内容。在Python中,列表(List)是一种有序、可变的数据类型,被广泛用于存储和处理多个元素。列表是一种容器,可以包含任意数据类型的元素,包括数字、字符串、列表、字典等。列表定义使用中括号[],元素之间用逗号分隔。[0,1]+[1,2]中的运算符“+”表示将两个列表合并成一个列表,即:[0,1,1,2],故本题答案是A选项。 19.B 【详解】本题主要考查二分查找及Python程序实现。key=randint(0,3)*2+13,可知key依次取的值是0、15、17、19,第一次查找,m=4,a(4)=16,如果向右查找,则i=m+1=5,进行第二次查找m=6,a(6)=14,若key=0,则i=7,此时进行第三次查找,m=8,a(8)=11,11仍然大于0,更新i=m+1=9,故i的值不可能是8,故本题选B选项。 20.B 【详解】本题主要考查Python程序的执行。range(start, stop, [step]),start: 计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0, 5);stop: 计数到 stop 结束,但不包括 stop。例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5;step:步长,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1)。故循环结束后,x=x+i=0+1+2+3+4+5+6+7+8+9=45,故本题选B选项。 答案第1页,共2页 答案第1页,共2页 学科网(北京)股份有限公司 $$

资源预览图

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