(共25张PPT)
2.1 解决问题的一般过程
和用计算机解决问题
思考:
假如你是一名交通警察,在无信号灯或信号灯不能正常工作的路口,为保证道路畅通,你会如何进行交通疏导?
情境导入 分组探究
分析问题
寻找解决问题的途径与方法
解决问题并
验证结果
1.解决问题的一般过程
遇到问题
解决问题
找经验
交警
人工解决问题的过程
看车流量与人流量
根据经验思考解决方式
指挥交通
分析问题
寻找解决问题的途径与方法
解决问题并验证结果
人工解决问题的过程
计算机解决问题初体验
——红灯变绿灯
交通信号控制系统是利用计算机程序控制红绿灯变化来指挥交通。
随着物联网、大数据和人工智能等技术的发展,还可以根据联网数据精准地自动调节红绿灯的时长,实现多路口信号灯的智能联动控制。
问题解决
实践活动2
计算机解决问题的过程——设计方案
【项目】编程控灯利出行
——自助式人行过街红绿灯
通过编程,模拟实现“自助式人行过街红绿灯”的效果,体验计算机求解问题的过程。
自助式人行过街红绿灯
分析问题
寻找解决问题的
途径与方法
解决问题并验证结果
1 明确目标·抽象建模
用计算机解决问题即让计算机按照程序执行指令。
2.用计算机解决问题的过程
信号灯 初始状态 单击按钮: 信号灯的变化 信号灯
终止状态
红灯倒计时15 s
红灯亮
禁行
禁行
红灯亮
绿灯亮保持20 s
通行
等待
分析问题
分析问题
寻找解决问题的
途径与方法
解决问题并验证结果
1 明确目标·抽象建模
计算机按照程序执行指令。
2 过程分解·设计方案
2.计算机解决问题的过程
原始问题
主要功能1
主要功能m
子功能1
子功能n
……
……
……
针对各个特定功能分别进行详细的操作步骤设计
——即算法设计
子功能
子功能
设计方案
原始问题:自助式人行过街红绿灯 按钮 信号灯变化 计时器 可用 不可用 红灯亮 红灯保持15 s 绿灯亮 绿灯保持20 s 设定时间 计时 显示 计时结束
操作步骤设计:
红灯亮;
保持15 s;
计时设15 s;
倒计时显示;
……
算法设计
设计方案
分析问题
寻找解决问题的
途径与方法
解决问题并验证结果
1 明确目标·抽象建模
2 过程分解·设计方案
3 编程调试·验证结果
2.计算机解决问题的过程
编写程序
利用计算机程序设计语言描述算法,实现问题求解的过程。
调试程序
发现错误分析其产生的原因,并进行改正;对运行的结果进行分析和验证,判断其是否正确和完整。
Python语言
编程调试
#初始化红绿灯
light = turtle.Turtle()
light.hideturtle()
light.screen.delay(0) # 禁用绘制过程的动画显示
# 红灯亮
light.color("red", "red")
light.begin_fill()
light.circle(20)
light.end_fill()
# 红灯保持显示
time.sleep(10)
# 绿灯亮
light.color("green", "green")
light.begin_fill()
light.circle(20)
light.end_fill()
用Python语言模拟交通信号灯“红灯变绿灯”的过程。
编程调试
计算机解决问题的过程——编程调试
参考答案
不同路口车流量不同,同一路口不同时段车流量也不同,因此红绿灯显示时长不是固定的,会随车流量而改变。如果设置红灯、绿灯显示时长均为35 s,如何实现?
请打开程序模板“红灯变绿灯-倒计时35秒.py”,完善、运行、验证,更改红灯、绿灯的显示时长。
巩固完善 发展思维
计算机编程解决问题的一般过程:
1.分析问题
明确目标、条件等
抽象建模
描述问题
2.设计方案
功能分解(多次分解不唯一)
详细的步骤设计(算法设计)
3.编程调试
编写程序(用程序设计语言描述算法)
调试程序(改正错误,验证结果)
4.解决问题
检验答案、评估效果,最终解决问题
主题探究
提出问题
分析问题
设计方案
编程调试
解决问题
计算机解决问题的过程
人解决问题的一般过程
计算机编程解决问题的一般过程
1.分析问题
2.寻找解决问题的途径与方法
3.解决问题验证结果
1.分析问题
2.设计方案
3.编程调试
4.解决问题
调试程序,分析、验证结果
抽象建模,描述问题
功能分解,适合计算机执行的步骤设计(算法设计)
对比总结
运算速度快
计算精度高
逻辑运算能力强
存储量大
自动化程度高
人工智能
大数据
物联网
……
计算机解决问题的优势
小结