课程基本信息
课题
循环结构-for语句
教科书
书名:信息技术必修一:数据与计算
出版社:人民教育出版社/中国地图出版社
出版日期:2019
年
6
月
教学目标
教学目标:
1.理解for语句的作用;
2.掌握for语句的基本格式、执行过程及特点;
3.理解应用for语句解决实际问题的要素;
4.初步学会用for语句解决简单的实际问题的方法。
教学重点:for语句的特点、执行过程、基本格式、应用for语句的要素。
教学难点:初步学会用for语句编程解决实际问题的方法
教学过程
时间
教学环节
主要师生活动
3
环节一
导入:
提出任务一:
前面,我们学习了程序的顺序结构、选择结构和python的一些基础知识,下面有个任务请大家帮着完成:在机器人比赛中,需要设置如图的运行轨道,请同学们参考任务单中的学习材料,编程实现画10个同切圆的轨道图形,如图所示,圆的半径分别为(50,55,60,65,70,75,80,85,90,95)
展示代码:
import
turtle
#导入turtle库
t=turtle.Turtle()
t.hideturtle()
t.circle(50)
t.circle(55)
t.circle(60)
t.circle(65)
t.circle(70)
t.circle(75)
t.circle(80)
t.circle(85)
t.circle(90)
t.circle(95)
运行代码
提出问题:请同学们看一下这段代码有什么特点?(重复写10条t.circle()语句,刚才画10个圆,需要重复写10条t.circle()语句,如果画100个圆就得重复写100条t.circle语句,有没有一种既简化代码又实现相同效果的方法呢?
2
环节二:
实践体验
新课:for语句
一、体验for语句的功效,提出问题
任务2:请将下段代码输入到python编程平台,运行,看效果。
import
turtle
#导入turtle库
t=turtle.Turtle()
t.hideturtle()
for
n
in
[50,55,60,65,70,75,80,85,90,95]:
t.circle(n)
提出问题:为什么下列两段代码能实现同样的效果?
10
环节三:原理探秘
二、原理探秘
(一)案例探究-for语句的格式及执行过程
任务三:参考任务单的学习材料,分析任务二代码中for语句的执行过程,并将分析结果填入流程图中。
学生完成任务三
教师讲评、演示、操作
揭秘:
问题1:为什么两段代码实现同样的效果?
import
turtle
#导入turtle库
t=turtle.Turtle()
t.hideturtle()
for
n
in
[50,55,60,65,70,75,80,85,90,95]:
t.circle(n)
问题2:for语句的执行过程?
问题3:for语句的特点?重复执行循环体
由此可见,for语句的作用:简化代码。
问题:例子中for语句中的n,
[50,55,60,65,70,75,80,85,90,95],t.circle(n)
表示什么含义?
(二)探究for语句通用格式及其通用执行过程
1.通用格式
(1)案例体验-明确概念:
(2)案例推理-基本格式
(3)序列
①什么是序列:有顺序地组织在一起的数据元素的集合。
②序列的生成方式:
a.列表直接生成;
序列中元素可以是数值类型也可以是字符串类型
b.range()函数生成
案例体验:
for
i
in
range(50,100,5):
print(i
,
end=“,”)
格式:range(初值,终值,步长值)
作用:生成一个以初值开始,到终值之前结束的间隔是步长值的连续变化的等差整数序列,注意这个序列不包括终值。
在Python中,序列还有其他生成方式,如字典、元组等,在后续课程中学习。
2.通用执行过程
执行过程:首先判断循环变量是否成功取到序列中下一个元素?是,就执行循环体,接着继续判断循环变量是否成功取到序列中下一个元素?是,执行循环体,以此类推,一直到依次取完序列中的所有元素后,循环结束,执行循环结束后的语句。
明确了for语句的通用格式、通用执行过程及特点,如何用它编程解决生活中的实际问题呢?
7
环节四:
实际应用
任务4:银行办理业务时,需要输入账号和密码,密码输入正确时方可登录系统继续办理所需业务;每次登录有3次试错机会,如果密码连续3次输入错误,账号将被锁死。请你编程实现上述需求。
任务4-1:分析任务需求,在任务单中补充对应的算法流程图;
任务4-2:根据算法流程图,在任务单中将所缺代码写在横线上。
任务4-1:分析任务需求,在任务单中补充对应的算法流程图;
实践尝试
分析问题,补充算法流程图:
分析讲评:
(1)分析需求,回答问题:
①重复的操作(循环体)是谁?
②循环变量是谁?
③如何得到循环变量所需要的序列?
④为什么用这种生成序列的方式?
(2)补充流程图:
任务4-2:根据算法流程图,在任务单中将代码补充在横线上。
实践尝试:学生根据算法流程图尝试在任务单中将所缺代码补充在横线上。(注意级别缩进)。
2.分析讲评
调试运行程序,看效果:
提出问题:使用for语句解决实际问题时应考虑哪些要素?
1.确定是否有重复的操作及重复的操作(循环体)是什么?
2.确定循环变量是谁?
3.确定循环变量所需的序列怎么产生?
1
环节五:拓展
问题:你能说一说,生活中能用for语句编程实现的现象有哪些吗?
1
环节六
小结
本节课学习的要点:
for语句的基本格式;for
循环变量
in
序列:
循环体
for语句的执行过程及特点;
for语句执行过程是:循环变量依次取序列中的元素,直到序列中所有元素取完,才跳出循环,执行循环结束后的语句,
由此可见for语句是基于序列来控制循环的;
for语句的特点就是重复执行循环体;
3.for语句解决问题的要素。
循环体?循环变量?如何得到循环变量所需要的序列。
1
环节七课后练习
应用for语句简化下列程序,实现如图效果
补充程序,实现运行后的效果:
names=[”李丽”,”王海”,”张瀚”,”孙策”]
for_______
in
_________:
print(name)
程序执行后: