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