(共29张PPT)
2.3.3 语句与程序结构——循环结构
2.3.3 语句与程序结构——循环结构
请5名同学排成一排,沿着规定的路线跑圈,当老师吹哨时才能停下。
请5名同学排成一队跳绳,一名同学跳完10个换下一名同学跳,直到所有的同学都做完。
玩游戏
while 条件表达式:
循环体语句块
while 哨声没响:
跑圈
2.3.3 语句与程序结构——循环结构
跳绳游戏类型的循环如何实现?
2.3.3 语句与程序结构——循环结构
for循环语句
2.3.3 语句与程序结构——循环结构
第一步:掌握for循环基本格式;
第二步:尝试用流程图描述for循环;
第三步:用for循环实现“倒计时15 s”的程序。
自主学习
2.3.3 语句与程序结构——循环结构
i的值依次为(15,14,…,3,2,1)
2.3.3 语句与程序结构——循环结构
2.3.3 语句与程序结构——循环结构
红灯变绿灯的过程
倒计时同步显示
自助式
红绿灯
综合应用 基础知识 实现项目
2.3.3 语句与程序结构——循环结构
自助式人行过街红绿灯问题的具体解决过程?
2.3.3 语句与程序结构——循环结构
“自助式人行过街红绿灯”问题解决过程
初始状态 单击按钮后信号灯变化 终止状态
红灯亮, 按钮可点击
红灯亮
倒计时
绿灯亮
倒计时
红灯亮,
按钮可点击
开始
绘制终止状态
绘制初始状态
绘制禁行灯
输出倒计时
绘制通行灯
输出倒计时
按钮被点击
是
怎么
实现?
2.3.3 语句与程序结构——循环结构
开始
绘制终止状态
绘制初始状态
绘制禁行灯
输出倒计时
绘制通行灯
输出倒计时
按钮被点击
是
假设程序中红绿灯倒计时都为5 s,哪些代码应该重复执行呢?各执行几次呢?
每秒绘制一次灯并输出一次倒计时应该用什么语句实现?
i:绘制禁行灯、输出倒计时循环变量
j:绘制通行灯、输出倒计时循环变量
i和j的取值范围?
请尝试将“绘制禁行灯,输出倒计时”和“绘制通行灯,输出倒计时”部分的流程图补充完整。
2.3.3 语句与程序结构——循环结构
要求:
将左侧的选项填入右侧流程图中的合适位置。
① 绘制禁行灯
② 绘制通行灯
③ 输出倒计时i
④ 输出倒计时j
⑤ i>0
⑥ j>0
①
②
③
④
⑤
⑥
2.3.3 语句与程序结构——循环结构
程序实现
2.3.3 语句与程序结构——循环结构
按钮控制红绿灯状态,显示倒计时
1
自助式人行过街红绿灯
版本一,小试牛刀
请自学微课,学习绘制灯的方法和输出倒计时的方法,实现用按钮控制红绿灯状态并显示倒计时。
循序渐进 逐步完善项目
2.3.3 语句与程序结构——循环结构
2.3.3 语句与程序结构——循环结构
现在我们初步实现了自助式红绿灯的程序,同学们感觉它和实际马路上的红绿灯相比还有哪些需要完善的地方?
应该增加点什么功能呢?
2.3.3 语句与程序结构——循环结构
变量 i=5 i=4 i=3 i=2 i=1 j=5 j=4 j=3 j=2 j=1
灯颜色
完善后
j>3:绘制通行灯;j<=3:绘制警示灯
根据变量值满足的条件执行不同语句,如何实现?
2.3.3 语句与程序结构——循环结构
2.3.3 语句与程序结构——循环结构
1
警示灯
(warnColors=[‘grey’,‘yellow’])
自助式人行过街红绿灯
版本二,挑战自我
根据流程图,完善程序,使用分支结构,实现加入黄色警示灯功能。
按钮控制红绿灯状态,显示倒计时
循序渐进 逐步完善项目
2.3.3 语句与程序结构——循环结构
如果行人甲按下按钮,在绿灯倒计时结束时刚过完马路,而行人乙此时恰好按下“按钮”请求过马路,那么,程序是否应该响应行人乙的请求?为什么?
给按钮增加一个“使用周期”
程序上如何实现呢?
循序渐进 逐步完善项目
2.3.3 语句与程序结构——循环结构
开始
绘制终止状态
绘制初始状态
绘制禁行灯
输出倒计时
按钮被点击
是
绘制警示灯
输出倒计时
暂停
5秒
绘制通行灯
输出倒计时
让程序暂停用什么语句呢?
time.sleep( )
2.3.3 语句与程序结构——循环结构
按钮控制
红灯变绿灯
1
警示灯
自助式人行过街红绿灯
版本三,再接再励
完善程序,加入按钮使用周期。
按钮周期
循序渐进 逐步完善项目
2.3.3 语句与程序结构——循环结构
思考讨论
一、通过前面三个任务,我们实现了自助式人行过街红绿灯的效果。试想一下,在日趋信息化智能化的现今社会中,物联网、大数据和人工智能应用普及,有没有更人性化、精准化或智能化的控制十字路口红绿灯时长变化的方案呢?尝试描述相应的解决方案。
二、突出项目的程序编写,红绿灯的时长变化用了5 s,实际上红灯绿灯的时长设置并不是简单给出的,而是交通部门根据实际情况结合一定算法给出的,如果让你改进这个时长你会考虑哪些因素?
2.3.3 语句与程序结构——循环结构
总结
1.for循环结构。
2.流程图。
3.项目分析、项目实现、项目完善、思考改进。
4.循序渐进、逐步完善的程序设计的思想。
2.3.3 语句与程序结构——循环结构
智能红绿灯
信息化、智能化,
物联网、人工智能、大数据,
人性化、精准化、智能化的,
控制十字路口红绿灯时长变化的方案。
1.思考这种交通灯最大的特点是什么?
2.行人数量是通过什么获取到的呢?
2.3.3 语句与程序结构——循环结构
传感器、雷达、GPS、视频采集器
数据采集
大数据技术复杂的算法计算出红绿灯时长
数据融合与计算
发送信号到各路口红绿灯
智能信号机
根据路口情况智能性设置红绿灯时长
智能红绿灯
智能红绿灯的实现
2.3.3 语句与程序结构——循环结构
谢谢观看
Thanks for watching