4.1程序设计语言的基础知识2023—2024学年高中信息技术粤教版(2019)必修1

2024-06-16
| 9页
| 98人阅读
| 0人下载

内容正文:

4.1程序设计语言的基础知识 2023—2024学年高中信息技术粤教版(2019)必修1 1.小曲使用Python 编写了一个计算某月天数的程序,她先将十二个月的天数存储到列表中,程序会根据用户输入的月份,输出该月份有多少天。程序第3行划线处应填写的代码是(   ) 1  m=int(input("请输入月份(1~12):")) 2  d=[31,28,31,30,31,30,31,31,30,31,30,31] 3   4  print(n) A.n=d[m] B.n=d[0] C.n=d[m+1] D.n=d[m-1] 2.有如下Python程序: stack A=[0]*6 stack B=[0]*6 top A=-1 top B=-1 d=[5,9,4,8,7,2] for i in range (len (d)):     while top A !=-1 and d[i] < stack A[top A]:         top B+=1         stack B [top B]=stack A[top A]         top A-=1 top A+=1; stack A [top A]=d[i] while top B !=-1:     top A+=1     stack A [top A]=stack B[top B]     top B-=1 程序执行过程中,变量topB的最大值为(   ) A.1 B.2 C.3 D.4 3.哥德巴赫猜想是近代三大数学难题之一,即任一大于2的偶数,都可表示成两个素数之和。采用Python验证100以内哥德巴赫猜想的正确性,则划线处的代码为:(    ) import math def isprime(num): i=2 while i<=int (math.sqrt(num)): if num % i==0: return False i+=1 return True n=6 while n<=100: for j in range(3,int (n/2)): if ____________________: print (n,'=',j, '+',n-j) n+=2 A.isprime(j) and isprime(n-j) B.isprime (j) and isprime(j+1) C.isprime(n) and isprime(j) D.isprime(j) and isprime(j-1) 4.有如下Python程序段: import random a=[0]*6 for i in range(1,6):    a[i]=random. randint(1,9)    if i%2==a[i]%2:       a[i]+=1    else:       a[i]+=a[i-1] 执行该程序段后,a的值不可能的是(   ) A.[0,4,5,7,12,10] B.[0,8,9,8,16,21] C.[0,8,5,10,19,4] D.[0,4,7,15,9,6] 5.已知列表p1=[1,2,3],p2=[3,2,1],p3=[1,2,3,″1″,″2″,″3″],则表达式p1==p2 and p1<=p3的值为(  ) A.0 B.1 C.True D.False 6.在Python语言中,以下不可以用作变量名的是(  ) A.2_password B.Area C.bmp1 D. _3text 7.有如下程序段: def bubbleSort (n):    if  n == 1:       return    for i in range (n - 1):       if arr [i]  > arr[i+1]:          arr[i],  arr[i+1] =arr [i+1], arr[i]    bubbleSort(n-1) from random import randint n=randint(3, 5) bubbleSort(n) 若数组arr的值为“64,34,25,12,22,11,90”,则调用函数bubbleSort(n)后 arr[3]的值不可能的是(   ) A.12 B.25 C.34 D.64 8.在Python程序设计语言中,表达式3+5*2-2**3%5的结果为(    ) A.10 B.5 C.3 D.0 9.在Python语言中,表达式“16-8∥3”的值为(   ) A.8 B.16 C.14 D.13 10.在Python语言中,用来定义函数的关键字是(  ) A.return B.def C.function D.define 11.阅读下列创建游戏窗口示例 import pygame pygame.init() screen=pygame.display.set_mode([600,400]) screen.fill((144,238,144)) img=pygame.image.load('ball.png') screen.blit(img,[200,200]) pygame.display.update() input("运行完毕,请按回车键退出...") 下列说法错误的是() A.窗口的大小为600x400 B.窗口中图“ball.png”的大小为200x200 C.窗口的填充色为RGB(144,238,144) D.以上都不对 12.用Python程序对分辨率为500*500的图像文件white.jpg(如图所示)进行处理,程序段如下: from  PIL  import  Image im = Image.open("white.jpg").convert("L")#打开图像文件,并将其转换为灰度图像 pix=im.load()#加载图像像素数据 width,height=im.size#获取图像宽度值和高度值 for x in range(width): for y in range(height): if x<= width//2 and y<= height//2: if x%50 == 0 or y%50 == 0: pix[x,y]=0 elif y > height//2: if x == y: pix[x,y]=0 im.show() 执行上述程序段后,显示的图像效果是(    ) A. B. C. D. 13.Python表达式round(3.1415,3)+abs(-3)+9//2 的值为(   ) A.10.142 B.10.642 C.10.141 D.10 14.以下Python语言程序中,说法正确的是(   ) A.r和s都是变量 B.只有s是变量 C.只有r 是变量 D.只有r是常量 15.若对变量r的值进行0和1之间的转换运算,下列选项中无法实现此功能的是(   ) A.r=1-r B.r=abs(r-1) C.r=(r+1)%2 D.r=r%2+1 16.编写Python程序,功能是提取字符串中二维列表结构的数据,例如字符串s="[[11,2],[2,31,2],[1]]",经过处理转化成列表[[11,2],[2,31,2],[1]]并输出,程序如下: s="[[11,2],[2,31,2],[1]]" res=[]; num=0 for i in s[1:-1]: if i=="[": tmp=[]; flag=True elif i=="]": flag=False tmp.append(num); res.append(tmp)    #① elif i==",": if : tmp.append(num) num=0 else: num=num*10+int(i) print(res) 关于上述代码,下列说法正确的是(    ) A.加框处代码可以替换为len(tmp)>0 B.将①处的两句代码对换,程序不受影响 C.若字符串s为"[[]]",则程序的输出不正确 D.若字符串s中存在空格,则程序运行依然正确 17.下列Python表达式中,能正确表示“变量x能够被4整除且不能被100整除”的是( ) A.(x%4==0) or (x%100!=0) B.(x%4==0) and (x%100!=0) C.(x/4==0) or (x/100!=0) D.(x/4==0) and (x/100!=0) 18.若用整型变量k表示某天是星期几(例如k=1表示该天是星期一、k=2表示该天是星期二……k=7表示该天是星期天),则下列能够正确表示k的下一天是星期几的python表达式为(   ) A.k+1 B.k % 7 + 1 C.(k+1) %7 D.(k+1)%7-1 19.Python中表达式a==b中“==”表示的意思是(  )。 A.交换“==”左右两边变量的值 B.判断“==”左右两边的值是否相等 C.把“==”右边变量的值赋值给左边变量 D.把“==”左边变量的值赋值给右边变量 20.下列表达式的值为FALSE 的是(   ) A.5>6==6 B.'abc'>'xyz' C.('3', '2') > ('a', 'b') D.(9-6) >1 试卷第1页,共3页 试卷第1页,共3页 学科网(北京)股份有限公司 参考答案: 1.D 【详解】本题主要考查Python程序的执行。Python中,列表的索引从0开始,因此程序第3行划线处应填写的代码是n=d[m-1],故本题选D选项。 2.D 【详解】本题考查栈数据结构及Python程序综合应用。 外循环一共执行6次, 具体执行过程如下: 第一个while循环中topB每循环一次会递增1,第二个while循环中topB每循环一次会递减1,因此第一个while循环结束后topB会出现最大值。由上表可知,程序执行过程中,变量topB的最大值为4。故选D。 3.A 【详解】本题主要考查Python程序的调试。isprime(num)用于判断num是否为素数,哥德巴赫猜想是近代三大数学难题之一,即任一大于2的偶数,都可表示成两个素数之和。划线处的代码需要判断j与n-j是否均为素数,若满足if判断条件则输出,故填isprime(j) and isprime(n-j) ,故本题选A选项。 4.B 【详解】本题主要考查Python程序的执行与调试。i取值1~5,循环5次,a[i]是随机生成1~9之间的整数,在if结构中,即i和生成a[i]具有同样的奇偶性时,则a[i]递增1,同时a[i]的奇偶性与i的奇偶性相反。在else结构中,即i和生成a[i]奇偶性相反,则执行a[i]=a[i]+a[i-1]。选项B中,由于a[i]是随机生成1~9之间的整数,a[5]=21,显然只能执行else部分得到,即21=16+5,即生成的a[5]=5,与i=5的奇偶性相同,矛盾,因此a的值不可能的是[0,8,9,8,16,21],故本题选B选项。 5.D 【详解】本题考查的是表达式的计算。本题主要考查的是列表操作。列表中的元素和位置有关,因此表达式p1==p2的值为False,列表p3中的元素包含列表p1中的元素,因此表达式p1<=p3的值为True,and运算时,只有两边同时为True时,结果才为True,其他情况均为False,故选项D正确。 6.A 【详解】本题考查的是Python变量名。Python程序设计语言规定变量名由字母(A~Z,a~z)、数字(0~9)、下划线组成,并且其第一个字符必须是字母或下划线,而不能是数字,如s1,k,num,pai等。选项A以数字开头,不可以用作python变量名。故本题应选A。 7.B 【详解】本题主要考查冒泡排序算法及Python程序实现。n=randint(3, 5),n可取3、4、5,当n=3时,排序后数组arr的值为“25,34,64,12,22,11,90”;当n=4时,排序后数组arr的值为“12,25,34,64,22,11,90”;当n=5时,排序后数组arr的值为“12,22,25,34,64,11,90”。显然调用函数bubbleSort(n)后 arr[3]的值不可能的是25,故本题选B选项。 8.A 【详解】本题主要考查Python表达式的运算。表达式3+5*2-2**3%5=3+10-8%5=13-3=10,故本题选A选项。 9.C 【详解】本题主要考查Python表达式的运算。16-8//3=16-2=14,故本题选C选项。 10.B 【详解】本题主要考查Python关键字。def是Python中用于定义函数的关键字。通过使用def关键字,可以定义一个函数,指定函数的名称、参数和函数体。故本题选B选项。 11.D 【详解】本题主要考查Python程序的执行与调试。分析程序可知,第3、4行代码分别表示窗口的大小为600x400,窗口的填充色为RGB(144,238,144);第6行代码表示窗口中图“ball.png”的大小为200x200,故本题选D选项。 12.D 【详解】本题考查的知识点是Python中循环语句和分支语句的相关知识。阅读程序段,分支部分的if语句部分是将四边形的四条边的中线作为坐标轴,主要是满足第二象限,Y>=0并且x<=0的画图,程序elif部分,主要是当y<0时满足y >height/2,且满足x=-y,所以在第四象限的y=-x线上,所以选项D符合题意。 故选答案为D选项。 13.A 【详解】本题考查的是Python表达式。round() 方法返回浮点数x的四舍五入值。abs()求绝对值,故round(3.1415,3)+abs(-3)+9//2=3.142+3+4=10.142,选项A正确。 14.A 【详解】本题考查Python变量的描述。Python中的变量,都指向一个值,值就是与该变量相关联的信息。变量就像一个房子,变量的值就像房子里面的东西。房子的名就是变量名,变量名被定义之后就不变了。当房子里面的东西变了,则就说明变量的值发生了变化。分析程序可知,r和s都是变量。故选A。 15.D 【详解】本题考查表达式。r = r % 2 + 1: 这不是有效的,因为对于 r 的取值范围0和1,无论 r 为何,它都不会有效地将 r 从 0 到 1 或从 1 到 0 进行转换。这将使 r 的值总是在 1 , 2 之间变化。故答案为D选项。 16.C 【详解】本题主要考查Python程序的执行与调试。如果加框处代码替换为len(tmp)>0,当遇到[11,2]与[2,31,2]之间的逗号时会出错,因此加框处代码不可以替换为len(tmp)>0;将①处的两句代码对换,程序将受影响;若字符串s为"[[]]",则程序的输出不正确,输出为[[0]];若字符串s中存在空格,则程序运行会出错,故本题选C选项。 17.B 【详解】本题主要考查Python表达式的运算。逻辑运算符“且”用and表示,“或”用or表示,变量x能够被4整除用x%4==0表示,不能被100整除用x%100!=0,故本题选B选项。 18.B 【详解】本题主要考查Python表达式的运算。一周7天,周期为7,故表示k的下一天是星期几的python表达式为k % 7 + 1,故本题选B选项。 19.B 【详解】本题主要考查Python表达式。Python中表达式a==b中“==”表示的意思是判断“==”左右两边的值是否相等,故本题选B选项。 20.ABC 【详解】本题主要考查Python逻辑判断式。5>6==6等价于5>6 and 6==6,其值为False;数字的ASCII码值小于小写字母的ASCII码值,因此'abc'>'xyz'、('3', '2') > ('a', 'b')值均为False;(9-6) >1等价于3>1,其值为True。故选ABC。 答案第1页,共2页 答案第1页,共2页 学科网(北京)股份有限公司 $$

资源预览图

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