第3章 第9课 循环结构-【精彩三年】2024-2025学年高中信息技术必修第一册课程探究与巩固Word教参(浙教版2019)

2025-10-15
| 18页
| 41人阅读
| 3人下载
教辅
浙江良品图书有限公司
进店逛逛

资源信息

学段 高中
学科 信息技术
教材版本 高中信息技术浙教版必修1 数据与计算
年级 高一
章节 3.1 用计算机编程解决问题的一般过程
类型 教案-讲义
知识点 计算机程序,计算机程序设计语言,计算机解决问题的过程
使用场景 同步教学-新授课
学年 2024-2025
地区(省份) 全国
地区(市) -
地区(区县) -
文件格式 DOCX
文件大小 1.52 MB
发布时间 2025-10-15
更新时间 2025-10-15
作者 浙江良品图书有限公司
品牌系列 精彩三年·高中同步课程探究与巩固
审核时间 2025-07-29
下载链接 https://m.zxxk.com/soft/53249870.html
价格 2.00储值(1储值=1元)
来源 学科网

内容正文:

第9课 循环结构(见学生用书P36) ——3.2 Python语言程序设计,教材第86~89页 1.掌握for循环、while循环的基本语法结构。 2.能够设计循环结构的算法。 1.for循环 (1)基本结构 遍历序列中的元素,执行循环体(从序列的第一个元素开始,依次选择每个元素执行操作直至结束)。当序列中的元素全部遍历完成后,程序继续执行else子句中的语句块 for <变量> in <序列>: <循环体> [else:  #else子句可选 <语句块>] list1=[1,2,3,4] for i in list1: print(i) 第1次循环,循环变量i=list1[0]=1;第2次循环,循环变量i=list1[1]=2;第3次循环,循环变量i=list1[2]=3;第4次循环,循环变量i=list1[3]=4;遍历完list1中的所有元素,循环结束 word='abcd' for x in word: print(x) 第1次循环,循环变量x=word[0]=a;第2次循环,循环变量x=word[1]=b;第3次循环,循环变量x=word[2]=c;第4次循环,循环变量x=word[3]=d;遍历完word中的所有元素,循环结束 (2)range函数 range 函数用于生成整数序列。 通式:range(start,stop,step);该序列的索引范围为__[start,stop)__,步长为step。其中,start为起始值,默认值为0时__可省略__;step为步长,默认值为1时__可省略__;stop为终值,__不可省略__。如:range(0,10,1)可省略为range(10)。 2.while循环 在执行循环体前,首先判断条件是否为真。如果条件为真,执行一次循环体,再次判断条件是否为真。如果条件仍为真,则再次执行循环体,直至条件为假,跳出while循环 while <条件>: <循环体> s=0 while s<10: s+=4 print(s) 第1次条件,s的值为0,s<10成立,执行循环体,s=4; 第2次条件,s的值为4,s<10成立,执行循环体,s=8; 第3次条件,s的值为8,s<10成立,执行循环体,s=12; 第4次条件,s的值为12,s<10不成立,循环结束 1.转移和中断语句 continue:中断本轮循环的执行,进入下一轮新的循环的判断。 break:跳出整个循环结构。 2.循环嵌套 一个循环体内可以嵌套另一循环,一般为双重循环,其循环总次数等于内外层次数之积。   下列程序段中,赋值语句s+=i 被重复执行的次数和s 最后的值分别为( B ) s=0 for i in range(3,14,4): s+=i A.2 次 21 B.3 次 21 C.4 次 21 D.4 次 35 【解析】 从初值3开始,步长为4,i的取值有3、7、11,选项B正确。 变式1  有如下Python程序段: count=0 L=[”apple”,”banana”,”pear”,”orange”,”peach”,”strawberry”] for i in [1,5,2]:    count+=len(L[i]) print(count) 执行该程序段后,输出的结果是( C ) A.12 B.16 C.20 D.22 【解析】 i的取值有1、5、2,count用于累加len(L[i]),count=len(”banana”)+len(”strawberry”)+len(”pear”)=6+10+4=20,选项C正确。 变式2  2024·效实中学检测有如下Python 程序段: li=[[”a”,10],[”b”,20],[”c”,30]] dic={} for i in range(len(li)):    dic[li[i][0]]=li[i][1] print(dic) 执行该程序段后,输出的结果是( D ) A.{'a',10,'b',20,'c',30} B.{10,20,30} C.{['a','b','c'],[10,20,30]} D.{'a':10,'b':20,'c':30} 【解析】 通过遍历列表li,依次取出元素[”a”,10], [”b”,20], [”c”,30],将各列表元素索引为0的位置作为key,将各列表元素索引为1的位置作为value。最后输出dic为{'a':10,'b':20,'c':30}。 变式3  有如下Python 程序段: n=int(input(”请输入一个数: ”)) s=0 for i in range(1,n): i=i*2 s+=i print(s) 若输入的数为8,则执行该程序段后,输出的结果是( D ) A.2 B.14 C.22 D.56 【解析】 根据题目意思,做出如下表格,最终s=56,选项D正确。 i 1 2 3 4 5 6 7 s 2 2+4 2+4+6 2+4+6+8 2+4+6+8+10 2+4+6+8+10+12 2+4+6+8+10+12+14   下列while循环的循环结果为( C ) i=0;s=1 while s<10: s=s*i+1 i+=1 print(s) A.11 B.10 C.16 D.32 【解析】 第1次循环,s=1,i=1;第2次循环,s=2,i=2;第3次循环,s=5,i=3;第4次循环,s=16,i=4,跳出循环。 变式  2024·北仑中学检测有如下Python 程序段: a=[9,5,2,3,0,-9,5,0,7,-10] s,i=0,0 while a[i]!=0 and i<len(a): s+=1 i+=1 执行该程序段后,变量s 的值为( A ) A.4 B.5 C.8 D.10 【解析】 当a[i]==0 或i>=len(a)时,循环结束,循环结束之前,对遇到的非0元素进行计数,选项A正确。   有如下Python程序段: a=[1,3,4,2,3] max=a[0] s=0 for i in range(1,len(a)): if a[i]>max: max=a[i] s=s+max print(s) 执行该程序段后,变量s的值为( A ) A.15 B.13 C.12 D.7 【解析】 在循环过程中,查找最大值,并将最大值累加到s中。4次循环中max依次为3,4,4,4,选项A正确。 变式  有如下Python 程序段: a=[5,3,8,9,7,3,11] n=len(a)-1 cnt=0 for i in range(1,n): if a[i]==a[i+1]-a[i-1]: cnt+=1 elif a[i]>a[i+1]-a[i-1]: cnt+=2 else: cnt+=3 print(cnt) 执行该程序段后,变量cnt 的值为( B ) A.9 B.10 C.11 D.12 【解析】 程序段通过for 循环遍历列表a 中的元素,对于列表a 中的第i个元素,如果该元素等于其相邻两个元素的差,则计数器cnt加1,如果a[i]大于其相邻两个元素的差,则计数器cnt 加2,否则计数器cnt 加3。列表a 中的第2 个元素等于其相邻两个元素的差,因此cnt 加1,列表a 中的第3 个到第5 个元素都大于其相邻两个元素的差,因此计数器cnt 均加2,而第6 个元素小于其相邻两个元素的差,因此cnt 加3。故最终计数器cnt 的值为1+2+2+2+3=10。选项B正确。   2024·温岭中学检测有如下Python 程序段: n=int(input()) s=0;i=1 while i*i<=n: if i==n//i: s+=1 elif n%i==0: s+=2 i+=1 print(s) 若输入16,则执行该程序段后,输出的结果是( C ) A.3 B.4 C.5 D.6 【解析】 执行过程如下,选项C正确。 i 1 2 3 4 5 i*i<=n T T T T F s 2 4 4 5 5 变式  有如下Python程序段,下列说法正确的是( D ) s1=[12,15,28] s2=[15,28,32] i=0 while i<=len(s1)-1: if s1[i] not in s2: print(s1[i]) i=i+1 A.该程序输出结果为32 B.循环结束后i的值为2 C.该程序输出的结果为[12] D.该程序实现的功能是输出s1 中有但s2 中没有的元素 【解析】 程序实现的功能是输出s1 中有但s2 中没有的元素,输出结果是12,选项D正确。   针对选考有如下Python程序段: n=int(input()) st=”” for i in range(1,n+1): for j in range(1,i+1,2): st+=”*” print(st) 若输入5,则执行该程序段后,输出的结果是( C ) A.        B.        C.        D. 【解析】 st在循环过程中没有初始化,”*”的数量逐行累加,选项C正确。 变式  针对选考有如下Python程序段: a=[1]*6 b=[96,88,84,91,99,80] for i in range(6): for j in range(i+1,6):    if b[j]>b[i]:      a[i]+=1    else:      a[j]+=1 print(a) 执行该程序段后,列表a的值为( B ) A.[5,3,2,4,6,1] B.[2,4,5,3,1,6] C.[10,6,4,8,12,2] D.[4,8,10,6,2,12] 【解析】 利用列表a对列表b中的元素按大小进行排名,数字越大,名次越高,选项B正确。 运行过程如下: 变量 a[0] a[1] a[2] a[3] a[4] a[5] i=0 2 2 2 2 1 2 i=1 2 4 3 2 1 3 i=2 2 4 5 2 1 4 i=3 2 4 5 3 1 5 i=4 2 4 5 3 1 6 i=5 2 4 5 3 1 6   2024·路桥中学检测有如下Python程序段: n='15867239012' s=0 for x in n: if int(x)%2==0: continue elif s==14: break s+=int(x) print(s) 执行该程序段后,输出的结果是( B ) A.18 B.26 C.14 D.17 【解析】 当x是偶数时,跳过当次循环,x没有累加到s中;当s==14成立时,跳出整个循环。s=1+5+7+3+9+1=26,选项B正确。 变式  有如下Python程序段: s=0 for i in range(10): if i%3==0: s+=1 else: continue s+=2 else: s+=1 print(s) 执行该程序段后,输出的结果是( C ) A.3 B.4 C.5 D.6 【解析】 程序利用循环统计0到9之间能被3整除的数字个数,其中continue跳过当次循环,不会执行s+=2;for循环正常结束,会执行else中的语句;当i为0,3,6,9时s+1,循环结束后再+1,选项C正确。   有如下Python程序段,测试结果如图所示。 n=int(input(”请输入行数: ”)) if n%2==0:#保证n的值为奇数 n=n-1 a=[] for i in range(n): if i<=n//2: b=2*i+1#当在上半部分的时候 else: ______________#当在下半部分的时候 ______________ a.append(” ”*w+”&”*b) for s in a: print(s) 上述程序段中横线处可选的代码有: ①b=n-2*i+1 ②b=(n-i)*2-1 ③w=(n-b)%2 ④w=(n-b)//2 下列选项中,代码顺序正确的是( D ) A.①③ B.①④ C.②③ D.②④ 【解析】 在下半部分时,“&”的个数逐渐减少,例如n为9,则i=5时开始下半部分,个数为8个,i=6时,个数为6个,推出公式b=(n-i)*2-1;第2个空是空格个数,每行总数有n个,减去“&”的个数,并除以2就是空格个数,选项D正确。 |随|堂|检|测| 1.有如下Python程序段: s=1 i=1 for i in [1,9,2]: s=s+i s=s+i print(s) 执行该程序段后,输出的结果是( B ) A.23 B.15 C.12 D.16 【解析】 i=1时,s=2;i=9时,s=11;i=2时,s=13;循环结束后,s=s+i=13+2=15,选项B正确。 2.有如下Python程序段: a=[9,1,7,3,8,4] key=5 pmin=a[0] for i in range(1,len(a)): if key<a[i]<pmin:    pmin=a[i] print(pmin) 执行该程序段后,输出的结果是( C ) A.1 B.4 C.7 D.9 【解析】 程序的功能是查找列表a中大于key的最小值,选项C正确。 3.有如下Python 程序段: while a!=b: if a>b:    a=a-b else: b=b//2 print(b) 若a、b的值分别为22和16,则执行该程序段后,输出的结果是( C ) A.0 B.1 C.2 D.16 【解析】 把a=22,b=16代入程序,第5次循环后,a==b,循环结束,b的值为2,选项C正确。 4.针对选考2024·嘉兴一中检测有如下Python 程序段: a=[] #创建一个空列表a for i in range(11,31,2): flag=True for j in range(2,i):    if i%j==0:     flag=False     break if flag==True:  a.append(i) #把变量i 的值添加到列表a中 执行该程序段后,列表a 中的元素个数为( B ) A.5 B.6 C.7 D.10 【解析】 程序的功能是将11到31(不含)之间的素数添加到列表a中,有11,13,17,19,23,29,共6个,选项B正确。 5.2024·绍兴鲁迅中学检测如图所示,EAN13标准码共13位数,第1~3位是国家代码,第4~7位是厂商代码,第8~12位是商品代码,第13位是校验码。 计算校验码的方法如下: ①计算前十二位中奇数位的数字之和,如6+0+2+4+6+8=26; ②计算前十二位中偶数位的数字之和,如9+1+3+5+7+9=34; ③将奇数位数字之和与偶数位数字之和的三倍相加,如26+34×3=128; ④用10减去步骤③结果的个位数,如128的个位数为8,10-8=2。 计算校验码的Python程序段如下: s=input(”请输入EAN13标准码的前12位: ”) sum=0;sum1=0;sum2=0;f=0 for i in range(len(s)): if ①________:  sum1+=int(s[i]) else: sum2+=int(s[i]) sum=②________ f=10-sum%10 print(”校验码为: ”,f) 上述程序段中①、②处应填入的代码分别为( D ) A.①i%2==1 ②sum1+sum2 B.①i%2==0 ②sum1+sum2 C.①i%2==1 ②sum1+sum2*3 D.①i%2==0 ②sum1+sum2*3 【解析】 由方法③得到,sum1为奇数位数字之和,sum2为偶数位数字之和,奇数位的索引i为偶数,则选项D正确。 6.2023·浙江6月选考已排序的列表a 有n 个整型元素,现要查找出现次数最多的值并输出。若出现次数最多的值有多个,则输出最前面的一个。实现该功能的Python程序段如下: c,m,v=1,1,0 for i in range(1,n):   # print(a[v]) 上述程序段中加框处应填入的代码为( A ) A.if a[i]==a[i-1]: c+=1 if c>m: m=c v=1 else:    c=1 B.if a[i]==a[i-1]: c+=1 if c>m: m=c v=1  else:     c=1 C.if a[i]==a[i-1]: c+=1 else:    if c>m:    m=c    v=i-1    c=1 D.if a[i]==a[i-1]: c+=1 else:     if c>m:       m=c       v=i-1     c=1 【解析】 由于列表a 为有序列表,即有“值相同的数都是相邻的”这一逻辑关系,因此计算每个数的出现次数,可以通过检查相邻两个数进行统计。观察程序段和选项中的代码可知:变量v 为次数最多的值在列表a 中的索引,变量c 为当前数值的出现次数,变量m 用于统计出现次数中的最大值。其算法思想为:若相邻两个数相等,则计数器c 加1,否则应该将c 变为初值1。首先可以排除选项B,因为该选项中else 分支不符合逻辑。选项C、D 都存在缺陷,例如最多的一组相同的数出现在列表的最后时,不能准确统计结果。例如a=[2,3,3,3,4,4,4,4,4],此时输出值为3,而正确结果为4。选项A 逻辑结构合理,可以完成各种情况的统计任务。 温馨提示:请完成高效作业9 ) 学科网(北京)股份有限公司 $$

资源预览图

第3章 第9课 循环结构-【精彩三年】2024-2025学年高中信息技术必修第一册课程探究与巩固Word教参(浙教版2019)
1
第3章 第9课 循环结构-【精彩三年】2024-2025学年高中信息技术必修第一册课程探究与巩固Word教参(浙教版2019)
2
第3章 第9课 循环结构-【精彩三年】2024-2025学年高中信息技术必修第一册课程探究与巩固Word教参(浙教版2019)
3
所属专辑
相关资源
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。