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

2024-08-03
| 12页
| 61人阅读
| 0人下载

内容正文:

2.3 周而复始的循环 学校:___________姓名:___________班级:___________考号:___________ 一、选择题 1.输入数字1234,以下程序的输出结果是(   ) x=int(input()) s=0 while x!=0:    t=x%10    s+=t    x//=10 print(s) A.1234 B.123 C.10 D.12 2.阅读下列程序,选出运行结果(  ) def fib(m):    n1=1    n2=1    for i in range(3,m+1):       t=n1+n2       n1=n2       n2=t     return t print(fib(5)) A.5 B.8 C.3 D.13 3.有如下Python 程序段: lis=['a','b','c','d'] s=0 for i in lis:     c=ord(i)-ord('a')     s+=c print(s) 程序运行后,输出s的值为(  ) A.4 B.5 C.6 D.10 4.有如下 Python 程序段 import random s='abcdefghijklmnopq' for i in range(4):      k=random.randint(0,4)+random.randint(0,1)*10      print(s[k],end='') 执行该程序后,输出的结果不可能是(       ) A.ddaa B.eaeo C.dfam D.nemc 5.下列Python 程序用于计算0到100之间的偶数和,程序第2行下划线处应填入(   ) 1  s=0 2  for i in range(0, , ): 3      s =s+i 4  print(s) A.100   1 B.100   2 C.101  1 D.101   2 6.在micro:bit 主板上接上温湿度传感器,利用BXY编写代码,查看串口监视器,部分界面如图所示。其中部分代码如下: from microbit import sleep import dht11 while True: temp,hum=dht11.read(1)     sleep(1000) 其中加框处代码为( ) A. B. C. D. 7.“猜数游戏”中,计算机随机生成一个0~10之间的整数,用户输入一个整数进行猜测,计算机根据用户输入的数据进行比对,直到用户猜中为止。为了实现“猜数游戏”,补充完善下列 Python程序第5行下划线处的代码(   ) 1    #猜数游戏 2    import random 3    number=random.randint(0,10) 4    guess=int(input(“请输入猜测的数:”)) 5    while _____________: 6        guess=int(input(“猜错了,继续猜一猜:”)) 7    print(“恭喜你,猜对了!”) A.guess!=number B.guess=!number C.guess==number D.guess=number 8.有如下VB程序段: For i=1 to 3     For j=1 to 5-i         If a(j)>a(j+1) Then             t=a(j) : a(j)=a(j+1) : a(j+1)=t         End If     Next j     Text1.Text = Str(a(i))+Text1.Text Next i 数组元素a(1)到a(5)的值依次为“2,9,7,8,5”。若该程序段执行后,文本框Text1显示的内容是(     ) A.2 5 7 B.9 8 7 C.2 7 7 D.7 7 2 9.在Python中,执行list( i for i in range( 10,20,3) if i % 2==1 )语句后输出的结果是( ) A.[10,13,16,19] B.[13,16,19] C.[12,18] D.[13,19] 10.经过中国国家登山队的测量,2020年12月8日,中尼两国共同宣布了珠穆朗玛峰的最新高度为海拔8848.86米。现有一张白纸的厚度大约是0.08毫米,对折一次,厚度变0.16毫米,再对折一次,厚度变为0.32毫米,……,每对折一次,其厚度均变为对折前的两倍,假设这张纸足够大,可以对折任意次,那么这张纸至少对折多少次后,其厚度将超过珠穆朗玛峰的高度?以下是求解以上问题的程序片段,请你补全代码: 请选择适当的代码填入程序①处。(    ) A.while B.for C.output D.input 11.有如下Python程序段: s1="192637" s2="playground" s3="" for i in s1:     s3 = s2[int(i)] + s3 print(s3) 执行该程序段后,输出的结果是(      ) A.ldaoyu B.pnlrao C.oarlnp D.uyoadl 12.有如下Python程序段:    import random    i = 1;n = 5    res = []    while i <=n:        num = random.randint(1, 10)        if num not in res:            res += [num]            i += 1 执行该程序段后,res的值可能的是() A.[0, 4, 8, 1, 9] B.[3, 2, 4, 5, 5] C.[6, 5, 7, 8, 4] D.[6, 5, 1, 3, 8,7] 13.有如下 VB 程序段: Private Sub Command1_Click() Dim a(1 To 6) As Integer, i As Integer For i = 1 To 6     a(i) = Int(Rnd * 5) * 2 + 1 Next i For i = 2 To 6 Step 2 a(i) = cha(a(i -1), a(i)) Next i End Sub Function cha(x As Integer, y As Integer) As Integer Dim t As Integer If x < y Then t=x: x = y: y = t cha = y Else cha = x -1 End If End Function 执行该程序段后,在下列选项中,a(1)~a(6)各元素值可能的是(  ) A.8,9,3,2,5,1 B.7,6,5,5,3,1 C.9,3,5,4,4,3 D.7,3,1,0,5,4 14.某算法的部分流程图如图所示,若输入n的值为3,执行该部分流程,则输出的结果是(  ) A.0011 B.1100 C.011 D.11 15.下方流程图能描述循环结构的是(   ) A.1 2 4 B.2 4 C.1 3 D.2 3 16.有如下Python程序段: import random n=random. randint (5,15) i=0:a=[0]*10 while i<n: j=0 a[j]=a[j]+1 while a[j]==3: a[j]=0 j=j+1 a[j]=a[j]+1 i=i+1 执行该程序段后,列表a中元素之和为3,则n的值不可能是(   ) A.5 B.7 C.10 D.13 17.以下Python程序段实现加密功能: s="age@126." n=1en(s) i=0 ans=0 while i<n:      if ″9″>=s[i]>=″0″:                ans+=int(s[i])*i      elif  ″z″>=s[i]>=″a″:                ans+=ord(s[i])-ord(″a″)       else:               ans+=1       i+=1 print(ans) 程序运行后,输出的结果是(   ) A.61 B.62 C.70 D.71 18.在Python中,以下代码执行后输出的结果是(   ) x=1 for i in range(5):     x=x*i print(x) A.0 B.15 C.24 D.120 19.利用Python编写自定义函数完成阶乘的计算,代码如下所示,程序运行结果是(  ) (1)def factoria1(n):#求n! (2)  s=1 (3)  for i in range(2,n+1):: (4)          s=s*i (5)     return s (6)print(factorial(4)) A.1 B.120 C.24 D.6 20.某 Python 程序如下: def  encode(msg,key) :   result=""   for  i  in  range(0,len(msg)) :     c=msg[i]     if "a"<=c<="z":        result=chr((ord(c)+key-ord("a"))%26+ord("a"))+result     elif "0"<=c<="9" :        result=result+chr((ord(c)-key-ord("0"))%10+ord("0"))   return  result msg=input("请输入明文:") key=int(input("请输入密钥:")) re=encode(msg,key) print(re) 程序运行后,输入 msg 的值为“1a2b3c” ,key=2,输出的结果是(  ) A.edc901 B.edc345 C.9c0d1e D.3c4d5e 试卷第1页,共3页 试卷第1页,共3页 学科网(北京)股份有限公司 参考答案: 1.C 【详解】本题主要考查Python程序的执行。分析程序可知,该程序实现将输入的整数x的各个位进行求和,x=1234,则s=1+2+3+4=10,故本题选C选项。 2.A 【详解】本题主要考查Python程序的执行。分析程序可知,函数fib(m)用于求斐波那契数列的第m项,斐波那契数列是1、1、2、3、5、8……,因此fib(5)=5,故本题选A选项。 3.C 【详解】本题主要考查Python程序的执行。for循环中,执行 c=ord(i)-ord('a'),c的值依次是0、1、2、3,因此s=s+c=0+0+1+2+3=6,故本题选C选项。 4.C 【详解】本题主要考查Python程序的执行与调试。random.randint(a,b)用于生成一个指定范围内的整数。其中参数a是下限,参数b是上限,生成的随机数n: a <= n <= b。k=random.randint(0,4)+random.randint(0,1)*10,k是随机生成0、1、2、3、4、10、11、12、13、14之间的任意数,对应的s[k]的值分别是a、b、c、d、e、k、l、m、n、o,结合选项可知,执行该程序后,输出的结果不可能是dfam,故本题选C选项。 5.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)。该程序用于计算0到100之间的偶数和,因此下划线处填101、2,故本题选D选项。 6.B 【详解】本题主要考查Python综合应用。由图可知,先显示温度再显示湿度,排除选项C;温度的格式:数字后带符号“C”,排除选项D;湿度显示完后需要换行,排除选项A,故本题选B选项。 7.A 【详解】本题主要考查Python程序调试。分析程序,由while循环体可知,当guess与number不相等时进入循环体,故填guess!=number,故本题选A选项。 8.D 【详解】本题考查冒泡排序。根据外循环可知,循环执行3趟,根据内循环可知,排序方向为从上往下,结合If a(j)>a(j+1) Then可知,将数值更大的往下换,形成升序排序。i=1时,a(1)=2,i=2时,a(2)=7,i=3时,a(3)=7。故最终text1中为772。本题选D。 9.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 for i in range( 10,20,3) if i % 2==1 表示将10、13、16、19中的奇数形成列表,故输出的结果是[13,19],故本题选D选项。 10.A 【详解】本题考查的是Python的while循环。while语句格式: 当表达式的值为真时,执行循环体语句;当表达式值为假时,退出循环,执行循环体外的下一条语句(即while后面没有缩进的第一条语句)。当高度h小于珠穆朗玛峰的高度height,则继续对折,故本题应选A。 11.D 【详解】本题主要考查Python程序的执行。分析程序可知,程序实现:依次取s1中的字符,将其转换为int型,同时取对应s2的值,如第一次循环,s2[int("1")]="l",则s3 = s2[int(i)] + s3="l",for循环执行完,依次从s2取出的值是"d"、"a"、"o"、"y"、"u",故执行该程序段后,输出的结果是uyoadl,故本题选D选项。 12.C 【详解】本题考查的是Python随机函数及循环语句。 random.randint(1, 10)生成1~10的整数。由i=1;n=5、 while i <=n,可知生成的res列表元素是5个,故选项D错误,由代码可知列表中元素值不可能有0、及重复的数据,故选项AB错误。本题应选C。 13.D 【详解】本题考查VB程序段。根据第一个循环内a(i)=Int(Rnd*5)*2+1,可知,a数组是[1,9]中的奇数。又根据第二个循环可知i=2,4,6,又a(i)=cha(a(i-1),a(i)),两种情况,若a(i-1)<a(i),则交换,则a(i)<a(i-1)。若a(i-1)>=a(i),则a(i)=a(i-1)-1,会出现a(i-1)>a(i),综合两种情况,必定有a(i-1)>a(i)。A中8,9不会出现,B中5,5不会出现,C中4,3不会出现,只能选D。 14.A 【详解】本题考查算法流程图。首先将i赋值为0,s赋值为空字符串。第一次循环,i<4条件满足,t=n%2=1,s=“1”,n=n//2=1,i=i+1=1;第二次循环,i<4条件满足,t=n%2=1,s=“11”,n=n//2=0,i=i+1=2;第三次循环,t=n%2=0,s=“011”,n=n//2=0,i=i+1=3;第四次循环,i<4条件满足,t=n%2=0,s=“0011”,n=n//2=0,i=i+1=4;第五次循环,i<4条件不满足,输出s,即输出结果为0011。故答案为A选项。 15.B 【详解】本题考查流程图。图1和图3为选择结构流程图;图2和图4为循环结构;故选择B。 16.C 【详解】本题主要考查Python程序的执行与调试。n=random. randint (5,15),变量n随机生成5~15,当a[j]=3,此时赋值a[j]=0,j=j+1,a[j]=a[j]+1,外层循环每次执行时均赋值j=0。因此当n=5时,a=[2, 1, 0, 0, 0, 0, 0, 0, 0, 0];当n=7时,a=[1, 2, 0, 0, 0, 0, 0, 0, 0, 0];当n=10时,a=[1, 0, 1, 0, 0, 0, 0, 0, 0, 0];当n=13时,a=[1, 1, 1, 0, 0, 0, 0, 0, 0, 0]。执行该程序段后,列表a中元素之和为3,因此n的值不可能是10,故本题选C选项。 17.B 【详解】本题考查的是Python程序调试与运行。阅读程序可知,程序的功能是:逐个判断字符串s中的字符,如果是数字字符,则该数值乘以该数字的位置,累加到ans中;如果是小写英文字符,则将该英文与英文字母“a”的距离,累加到ans中,如果是其它字符,则ans加1。s="age@126.",故ans=0+6+4+1+1*4+2*5+6*6+1=62。故本题应选B。 18.A 【详解】本题考查的是Python循环语句。range(5)生成0,1,2,3,4序列数, x=x*i将i累乘到x中,即x=1*0*1*2*3*4=0,故选A。 19.C 【详解】本题考查的是Python自定义函数及循环语句。由print(factorial(4))可知,传递给自定义函数的参数是4,故返回值s=1*2*3*4=24。故本题应选C。 20.A 【详解】本题考查的是Python循环语句及自定义函数。由if语句可知,如果是小写字母则后移key位,并放在字符串前端;由elif语句可知,如果是数字,则前移key位,并放在字符串的后端。程序运行后,输入 msg 的值为“1a2b3c” ,key=2;字母后移2位后edc,数字前移2位后901,组合后为:edc901。选项A正确。 答案第1页,共2页 答案第1页,共2页 学科网(北京)股份有限公司 $$

资源预览图

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