内容正文:
《周而复始的循环-计数循环》教学设计
1、 教学目标
1.了解计数循环(for循环)的基本格式。
2.掌握range()函数产生数字序列的用法。
3.熟练使用计数循环解决实际问题。
4.体验根据已知问题,分析问题、设计算法、编写程序、调试程序的过程。
2、 教学重难点
重点:
(1)掌握range()函数产生数字序列的用法。
(2)熟练使用计数循环解决实际问题。
难点:熟练使用计数循环解决实际问题
3、 教学方法
讲授法、启发式、探究式、任务驱动、小组讨论等教学方法。
4、 教学过程
教学环节
教师活动
学生活动
设计意图
教学引入
1、播放一段棋盘上的麦粒的动画视频。
师:这是一则关于国际象棋的传说,棋盘上的麦粒。想一想,如果只有一张纸和一支笔的情况下你会如何计算麦粒总数呢?
师:像这样重复不断地做一件事,体现了我们之前学过的哪种结构呢?
2、复习程序控制的三种程序:
(1)顺序结构:程序自上而下的执行
(2)分支结构:也叫选择结构,当菱形框的条件成立时,执行A,不成立时执行B。
(3)循环结构:条件成立时,形成一个闭环反复的执行A,条件不成立,则跳出循环。
3、师:重复的做一件事情对人来说是非常厌烦的,但却是计算机最擅长的,这节课我们就来学习《周而复始的循环-计数循环》 。—引出课题
观看视频,并思考问题
学生回答
学生回忆
引起学生兴趣和思考,复习旧知的同时引出本课知识。
新知新授
(一)介绍for循环结构
1、循环结构:
(1)计数循环:循环指定次数,达到次数之后循环停止。
(2)条件循环:满足某个条件时可以循环,条件不满足则停止循环。
师:今天我们主要学习第一种循环-计数循环
师:计数循环使用关键字for表示,所以也叫for循环
2、出示for 循环基本结构:
for 循环变量 in 列表 :
语句或者语句组
依次介绍for循环结构的各个部分:
(1)关键字for:for 和in 是固定搭配,for 循环也可称为for in 循环。
(2)冒号,缩进:一个缩进相当于4个空格或1个tab,缩进表示代码的从属关系。
(3)循环体:这里的语句或语句组就属于上面的for循环语句,成为循环体。
(4)循环变量:复习变量的命名规则
(5)列表:复习列表
(6)循环变量与列表的联系:循环变量每次从列表里面按顺序取一个数值并执行循环体,直到列表里的所有数值被取完,循环结束。
3、举例演示循环变量到列表取值的过程:
如:for 循环变量 in [3,4,5]:
循环体
说明:第一次变量到列表取3并执行循环体,第二次变量到列表取4并执行循环体,第三次变量到列表取5并执行循环体,直到所有数值取完,循环结束。
追问:循环体被执行了几次?循环体循环的次数和什么有关?
(二)列表的表达方式
1、列表的表达方式:
师:刚才是将列表[3,4,5]直接罗列出来,那列表还有以下几种表达方式:
(1)直接罗列
(2)先定义后使用
(3)使用range()函数
2、在python中演示列表的两种表达方式:
1.直接罗列 2.先定义后使用
for i in [3,4,5]: list=[3,4,5]
print(i) for i in list:
print(i)
任务一:
编程练习:定义一个列表并将列表里的元素依次输出
(编写程序时请参考上方的for循环的基本结构)
(三)使用range函数生成列表
师:如果要输出1-100的数字呢?-引出range函数
1、 运行程序,发现规律
for i in range(1,101,1):
print(i) 运行结果: 1~100
for i in range(1,101):
print(i) 运行结果: 1~100
for i in range(100):
print(i) 运行结果: 0~99
2、 学生汇报,归纳总结
range( start , stop , step)
参数说明:
start: 计数从 start 开始。缺省默认是从 0 开始。例如range(100)等价于range(0,100);
stop: 计数到 stop 结束,但不包括 stop(不可缺省)。
例如:range(1,101) 运行结果是1~100,没有101。
step:步长,默认为1。例如:range(1, 101) 等价于 range(1, 101, 1),可以为负值。
任务二:
编程练习:使用range()函数,输出1~100的数字for i in ①:
print(②)
小组合作:小组合作-敲7游戏
100(含100)以内敲七游戏规则:
依次从1开始顺序输出,只要是7的倍数则输出。
(4) 利用for 循环解决实际问题
师:利用for循环还可以解决一些实际的数学问题
1、 利用python求棋盘上麦粒的总数
(1)分析问题:从第1格麦粒数加到第64格麦粒数实际上就是一个累加的过程,即循环。
(2)设计算法:
①.需要有一个循环变量从0变化到63,将该变量命名为i;
for i in range(0,64)
②.还需要另外一个临时变量记录累加的结果,将临时变量命名为sum,初值为0,变量i每增加1时,就和变量sum进行一次加法运算:
sum=sum+2**i
(3) 编写程序
sum=0
for i in range(0,64):
sum=sum+2**i
print(sum)
(4) 调试运行
任务三:
编程练习:完善程序,求棋盘上的麦粒总数。
学生理解for 循环各部分的作用同时复习变量、列表等旧知
学生一边观察演示一边思考问题
学生操作
学生运行程序,观察运行结果,探究range函数的参数规律
学生与师一起总结规律
学生练习
学生合作
学生体验根据已知问题,分析问题、设计算法、编写程序、调试程序的过程
学生完善程序,理解s在什么情况下赋初值为1,什么情况赋初值0
让学生掌握for循环基础知识,为后面的解决实际问题打下基础
讲授新知的同时兼顾旧知的巩固
让学生直观的感受循环变量的取值过程,帮助学生对知识的理解
学生通过实践发现range函数的规律,培养学生自主探究的能力
在学生汇报的基础上进行归纳总结,帮助学生系统的梳理知识
通过合作帮助学生巩固range函数的理解
通过分析问题、设计算法、编写程序以及调试运行检验结果这4个环节,让学生感受计算机解决问题过程
通过进阶练习,引导学生进一步巩固计数循环的使用方法,提升运用编程解决实际问题的能力
课堂小结
回顾本节课讲授内容:
1、次数循环使用关键字for表示,所以也叫for循环或者for-in循环。
2、for循环的一般格式:
for 循环变量 in 列表:
循环体
3、列表可以有以下几种表达方式:
(1)直接罗列的方式。
(2)先定义后使用的方式。
(3)使用range()函数。
4、range函数的使用方法
回顾本节课所学内容。
进行课堂小结,帮助学生巩固知识。
1
学科网(北京)股份有限公司
$$