2.3周而复始的循环2024-2025学年高中信息技术教科版(2019)必修1

2024-08-13
| 12页
| 280人阅读
| 0人下载

资源信息

学段 高中
学科 信息技术
教材版本 高中信息技术教科版必修1 数据与计算
年级 高一
章节 2.3 周而复始的循环
类型 作业-同步练
知识点 循环结构的程序实现
使用场景 同步教学-单元练习
学年 2024-2025
地区(省份) 全国
地区(市) -
地区(区县) -
文件格式 DOCX
文件大小 156 KB
发布时间 2024-08-13
更新时间 2024-08-13
作者 匿名
品牌系列 -
审核时间 2024-08-13
下载链接 https://m.zxxk.com/soft/46803677.html
价格 0.50储值(1储值=1元)
来源 学科网

内容正文:

2.3 周而复始的循环2024-2025学年高中信息技术教科版(2019)必修1 一、选择题 1.有如下Python程序段: a=[99,85,74,68,53,42,34,27,20,13] key=int(input("请输入一个整数:"));i,j,k,c=0,9,0,"N" flag=False while i<=j and flag==False:     m=(i+j+1)//2;k=k+1     if key==a[m]:         c="Y";flag=True     if key>a[m]:         j=m-1     else:         i=m+1 print(c,k) 执行该程序段后,下列说法正确的是(   ) A.该程序段既能用于升序序列的查找,也能用于降序序列的查找 B.若输出k的值为2,则c的值一定为Y C.若输入key的值为74,程序执行后变量i和j的值分别为0和4 D.输入两位任意正整数,k的值介于1和3之间 2.有如下Python程序段: s=input("请输入待处理字符串:") st="" for i in range(len(s)):     ch=s[i]     if"0"<=ch<="9":         ch=str((int(ch)+3)%10)         st=st+ch     else:         if"A"<=ch<="Z":             ch=ch.lower()         st=st+ch print(st) 执行程序后,输入字符串"Happy2024!",输出的结果(    ) A.7535happy! B.4202Happy! C.!7535yppah D.happy5357! 3.有如下Python程序段: import pandas as pd s=pd.Series(range(70,100,10)) for i in s:    print(i) 该程序运行后输出的结果为(  ) A. B. C. D. 4.字符串s由数字字符组成,且首位不为"0"。现需要在s中某一位置插入1位数字字符,得到新s,使新s的值最大。例如s串为"975463",插入字符"8"后,得到最大值"9875463"。实现该功能的程序段如下,方框中应填入的正确代码为(   ) #输入字符串s,长度为n;输入字符串ch,长度为1,代码略。 i=0 while i<n: st=s[0:i]+ch+s[i:n] A. if ch>=s[i]:     i+=1 else:     break B. if ch>=s[i]:     break else:     i+=1 C. if ch<s[i]:     break else:     i+=1 D. if ch>s[i]:     break else:     i+=1 A.A B.B C.C D.D 5.打印显示如图所示的直角三角形。程序代码如下所示,则空缺部分应填入(   ) For  i  in  range(__________):    print('@'*i) A.0,5,1 B.6,0,-1 C.1,6,1 D.5,0,-1 6.同虚框内程序功能相同的程序是(   ) s=0 i=1 while i<=1000:     s=s+i     i=i+1 print(s) A. s=0 i=1 for i in range(1000):     s=s+i     i=i+1 print(s) B. s=1 i=1 for i in range(1001):     s=s+i     i=i+1 print(s) C. s=0 i=1000 while i>=1:     s=s+i     i=i-1 print(s) D. s=0 i=1000 while i>1:     s=s+i     i=i-1 print(s) A.A B.B C.C D.D 7.下列代码的输出结果是(   ) for i in range(1,6):      if i%2==1:          continue      else:          print(i,end=",") A.2,4 B.1,2,34,5, C.2,4, D.1,3,5, 8.在Python语言中,下列关于while循环语句的叙述错误的是(   ) A.可以将while循环的条件表达式写成:while False: B.可以将while循环的条件表达式写成:while 1: C.如果while的条件表达式写成;while True,则while循环体在不加干预的情况下会一直执行下去 D.while循环和for循环在任何情况下都是可以互换实现的 9.有如下Python程序段: s=0 for i in range(1,10,1): s=s+i print(s) 执行该程序段后,变量s的值是(    ) A.45 B.55 C.11 D.9 10.如图所示,是Python语言编写的输出金字塔的程序,它主要采用的程序结构是(  ) A.顺序 B.循环 C.树型 D.选择 11.下列程序段不可以实现创建整数n以内的完全平方数列表功能的是(   ) A. B. C. D. 12.下列程序的输出结果是(    ) y=1 for x in range(1,5):    y=y*x print(y) A.120 B.24 C.15 D.10 13.在micro:bit 主板上接上温湿度传感器,利用BXY编写代码,查看串口监视器,部分界面如图所示。其中部分代码如下: from microbit import sleep import dht11 while True: temp,hum=dht11.read(1)     sleep(1000) 其中加框处代码为( ) A. B. C. D. 14.有如下 Python 程序段: import random a = [0]*6 i = 0 x = int(input()) while i <= 5:      c = random.randint(1, 10)      if x % 2 == c % 2:         a[i] = c         i += 1         x = x//2 执行该程序段后,若要在列表 a 中产生 4 个偶数、2 个奇数,输入的 x 的值不可能的是(   ) A.3 B.4 C.5 D.6 15.关于Python的for循环,以下描述正确的是(   ) A.在循环体内可以使用循环变量参与运算 B.in后面可以是列表、字典 C.可以没有循环体 D.可以使用break语句结束循环 16.有如下程序,输入1101110后的运行结果为(      ) s1=input(“请输入一串01组合”) s2=len(s1) s=0 for i in range(s2):    a=int(s1[i])    s=s*2+a   print(s) A.110 B.111 C.220 D.110111 17.有如下Python程序段: n=int(input(“请输入:”)) s = x = 0 while n != 0: x = n % 10 s = x + s n = n //10 print(s) 执行该程序段后,依据程序提示,输入“20220412”,则程序输出结果是(    ) A.13 B.1119 C.2022 D.9 18.以下是实现正整数序列arr升序排列的程序代码段,则画线部分代码正确的是(  ) arr=[7,4,2,13,6,5,3,6,17,1] for i in range(1,len(arr)):     key=arr[i]     j=i     while :         arr[j]=arr[j-1]         j-=1 ①j>0 and key<arr[j-1] ②j>=0 and key<arr[j-1] ③arr[j]=key ④arr[j-1]=key A.①③ B.①④ C.②③ D.②④ 19.有如下Python程序段: import random s="12345678" g="" for i in range(3):     n=len(s)     pos=random. randint(1,n-1)     g+=s[pos]     s=s[0:pos]+s[pos+1:n] print(g) 在该程序段执行时,变量g的值可能为(   ) A."542" B."138" C."336" D."15" 20.运行以下Python程序段,输出结果是(   ) s=0 for i in range(1,6,2): s=s+iprint(s) A.2 B.3 C.4 D.9 试卷第1页,共3页 试卷第1页,共3页 学科网(北京)股份有限公司 参考答案: 1.D 【详解】本题考查二分查找。A选项错误,给定的程序段是用于升序序列的二分查找算法,如果要用于降序序列的查找,需要对程序进行修改。B选项错误,如果k的值为2,则意味着循环体执行两次,不一定能找到目标值,因此c的值可能是N。C选项错误,当输入key的值为74时,程序执行后变量i和j的值分别为3和4。D选项正确,由于二分查找算法的复杂度为O(log n),所以k的值介于1和3之间是合理的。故正确答案为选项D。 2.D 【详解】本题考查Python程序分析能力。if语句判断循环遍历的字符串,如果是数字0到9,则数字加3并取余数。如果是大写字母,则转换成小写字母。其它字符不变。以上处理结果逆序存放在st中,最后输出st。故选项D为正确答案。 3.A 【详解】本题主要考查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)。s=pd.Series(range(70,100,10)),因此生成的数据列表是[70,80,90],故本题选A选项。 4.D 【详解】本题考查的是Python综合应用。要使新s的值最大,则要依次从高位往低位比较,如果找到一位比要插入的字符小,跳出循环,则插入在该位的前面。不能找相等,如果相等的话,后续有字符比要插入的字符大,则插入后组成的字符不会最大,例s串为"975463",插入字符"4",如果找到相等的话,插入则新字符为:"9754463",不是最大,选项A逻辑不对,应改为:ch<=s[i];选项B不能找相等,选项C逻辑不对。故本题应选D。 5.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)。由图可知,变量i的范围是1~5,每次递增1,故填1,6,1,故本题选C选项。 6.C 【详解】本题考查Python程序。原程序通过while循环计算从1到1000的整数和。具体执行过程是变量i从1开始递增到1000,并将每个i累加到变量s中。分析选项:A选项错误,for循环的范围是0到999,且有额外的i递增操作,代码错误。B选项错误,初始s值为1,for循环范围是0到1000,代码错误。C选项正确,while循环从1000开始递减到1,将每个i累加到变量s中,功能与原程序相同。D选项错误,while循环从1000开始递减到2,少加了1,代码错误。故答案为:C。 7.C 【详解】本题考查的是Python循环控制。range(1,6)生成序列1,2,3,4,5。由if语句可知如果i是奇数跳过,偶数则输出。 print(i,end=",")输出i的值,并以“,”结束。故本题应选C。 8.D 【详解】本题主要考查Python循环语句。可以将while循环的条件表达式写成:while False:;可以将while循环的条件表达式写成:while 1:;如果while的条件表达式写成;while True,则while循环体在不加干预的情况下会一直执行下去;while循环和for循环并非在任何情况下都是可以互换实现的,无法预先判断循环执行的次数时,就只能使用while循环,故本题选D选项。 9.A 【详解】本题主要考查Python程序的执行。分析程序,range(1,10,1)会产生1、2、……9这些数字,s=s+i的作用是把这些数字累加起来,1+2+3+……+9=45,故本题选A选项。 10.B 【详解】本题主要考查程序基本结构。分析程序,可知它主要采用的程序结构是循环结构,故本题选B选项。 11.C 【详解】本题主要考查Python程序的调试。分析程序,显然选项C中,只有当i*i=n时,才将i*i加到列表中,因此不可以实现创建整数n以内的完全平方数列表,故本题选C选项。 12.B 【详解】本题主要考查Python循环结构的应用。变量x依次取1~4,循环体是y=y*x=1*1*2*3*4=24,故输出结果是24,故本题选B选项。 13.B 【详解】本题主要考查Python综合应用。由图可知,先显示温度再显示湿度,排除选项C;温度的格式:数字后带符号“C”,排除选项D;湿度显示完后需要换行,排除选项A,故本题选B选项。 14.B 【详解】本题考查的是Python循环、选择语句。由if语句可知列表a中数值与x奇偶性相同。结合x = x//2可知,当x=4时,x的奇偶性变化:偶、偶、奇、偶、偶、偶。因为列表a中数值与x奇偶性相同,故不满足列表a中产生 4 个偶数、2 个奇数。故本题应选B。 15.ABCD 【详解】本题考查Python循环结构。在for循环中,循环变量会依次取列表、字典等可迭代对象中的元素,然后可以在循环体内使用这个循环变量进行运算或其他操作,A选项正确。for循环后面的in可以跟随列表、字典、字符串等可迭代对象,用于遍历这些对象的元素,B选项正确。在Python中可以创建一个空的for循环,没有循环体。这种情况下,循环变量将依次迭代可迭代对象中的元素,但循环体内不执行任何操作,C选项正确。在for循环中,可以使用break语句来提前结束循环,不必等到所有元素都被遍历完,D选项正确。故答案为ABCD选项。 16.A 【详解】本题主要考查Python程序的执行。分析程序可知,该程序实现将二进制数1101110通过“按权展开、逐项相加”的方法转换为十进制数110,故本题选A选项。 17.A 【详解】本题主要考查Python程序循环结构。分析程序可知,该程序实现将输入的数n各个位上的数进行累加求和,输入“20220412”,则程序输出结果是2+0+2+2+0+4+1+2=13,故本题选A选项。 18.A 【详解】本题主要考查Python程序的调试。分析程序可知,while程序实现将key,即索引i处的数字与之前的数进行比较,依次后移将key放到合适的位置,以使i及之前的整数呈升序排序,故第一空填j>0 and key<arr[j-1]。while循环结束后将key放到索引j处,故第二空填arr[j]=key,故本题选A选项。 19.A 【详解】本题考查Python程序执行与调试。s="12345678", n=len(s)=8, pos=random. randint(1,n-1)=random. randint(1,7),即pos是随机生成1~7之间的整数。然后执行g+=s[pos],再执行 s=s[0:pos]+s[pos+1:n],即s中去掉下标为pos的元素,一共循环3次,因此g中元素有3个,且没有重复,排除C、D选项。字符串索引从0开始,根据pos值可知取不到第一个元素"1",排除B选项,因此变量g的值可能为"542"。故选A。 20.D 【详解】本题主要考查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)。变量i的取值依次是1、3、5,故s=s+i=0+1+3+5=9,故本题选D选项。 答案第1页,共2页 答案第1页,共2页 学科网(北京)股份有限公司 $$

资源预览图

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