第三章 算法的程序实现(单元检测)信息技术浙教版2019必修1

2025-11-24
| 4份
| 19页
| 373人阅读
| 7人下载

资源信息

学段 高中
学科 信息技术
教材版本 高中信息技术浙教版必修1 数据与计算
年级 高一
章节 第三章 算法的程序实现
类型 作业-单元卷
知识点 -
使用场景 同步教学-单元练习
学年 2025-2026
地区(省份) 浙江省
地区(市) -
地区(区县) -
文件格式 ZIP
文件大小 1.13 MB
发布时间 2025-11-24
更新时间 2025-10-16
作者 wuhao1987
品牌系列 上好课·上好课
审核时间 2025-10-16
下载链接 https://m.zxxk.com/soft/54394352.html
价格 5.00储值(1储值=1元)
来源 学科网

内容正文:

2025-2026学年高一信息技术必修1单元检测卷 第三单元·通关检测 建议用时:45分钟,满分:50分 一、选择题(本大题共12小题,每小题2分,共24分。每小题列出的四个备选项中只有一个是符合题目要求的,不选、多选、错选均不得分) 1.智能家居系统中,要实现根据室内温度自动调节空调温度的功能,编写具体的程序代码是在(   )步骤。 A.抽象与建模 B.算法设计 C.代码实现 D.结果验证 【答案】C 【详解】本题考查的是对计算机编程解决问题各个步骤的理解,C选项正确,在智能家居系统中,实现根据室内温度自动调节空调温度的功能,具体的程序代码编写是在代码实现步骤。A选项抽象与建模主要是对问题进行分析和抽象,建立问题的模型,确定系统的结构和功能等,不涉及具体代码编写。B选项算法设计是设计实现功能的算法流程,但不是具体的代码实现。D选项结果验证是在代码编写完成后对系统功能进行验证,确保其正确性和有效性。而代码实现步骤则是将设计好的算法和模型转化为具体的程序代码,以实现所需的功能。故正确答案为C。 2.以下能用 Python程序编辑的文件是(   ) A.max.pg B.max.py C.max.Python D.max.ppt 【答案】B 【详解】本题考查Python 文件扩展名。A 选项错误,.pg 不是 Python 程序文件的扩展名,不能用 Python 程序编辑。B 选项正确,.py 是 Python 程序文件的标准扩展名,可用 Python 程序编辑。C 选项错误,.Python 不是 Python 程序文件的标准扩展名,通常不用此扩展名。D 选项错误,.ppt 是 PowerPoint 演示文稿文件的扩展名,与 Python 程序无关。因此,本题选择 B 选项。 3.以下是Python图形用户界面编程时所编写的一个按钮的激发函数,程序运行结果如图所示,在文本框a中输入20,在文本框b中输入13,单击计算按钮后,文本框c中显示的内容是(   ) def intomap( ): a= int(varl.get( )) b= int(var2.get( )) c=a+b var3.set(c) A.2013 B."33" C."2013" D.33 【答案】D 【详解】本题考查函数。函数intomap( )里,var1.get()和var2.get()分别获取文本框a、b的内容,经intomap( )转换为整数20和13;接着计算c=a+b,得到结果33;再通过var3.set(c)将结果设置到文本框c,文本框会显示该整数结果。“2013”是字符串拼接(非加法),带引号的是字符串形式(此处为整数运算,结果应为数值33的显示)。因此,本题选择D。 4.print([1,2]*2)的结果为(   ) A.[2,4] B.[1,2,1,2] C.错误 D.[1,2][1,2] 【答案】B 【详解】本题考查Python列表的乘法运算。列表乘以整数是重复拼接,[1,2]*2的结果是[1,2,1,2]。因此,本题选择B选项。 5.用两个整型变量num1和num2分别表示学生甲、乙的性别(1为“男”,0为“女”)。下列表达式中能正确判断甲、乙两位学生性别相同的是(   ) A.num1+num2==1 B.num1-num2==0 C.num1 !=num2 D.1-num1==num2 【答案】B 【详解】本题考查的是python表达式。选项 A:num1 + num2 == 1,只有当一个为 1(男)、一个为 0(女)时才成立,这是性别不同的情况,不符合“性别相同”。选项 B:num1 - num2 == 0,意味着num1和num2相等,也就是两人性别相同(都为 1 或都为 0),符合要求。选项 C:num1 != num2,表示两人性别不同,不符合。选项 D:1 - num1 == num2,当num1为 1(男)时,num2为 0(女);当num1为 0(女)时,num2为 1(男),是性别不同的情况,不符合。故本题应选B。 6.有Python代码如下: c=[2,3,1,5,4,0] sum = c[c[1]]+c[c[2]]+c[c[-2]] print(sum) 该代码的输出结果是(   ) A.8 B.10 C.12 D.14 【答案】C 【详解】本题考查Python程序设计相关内容。列表元素的值再次作为索引,引用对应的元素,c[c[1]]表达式中,c[1]=3所以实际访问c[3]=5,故c[c[1]]=5,同理,c[c[2]]=3,c[c[-2]]=4,则sum =12。故本题答案是C选项。 7.X=3;Y=4;Z=5;执行X,Z,Y=Z,Y,X后print(X,Y,Z)的结果(   ) A.3  4  5 B.4  3  5 C.5  3  4 D.错误 【答案】C 【详解】本题考查Python中的多元赋值。在Python中,执行多元赋值时,会先计算等号右侧所有表达式的值,然后一次性赋给左侧的变量。初始值为X=3, Y=4, Z=5。执行X, Z, Y = Z, Y, X时,右侧先计算得到元组(5, 4, 3)。然后依次赋值:X=5,Z=4,Y=3。因此执行print(X, Y, Z)后输出为5 3 4。因此该题答案为C。 8.用计算机解决“找出100以内(不含100)所有能同时被3和5整除的正整数,统计其个数”的问题,以下关于解决过程的阶段描述及顺序,正确的是(   ) ①描述算法:如下图所示 ②抽象与建模:明确目标是找100以内同时能被3和5整除的数的个数,梳理“整除”的数学判定方法 ③设计算法:确定“从5遍历到99,步长为5,对每个数判断是否满足‘能被3整除’,满足则计数”的步骤逻辑 A.①②③ B.②①③ C.③②① D.②③① 【答案】D 【详解】本题考查的是计算机解决问题的一般过程。用计算机解决问题,首先要进行抽象与建模(②),明确问题目标和相关数学判定方法;接着设计算法(③),确定具体的步骤逻辑;最后描述算法(①),用流程图等方式呈现。所以顺序是②③①,选 D。 9.运行下列代码,输出结果是(   ) while 4 == 4:     print(4,end="  ") A.4 B.44 C.4444 D.无限次输出4,直到程序关闭 【答案】D 【详解】本题考查while语句的运行。条件表达式“4==4”结果是真,循环条件始终成立,程序将永远执行下去,称为“无限循环”。故选D。 10.导入math模块后,执行math.pow(2,5)语句的结果是(   ) A.5.0 B.10.0 C.25.0 D.32.0 【答案】D 【详解】本题考查的是Python基础。math. pow(2,5)相当于求2**5,故选D。 11.以下程序实现与计算机玩“石头剪刀布”的游戏(分别用0,1,2代表石头、剪刀、布),游戏规则为:石头赢剪刀、剪刀赢布、布赢石头。代码如下: import random pc= random.randint(0,2) player= int(input("请输入石头(0)、剪刀(1)、布(2):")) if (1) : print("你赢了,恭喜!") elif player == pc: print("平手") else: print("你输了,再接再厉!") 解决该问题,上述程序(1)处填入语句正确的是(   ) A.pc > player B.pc < player C.pc-player == 1 and player-pc == 2 D.pc-player == 1 or player-pc == 2 【答案】D 【详解】本题考查多分支选择结构。通过分析所有胜负组合可以发现,玩家获胜的条件是pc-player==1(如电脑剪刀1对玩家石头0,电脑布2对玩家剪刀1)或player-pc==2(玩家布2对电脑石头0),这两种情况恰好覆盖了所有玩家获胜的场景。因此,本题选择D选项。 12.以下Python程序是统计字符串s1中存在子串s2的个数。例如:字符串s1的值为“abcabcb”,字符串s2的值为“abc”,程序运行结果为“2”。 s1="abcabcb" ;s2="abc" n1=len(s1) ;n2=len(s2) i,num=0,0    #变量 i 和 num 初值赋为 0 while i<n1:     if ① :         num=num+1          ②     i=i+1 print(num) 要正确实现程序功能,划线处填写的代码为(   ) A. ①s1[i:i+n2]==s2 ② i=i+n2-1 B.①s1[i:n2]==s2 ② i=i+n2 C.①s1[i:i+n2]==s2 ② i=i+n2 D.①s1[i:n2]==s2 ② i=i+n2-1 【答案】A 【详解】本题考查字符串处理相关内容。分析题目内容,推知:①处,要判断从字符串s1的第i个位置开始,长度为len(s2)(即n2)的子串是否等于s2,所以应该是s1[i:i+n2] == s2。对于②处,当找到一个匹配的子串后,为了继续查找下一个可能的匹配位置,应该将i增加n2(子串的长度),这样可以避免重复检查已经匹配过的部分,即i=i+n2,由于while循环末尾有i=i+1,如果我们匹配成功,应该让i直接跳到i+n2-1,这样加上末尾的i=i+1后,i就会变成i+n2,从匹配结束的下一个字符继续检查。故本题答案是A选项。 二、非选择题(本大题共3小题,其中第13小题8分,第14小题9分,第15小题9分,共26分) 13.某文档“压缩前.txt”中保存了大量的小写字母和数字,如图a所示。小明发现文档中有很多字母或数字是连续的,要设计一个算法将字符串中连续的字母或数字进行压缩,如连续字符“abcd”可压缩为“a—d”,不连续的字符维持原状,例如,字符串“abcd255hj”可压缩为“a—e—255h—j”,并将压缩后的结果输出保存到文件“压缩后.txt”中,如图b所示。 该算法的部分Python代码如下: def writedata(data):     #将数据 data输入到“压缩后.txt”中,代码略 fp = open("压缩前.txt") lines = fp.readlines() fp.close() for line in lines:     flag = False     ans = ""     ①     for i in range(n-1):         if:  ans = ans + line[i] + "-"             flag = True         elif ord(line[i+1]) == ord(line[i])+1:             ans+= line[i]             ②     ans+= line[i+1]     ③ (1)按上述算法,将字符串“efg1234345hijk”进行压缩,压缩后的字符串为 。 (2)请在划线处①②③填入合适的代码。 、 、 (3)程序中加框处代码有误,请改正。 【答案】(1)e-gl-43-5h-k;(2)n=len(line)、flag=False、writedata(ans); (3)ord(line[i+1])==ord(line[i])+1 and flag==False 【详解】本题考查python程序设计。 (1)根据题干中描述的压缩规则,可知结果为e-gl-43-5h-k。(2)①遍历lines中的每一行,由for循环的遍历范围可知,该处是对n进行赋值,所以①处应填入的代码为n=len(line)。(2)若字符串中的字符不连续,就将字符本身拼接到ans中,并将flag设置为False,表示连续字符出现中断,所以②处填入的代码为flag=False。③将每次处理后的结果ans存储到压缩后.txt文件中,调用writedata,所以③处填入的代码为writedata(ans)。(3)flag初始值为False,一旦出现了连续的字符,将其值设置为True,由于要将连续字符的中间字符省略,所以加框处不仅要满足字符连续,还要满足flag为False,即重新出现连续的字符,所以该处的代码需要修改为ord(line[i+1])==ord(line[i])+1 and flag==False。 14.用Python编写“求句子中最长单词”的程序。从键盘上输入英语句子,句子以“.”结束,单词之间用空格分隔,单词没有缩写形式和其他特殊形式。输出最长的单词及该单词的长度(字符个数)。实现上述功能的代码如下,程序运行界面如图所示: 请输入英语句子:I like reading and listening to music. listening 9 s = input("请输入英语句子:") k = 0 m = 0 for i in range(① ): if "A"<=s[i]<="Z" or "a"<=s[i]<="z": ② else: if m < k: m = k ans = ③ k=0 print(ans) print(m) 请回答下列问题: (1)若输入的英文句子为" How do you like your new job?",则输出的单词为 。 (2)请在程序划线处填入正确的代码。       【答案】(1)like;(2)①len(s)、②k+=1、③s[i-k:i]或s[i-m:i] 【详解】本题考查Python程序设计相关内容。(1)由代码可知,查找最长单词,若有多个最长单词,以第一个单词为准。故本题答案是:like。(2)k用于统计单词的字母数量。ans用于存储最长单词,m用于记录最长单词的字母数量。①处,程序段需要遍历输入句子的每一个字符,所以range的参数应该是句子的长度len(s),故此处答案是:len(s)。②处,当字符是字母时,说明正在统计一个单词的长度,单词长度k应加1,故此处答案是:k+=1。③处,若检测到当前位置i不是英文字母时,进入else分支更新m的值,与此同时,截取最长单词并保存到ans中,因此可以使用切片来截取该单词,i的位置往前推m个位置,且不包含i位置,故此处答案是:s[i-k:i]或s[i-m:i]]。 15.压缩技术是计算机领域中一个非常重要的技术,能够减小数据中的冗余,提高存储效率。现在有一种很简单的字符串压缩方法,就是按顺序将字符串中连续的重复字符用数字(1位)来表示,例如'AAAABAAA'经过压缩之后变为'A5B1A3'。现在要模拟解压缩的过程,编写一段Python代码,将压缩之后的字符串恢复为原来的字符串,同时规定输入的压缩之后的字符串长度为4,解压后连续的字符个数少于10,如'A4C2',部分代码如下: s = input()    #输入一个长度为4的压缩之后的字符串 list_char=s[∶∶2]     #取出每个字符 list_num =①       #取出每个字符对应的重复次数 answer = ② print(answer) (1)若压缩之后的字符串为H3G2,则原字符串为 。 (2)请将代码填写完整: ① 、② 【答案(1)'HHHGG';(2)①s[1: : 2]或s[1]+s[3]及其他等价答案、②list_char[0]* int(list_num[0])+ list_char[1]* int(list_num[1])或s[0]* int(s[1])+s[2]* int(s[3])及其他等价答案 【详解】本题主要考查Python简单字符串处理,及字符串切片。 (1)对于压缩串H3G2,H对应重复次数3 ,G对应重复次数2,所以原字符串是HHHGG 。 (2)①list_num = s[1::2] 或s[1]+s[3]及其他等价答案:因为压缩串长度为 4,字符在偶数索引(0、2),次数在奇数索引(1、3 ),用切片[1::2]取次数字符。 ②list_char[0]* int(list_num[0])+ list_char[1]* int(list_num[1])或s[0]* int(s[1])+s[2]* int(s[3])及其他等价答案:要拼接回原字符串,需按“字符 * 次数”规则组合。结合题目提示的等价写法,可直接通过索引取字符和次数拼接。或更直接用原始输入 s 的索引。 原创精品资源学科网独家享有版权,侵权必究!1 1 / 9 学科网(北京)股份有限公司 学科网(北京)股份有限公司 $ 2025-2026学年高一信息技术必修1单元检测卷 第三单元·通关检测(参考答案) 一、选择题(本大题共12小题,每小题2分,共24分。每小题列出的四个备选项中只有一个是符合题目要求的,不选、多选、错选均不得分) 1.C 2.B 3.D 4.B 5.B 6.C 7.C 8.D 9.D 10.D 11.D 12.A 二、非选择题(本大题共3小题,其中第13小题8分,第14小题9分,第15小题9分,共26分) 13. (8分)(1)e-gl-43-5h-k(2分) (2)n=len(line)、flag=False、writedata(ans)(3分) (3)ord(line[i+1])==ord(line[i])+1 and flag==False(3分) 14.(1)like(3分) (2)①len(s)、②k+=1、③s[i-k:i]或s[i-m:i](6分) 15. (1)'HHHGG' (3分) (2) s[1: : 2]或s[1]+s[3]及其他等价答案、②list_char[0]* int(list_num[0])+ list_char[1]* int(list_num[1])或s[0]* int(s[1])+s[2]* int(s[3])及其他等价答案(6分) 原创精品资源学科网独家享有版权,侵权必究!1 学科网(北京)股份有限公司1 / 16 学科网(北京)股份有限公司 $………………○………………外………………○………………装………………○………………订………………○………………线………………○……………… ………………○………………内………………○………………装………………○………………订………………○………………线………………○……………… 此卷只装订不密封 ………………○………………内………………○………………装………………○………………订………………○………………线………………○……………… ………………○………………外………………○………………装………………○………………订………………○………………线………………○……………… … 学校:______________姓名:_____________班级:_______________考号:______________________ 2025-2026学年高一信息技术必修1单元检测卷 第三单元·通关检测 建议用时:45分钟,满分:50分 一、选择题(本大题共12小题,每小题2分,共24分。每小题列出的四个备选项中只有一个是符合题目要求的,不选、多选、错选均不得分) 1.智能家居系统中,要实现根据室内温度自动调节空调温度的功能,编写具体的程序代码是在(   )步骤。 A.抽象与建模 B.算法设计 C.代码实现 D.结果验证 2.以下能用 Python程序编辑的文件是(   ) A.max.pg B.max.py C.max.Python D.max.ppt 3.以下是Python图形用户界面编程时所编写的一个按钮的激发函数,程序运行结果如图所示,在文本框a中输入20,在文本框b中输入13,单击计算按钮后,文本框c中显示的内容是(   ) def intomap( ): a= int(varl.get( )) b= int(var2.get( )) c=a+b var3.set(c) A.2013 B."33" C."2013" D.33 4.print([1,2]*2)的结果为(   ) A.[2,4] B.[1,2,1,2] C.错误 D.[1,2][1,2] 5.用两个整型变量num1和num2分别表示学生甲、乙的性别(1为“男”,0为“女”)。下列表达式中能正确判断甲、乙两位学生性别相同的是(   ) A.num1+num2==1 B.num1-num2==0 C.num1 !=num2 D.1-num1==num2 6.有Python代码如下: c=[2,3,1,5,4,0] sum = c[c[1]]+c[c[2]]+c[c[-2]] print(sum) 该代码的输出结果是(   ) A.8 B.10 C.12 D.14 7.X=3;Y=4;Z=5;执行X,Z,Y=Z,Y,X后print(X,Y,Z)的结果(   ) A.3  4  5 B.4  3  5 C.5  3  4 D.错误 8.用计算机解决“找出100以内(不含100)所有能同时被3和5整除的正整数,统计其个数”的问题,以下关于解决过程的阶段描述及顺序,正确的是(   ) ①描述算法:如下图所示 ②抽象与建模:明确目标是找100以内同时能被3和5整除的数的个数,梳理“整除”的数学判定方法 ③设计算法:确定“从5遍历到99,步长为5,对每个数判断是否满足‘能被3整除’,满足则计数”的步骤逻辑 A.①②③ B.②①③ C.③②① D.②③① 9.运行下列代码,输出结果是(   ) while 4 == 4:     print(4,end="  ") A.4 B.44 C.4444 D.无限次输出4,直到程序关闭 10.导入math模块后,执行math.pow(2,5)语句的结果是(   ) A.5.0 B.10.0 C.25.0 D.32.0 11.以下程序实现与计算机玩“石头剪刀布”的游戏(分别用0,1,2代表石头、剪刀、布),游戏规则为:石头赢剪刀、剪刀赢布、布赢石头。代码如下: import random pc= random.randint(0,2) player= int(input("请输入石头(0)、剪刀(1)、布(2):")) if (1) : print("你赢了,恭喜!") elif player == pc: print("平手") else: print("你输了,再接再厉!") 解决该问题,上述程序(1)处填入语句正确的是(   ) A.pc > player B.pc < player C.pc-player == 1 and player-pc == 2 D.pc-player == 1 or player-pc == 2 12.以下Python程序是统计字符串s1中存在子串s2的个数。例如:字符串s1的值为“abcabcb”,字符串s2的值为“abc”,程序运行结果为“2”。 s1="abcabcb" ;s2="abc" n1=len(s1) ;n2=len(s2) i,num=0,0    #变量 i 和 num 初值赋为 0 while i<n1:     if ① :         num=num+1          ②     i=i+1 print(num) 要正确实现程序功能,划线处填写的代码为(   ) A.①s1[i:i+n2]==s2 ② i=i+n2-1 B.①s1[i:n2]==s2 ② i=i+n2 C.①s1[i:i+n2]==s2 ② i=i+n2 D.①s1[i:n2]==s2 ② i=i+n2-1 二、非选择题(本大题共3小题,其中第13小题8分,第14小题9分,第15小题9分,共26分) 13.某文档“压缩前.txt”中保存了大量的小写字母和数字,如图a所示。小明发现文档中有很多字母或数字是连续的,要设计一个算法将字符串中连续的字母或数字进行压缩,如连续字符“abcd”可压缩为“a—d”,不连续的字符维持原状,例如,字符串“abcd255hj”可压缩为“a—e—255h—j”,并将压缩后的结果输出保存到文件“压缩后.txt”中,如图b所示。 该算法的部分Python代码如下: def writedata(data):     #将数据 data输入到“压缩后.txt”中,代码略 fp = open("压缩前.txt") lines = fp.readlines() fp.close() for line in lines:     flag = False     ans = ""     ①     for i in range(n-1):         if:  ans = ans + line[i] + "-"             flag = True         elif ord(line[i+1]) == ord(line[i])+1:             ans+= line[i]             ②     ans+= line[i+1]     ③ (1)按上述算法,将字符串“efg1234345hijk”进行压缩,压缩后的字符串为 。 (2)请在划线处①②③填入合适的代码。 、 、 (3)程序中加框处代码有误,请改正。 14.用Python编写“求句子中最长单词”的程序。从键盘上输入英语句子,句子以“.”结束,单词之间用空格分隔,单词没有缩写形式和其他特殊形式。输出最长的单词及该单词的长度(字符个数)。实现上述功能的代码如下,程序运行界面如图所示: 请输入英语句子:I like reading and listening to music. listening 9 s = input("请输入英语句子:") k = 0 m = 0 for i in range(① ): if "A"<=s[i]<="Z" or "a"<=s[i]<="z": ② else: if m < k: m = k ans = ③ k=0 print(ans) print(m) 请回答下列问题: (1)若输入的英文句子为" How do you like your new job?",则输出的单词为 。 (2)请在程序划线处填入正确的代码。       15.压缩技术是计算机领域中一个非常重要的技术,能够减小数据中的冗余,提高存储效率。现在有一种很简单的字符串压缩方法,就是按顺序将字符串中连续的重复字符用数字(1位)来表示,例如'AAAABAAA'经过压缩之后变为'A5B1A3'。现在要模拟解压缩的过程,编写一段Python代码,将压缩之后的字符串恢复为原来的字符串,同时规定输入的压缩之后的字符串长度为4,解压后连续的字符个数少于10,如'A4C2',部分代码如下: s = input()    #输入一个长度为4的压缩之后的字符串 list_char=s[∶∶2]     #取出每个字符 list_num =①       #取出每个字符对应的重复次数 answer = ② print(answer) (1)若压缩之后的字符串为H3G2,则原字符串为 。 (2)请将代码填写完整: ① 、② 试题 第3页(共4页) 试题 第4页(共4页) 试题 第1页(共6页) 试题 第2页(共6页) 学科网(北京)股份有限公司 $ 2025-2026学年高一信息技术必修1单元检测卷 第三单元·通关检测 建议用时:45分钟,满分:50分 一、选择题(本大题共12小题,每小题2分,共24分。每小题列出的四个备选项中只有一个是符合题目要求的,不选、多选、错选均不得分) 1.智能家居系统中,要实现根据室内温度自动调节空调温度的功能,编写具体的程序代码是在(   )步骤。 A.抽象与建模 B.算法设计 C.代码实现 D.结果验证 2.以下能用 Python程序编辑的文件是(   ) A.max.pg B.max.py C.max.Python D.max.ppt 3.以下是Python图形用户界面编程时所编写的一个按钮的激发函数,程序运行结果如图所示,在文本框a中输入20,在文本框b中输入13,单击计算按钮后,文本框c中显示的内容是(   ) def intomap( ): a= int(varl.get( )) b= int(var2.get( )) c=a+b var3.set(c) A.2013 B."33" C."2013" D.33 4.print([1,2]*2)的结果为(   ) A.[2,4] B.[1,2,1,2] C.错误 D.[1,2][1,2] 5.用两个整型变量num1和num2分别表示学生甲、乙的性别(1为“男”,0为“女”)。下列表达式中能正确判断甲、乙两位学生性别相同的是(   ) A.num1+num2==1 B.num1-num2==0 C.num1 !=num2 D.1-num1==num2 6.有Python代码如下: c=[2,3,1,5,4,0] sum = c[c[1]]+c[c[2]]+c[c[-2]] print(sum) 该代码的输出结果是(   ) A.8 B.10 C.12 D.14 7.X=3;Y=4;Z=5;执行X,Z,Y=Z,Y,X后print(X,Y,Z)的结果(   ) A.3  4  5 B.4  3  5 C.5  3  4 D.错误 8.用计算机解决“找出100以内(不含100)所有能同时被3和5整除的正整数,统计其个数”的问题,以下关于解决过程的阶段描述及顺序,正确的是(   ) ①描述算法:如下图所示 ②抽象与建模:明确目标是找100以内同时能被3和5整除的数的个数,梳理“整除”的数学判定方法 ③设计算法:确定“从5遍历到99,步长为5,对每个数判断是否满足‘能被3整除’,满足则计数”的步骤逻辑 A.①②③ B.②①③ C.③②① D.②③① 9.运行下列代码,输出结果是(   ) while 4 == 4:     print(4,end="  ") A.4 B.44 C.4444 D.无限次输出4,直到程序关闭 10.导入math模块后,执行math.pow(2,5)语句的结果是(   ) A.5.0 B.10.0 C.25.0 D.32.0 11.以下程序实现与计算机玩“石头剪刀布”的游戏(分别用0,1,2代表石头、剪刀、布),游戏规则为:石头赢剪刀、剪刀赢布、布赢石头。代码如下: import random pc= random.randint(0,2) player= int(input("请输入石头(0)、剪刀(1)、布(2):")) if (1) : print("你赢了,恭喜!") elif player == pc: print("平手") else: print("你输了,再接再厉!") 解决该问题,上述程序(1)处填入语句正确的是(   ) A.pc > player B.pc < player C.pc-player == 1 and player-pc == 2 D.pc-player == 1 or player-pc == 2 12.以下Python程序是统计字符串s1中存在子串s2的个数。例如:字符串s1的值为“abcabcb”,字符串s2的值为“abc”,程序运行结果为“2”。 s1="abcabcb" ;s2="abc" n1=len(s1) ;n2=len(s2) i,num=0,0    #变量 i 和 num 初值赋为 0 while i<n1:     if ① :         num=num+1          ②     i=i+1 print(num) 要正确实现程序功能,划线处填写的代码为(   ) A.①s1[i:i+n2]==s2 ② i=i+n2-1 B.①s1[i:n2]==s2 ② i=i+n2 C.①s1[i:i+n2]==s2 ② i=i+n2 D.①s1[i:n2]==s2 ② i=i+n2-1 二、非选择题(本大题共3小题,其中第13小题8分,第14小题9分,第15小题9分,共26分) 13.某文档“压缩前.txt”中保存了大量的小写字母和数字,如图a所示。小明发现文档中有很多字母或数字是连续的,要设计一个算法将字符串中连续的字母或数字进行压缩,如连续字符“abcd”可压缩为“a—d”,不连续的字符维持原状,例如,字符串“abcd255hj”可压缩为“a—e—255h—j”,并将压缩后的结果输出保存到文件“压缩后.txt”中,如图b所示。 该算法的部分Python代码如下: def writedata(data):     #将数据 data输入到“压缩后.txt”中,代码略 fp = open("压缩前.txt") lines = fp.readlines() fp.close() for line in lines:     flag = False     ans = ""     ①     for i in range(n-1):         if:  ans = ans + line[i] + "-"             flag = True         elif ord(line[i+1]) == ord(line[i])+1:             ans+= line[i]             ②     ans+= line[i+1]     ③ (1)按上述算法,将字符串“efg1234345hijk”进行压缩,压缩后的字符串为 。 (2)请在划线处①②③填入合适的代码。 、 、 (3)程序中加框处代码有误,请改正。 14.用Python编写“求句子中最长单词”的程序。从键盘上输入英语句子,句子以“.”结束,单词之间用空格分隔,单词没有缩写形式和其他特殊形式。输出最长的单词及该单词的长度(字符个数)。实现上述功能的代码如下,程序运行界面如图所示: 请输入英语句子:I like reading and listening to music. listening 9 s = input("请输入英语句子:") k = 0 m = 0 for i in range(① ): if "A"<=s[i]<="Z" or "a"<=s[i]<="z": ② else: if m < k: m = k ans = ③ k=0 print(ans) print(m) 请回答下列问题: (1)若输入的英文句子为" How do you like your new job?",则输出的单词为 。 (2)请在程序划线处填入正确的代码。       15.压缩技术是计算机领域中一个非常重要的技术,能够减小数据中的冗余,提高存储效率。现在有一种很简单的字符串压缩方法,就是按顺序将字符串中连续的重复字符用数字(1位)来表示,例如'AAAABAAA'经过压缩之后变为'A5B1A3'。现在要模拟解压缩的过程,编写一段Python代码,将压缩之后的字符串恢复为原来的字符串,同时规定输入的压缩之后的字符串长度为4,解压后连续的字符个数少于10,如'A4C2',部分代码如下: s = input()    #输入一个长度为4的压缩之后的字符串 list_char=s[∶∶2]     #取出每个字符 list_num =①       #取出每个字符对应的重复次数 answer = ② print(answer) (1)若压缩之后的字符串为H3G2,则原字符串为 。 (2)请将代码填写完整: ① 、② 原创精品资源学科网独家享有版权,侵权必究!1 1 / 9 学科网(北京)股份有限公司 学科网(北京)股份有限公司 $

资源预览图

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