2024-2025学年高中信息技术浙教版(2019)必修一 3.3 简单算法及其程序实现

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

内容正文:

3.3 简单算法及其程序实现 学校:___________姓名:___________班级:___________考号:___________ 一、选择题 1.在Python中,下列程序运行后得到的是(   ) sum=0    for x in range(2,100,2):        sum=sum+x    print(sum) A.2至100的和 B.2至99奇数的和 C.2至100偶数的和 D.2至98偶数的和 2.有下列Python程序段: a=[3,7,8,2,19,10,16,12] n=len(a) for i in range(2): k=i for j in range(i+1,n): if a[k]<a[j]: k=j if i!=k: a[i],a[k]=a[k],a[i] 下列说法不正确的是(    ) A.程序段执行后,列表a中的元素为[19,16,8,2,3,10,7,12] B.代码“for i in range(2):”等价于“for i in range(0,2):” C.程序段执行后,变量k的值为7 D.将代码“if i!=k:”修改为“if k>i:”,不会影响程序的运行结果 3.以下Python程序段执行后,输出结果为(   ) m=28 if m%3!=0:     print(m,"不能被3整除") else:     print(m,"能被3整除") A.m不能被3整除 B.m能被3整除 C.28能被3整除 D.28不能被3整除 4.在Python中,运行以下程序后,变量i的值是(    ) i=0 while i<=40: print(i) i=i+8 A.40 B.48 C.32 D.56 5.有下面一段程序,运行该程序后s的值为(    ) A.3 B.5 C.8 D.10 6.在Python中,以下代码的输出结果是(   ) x=0 for i in range(2,8,2):     x=x+i print(x) A.20 B.16 C.12 D.10 7.有如下Python程序段: s='qqqqjjjjjllllmmmm' ans='' n=len(s) c=1 for i in range(1,n):     if s[i]!=s[i-1]:         ans+=str(c)+s[i-1]         c=1     else:         c+=1 print(ans) 执行该程序段后,输出的结果是(   ) A.4q5j4l B.q4j5l4 C.4q5j4l4m D.q4j5l4m4 8.随着科技的不断进步,智能家居设备正逐渐成为我们日常生活的一部分,通过各种传感器、控制器和执行器,智能家居系统能够实现对家中设备的智能控制。通过手机、平板等设备,与互联网连接,可以随时随地控制家中的灯光、空调、电视、扫地机器人等,让生活更加便捷。安全系统不仅能监控家庭安全,还能通过面部识别技术识别访客,甚至在紧急情况下自动报警。集成的全屋语音控制系统将使得控制家中的各种智能设备变得前所未有地简单,从播放音乐到调节温度,一切尽在语言之间。假设室内合适的温度是16-24℃,用tmin~tmax表示,通过传感器获取的室内环境温度存放在变量t内,系统根据获取的温度,控制空调调节温度,用k来表示空调调温,k为1时表示上调温度,为-1时表示下调温度,为0表示温度合适,关闭空调。以下代码不能正常调控的是(    ) A. B. C. D. 9.运行下面Python程序,从键盘输入781,运行结果为(   ) x=lnt(input("请输入一个正整数:")) if x%2==0:     print(x,"是偶数") else:     print(x,"是奇数") A.是偶数 B.是奇数 C.781是偶数 D.781是奇数 10.以下程序段运行结果是(    ) s = 0 for i in range(11): if i % 2==0: s = s + ielse: s = s - iprint(s) A.55 B.-5 C.5 D.-55 11.某Python程序如下: s="24SXqz" e="" for ch in s:     if ch>="0" and ch<="9":         c+=str(9-int(ch))     elif ch>="a" and ch<="z":         c+=chr((ord(ch) -ord("a")+3) %26+ord("a") )     else:         c=ch+c print(c) 程序运行后,输出的结果是(   ) A.XS24tc B.75SXtc C.XS75tc D.24SXtc 12.某Python程序如下: from random import randint a=[0]*6 flag=True i=0 while i<=5:     x=randint(1,50)  #randint(a,b)用来随机生成[a,b]之间正整数     if flag or x>25:         a[i]=x         flag=not flag         i+=1 print(a) 执行该程序段后,在下列选项中,列表a中元素值不可能的是(   ) A.[8,39,30,39,37,45] B.[7,35,12,28,25,23] C.[18,44,46,34,1,40] D.[20,33,16,50,47,39] 13.有下列Python程序段: s="6p25y3t" sum=t=0 flag=True for ch in s: if"0"<=ch<="9": t=t*10+int(ch) else: if flag==True: sum+=t t=0 flag=not flag 执行该程序段后,变量sum的值为(    ) A.6 B.9 C.28 D.34 14.下面if语句统计满足“性别 (gender) 为男、职称(rank) 为副教授、年龄(age)小于40岁”条件的人数,正确的语句为(     )。 A.if(gender=="男" or age<40 and rank=="副教授"): n+=1 B.if(gender=="男" and age<40 and rank=="副教授"): n+=1 C.if(gender=="男" and age<40 or rank=="副教授"): n+=1 D.if(gender=="男" or age<40 or rank=="副教授"): n+=1 15.有如下Python 程序段 s="Li20An24K04ao";     i=0 while i<len(s): if"A"<=s[i]<="Z": s=s[:i]+s[i+1:] elif"0"<=s[i]<="9": s=s[:i]+str((int(s[i])+8)%10)+s[i+1:] else: s=s[:i]+chr((ord(s[i])-95)%26+97)+s[i+1:] i=i+1 执行上述程序后,s 的值为(      ) A.k08p0202co B.i08n0202cq C.i08p0202cq D.h28w22g82o 16.有如下Python程序段: import random s='Python2024'; ans=" k=random.choice([-1,1])    #随机生成-1或1 for ch in s:     key=random.randint(1,3)     if 'A'<=ch<='Z':         ans+=chr((ord(ch)+k*key-65)%26+65)     elif '0'<=ch<='9':         ans+= chr((ord(ch)+k*key-48)%10+48)     else:         ans+=ch print(ans) 执行该段程序后,输出的结果可能是(   ) A.Python2024 B.Qython3111 C.Oython3935 D.Sython5145 17.用python程序对数组元素进行分组,程序运行后b[2]的值为(   ) a=[6,4,2,8,5,3,9,17];b=[] for i in range(len(a)):     f=False     for j in range(len(b)):         if a[i]>b[j][-1]:#列表b是一个二维数组             b[j].append(a[i])#append函数在列表末尾添加一个元素             f=True             break  #跳出本层循环     if f==False:         b.append([a[i]])#新元素为一维数组 A.[2,3] B.[4,5] C.[6,8,9,17] D.[2,5,9] 18.有如下Python程序段: def js(s):     c=0     for i in range(len(s)):         if"0"<=s[i]<="9"             c+=1     return c s=input() c=js(s)    #调用函数 if c==len(s):     print("yes") else:     print("no") 执行该程序段后,输出结果为“yes”,则变量s的值是(   ) A.2024xxjs B.Actionism C.20240623 D.SHA-1 19.有如下 Python程序,实现求字符串中的最长连续上升子串的长度。例如:字符串“hellopython”中的最长连续上升子串是“lopy”,长度为 4。 s=input() n=len(s);c=1;max=1 for i in range(1,n):     if (1) :         c=c+1         if c>max:             max=c     else:          (2) print(max) 划线处可选代码为①c=1 ②c=0 ③s[i]<s[i+1] ④s[i]>s[i-1] 划线处正确的语句依次为(   ) A.③① B.③② C.④① D.④② 20.某算法的部分流程图如下图所示,执行这部分程序后,下列说法不正确的是(    ) A.m的值为9 B.n的值为17 C.循环条件n<=15?共判断4次 D.当第4次判断循环条件n<=15?时,m的值为9 试卷第1页,共3页 试卷第1页,共3页 学科网(北京)股份有限公司 参考答案: 1.D 【详解】本题考查的是Python循环语句。range(起始值,结束值,步长)注意:结束值不包含;步长可省略,默认为1。range(2,100,2)返回的是2至98偶数。故该程序运行后得到的是2至98偶数的和。选项D正确。 2.C 【详解】本题考查的是Python循环语句。本题是选择排序的变式,只比较两趟,最大的值放在最左边,故程序段执行后,列表a中的元素为[19,16,8,2,3,10,7,12],选项A说法正确;range(2),默认的起始值为0,故选项B说法正确;第二大数字是16,在列表的第6位,故程序段执行后,变量k的值为6,选项C说法错误;从左到右进行比较,如果找到比i位置大的数,则进行交换,故产生交换的条件也可以是k>i,选项D说法正确。 3.D 【详解】本题考查Python程序设计相关内容。m=28,执行m%3,结果为1,不等于0,输出:28不能被3整除。故选D。 4.B 【详解】本题考查Python编程基础。分析程序段,其功能是在i<=40的条件下循环输出i的值,i的初始值是0,步长为8,即:0、8、16...,当i=48时,结束循环。故本题答案是B选项。 5.B 【详解】本题主要考查Python程序的执行。当list[i]>0且i<=n时,s递增,i递增,否则退出循环。当list[5]=-9<0,退出循环。故s=0+1+1+1+1+1=5,故运行程序后s的值为5,故本题选B选项。 6.C 【详解】本题主要考查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)。range(2,8,2)生成2、4、6,循环结束后x=x+i=0+2+4+6=12,故本题选C选项。 7.A 【详解】本题考查的是Python循环与选择语句应用。阅读程序可知,统计s中连续出现的字符个数,并按:个数+字符的形式输出,由 if s[i]!=s[i-1]可知最后一个字符不输出。s='qqqqjjjjjllllmmmm',故输出的结果是4q5j4l。选A。 8.C 【详解】本题考查的是Python分支语句。选项C中,如果t>tmax会执行第一个if,还会进入第二个if进行判断,满足else分支,执行k=0,不符合题意。故本题应选C。 9.D 【详解】本题考查的是Python选择结构。从键盘输入781,即x=781, x%2=1,故执行 print(x,"是奇数."),输出:781是奇数。故选D。 10.C 【详解】本题考查的是Python循环及选择语句。range(11)是生成[0,1,2,3,4,5,6,7,8,9,10]的列表,结合if语句可知,当i为偶数用加,为奇数时则用减。故s=0-1+2-3+4-5+6-7+8-9+10=5。故本题应选C。 11.C 【详解】本题考查程序分析。程序功能是遍历字符串每个字符,如果是数字字符,执行9减去该字符,转换成字符向后累计拼接到变量c。如果是小写字母字符,则按照26个字母周期向后移动3位,向后累计拼接到变量c。如果是大写字母字符,则向前累计拼接到变量c。故选项C为正确答案。 12.B 【详解】本题考查程序分析能力。根据程序分析可知代码随机生成大于25的正整数,要存放到列表a中。每次if语句判断可知,flag和x>25满足一个可以存放到a中。故可判断出当flag为假时,x>25为真,那么存放到a中的值必然大于25。可知flag值真假交替出现,所以B选项中的23不可能出现在第6项,这一项的值必然大于25,故正确答案为选项B。 13.B 【详解】本题考查的是Python综合应用。阅读程序可知,逐个读取字符串中的字符,如果是数字则转换为数值类型;如果是字符,则清空t,标志位flag取反;如果是字符且标志位flag为真,则将数字累加到sum。s="6p25y3t",读取到第一个数字是6,flag为真,将数字累加到sum=6;读取到第一非数字p,标志位flag取反后为假,读取到第二个数25,由于flag为假,不将数字累加到sum;读取到第二个非数字y,标志位flag取反后为真;读取到第三个数字是3,flag为真,将数字累加到sum=6+3=9。故本题应选B。 14.B 【详解】本题主要考查if条件分支。题目中的条件都是与的关系,所以要用and连接,故本题选B选项。 15.B 【详解】本题考查的是Python循环及多分支语句应用。由if语句可知,如果是大写字母,直接删除;由elif语句可知,如果是数字,0~9构成环,后移8位;由else语句可知,如果是小写字母,a~z构成环,后移2位。需要注意的是删除大写字母时,由于字符串s字符变少,会跳过大写字母后一个字符的处理。初始s="Li20An24K04ao",依据上述原则,处理后s="i08n0202cp",故选B。 16.D 【详解】本题考查的是Python随机函数及循环语句。程序的功能是将大写字母统一前移或后移key(1~3)位,数字统一前移或后移key(1~3)位。选项A,大写字母没有移位,不可能;选项B,字符"20"变为"31"是前移,字符"4"变为"1"是后移,不可能一下前移一下后移;选项C,字符"P"变"O"是后移,但字符"2024"后移1~3位不可能是"3935";选项D,字符"P"变"S"是后移3位,字符"2024",分别后移3、1、2、1位变成"5145",符合程序功能。故选D。 17.A 【详解】本题考查数组的应用,b最终为二维数组,每个元素即为一个严格递增(可以不连续)的集合,最终结果,b[0]=[6,8,9,17],b[1]=[4,5],b[2]=[2,3]。故选择A。 18.C 【详解】本题考查的是自定义函数。自定义函数js是统计字符串s中的数字个数,如果数字个数与字符串的长度相等(即全为数字),则输出“yes”,结合选项可知,只有C选项符合。故选C。 19.C 【详解】本题考查的是Python循环和选择语句应用。由 range(1,n),可知依次比较i处与i-1处的字符,若大于则c递增,如果c大于max,则更新max的值,如果i处字符不小于i-1处的字符,则c初始化为1,继续新一轮的查找,故(1)、(2)、处语句依次为 s[i]>s[i-1]、c=1,故本题选C选项。 20.C 【详解】本题考查流程图分析。A选项正确,根据流程图分析,当循环结束后m值为9。B选项正确,当m=9时候,n的值为17。D选项正确,第四次循环执行时m=m+2,故m的值为9。C选项错误,循环条件判断了5次,第五次判断没有满足条件,退出循环,故正确答案C选项。 答案第1页,共2页 答案第1页,共2页 学科网(北京)股份有限公司 $$

资源预览图

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