1.从洗衣流程认识算法 课件(共51张PPT)高中信息技术沪科版(2019)必修1

资源下载
  1. 二一教育资源

1.从洗衣流程认识算法 课件(共51张PPT)高中信息技术沪科版(2019)必修1

资源简介

(共51张PPT)
从洗衣流程认识算法
项目导入
洗衣机被誉为历史上100个最伟大的发明之一。
模拟人工洗衣过程
自动执行洗衣流程
它的发明将人类从繁重的洗衣劳动中解放出来。
算法
项目主题:描述洗衣机的洗衣流程
自动化
算法思想
通过对手工洗衣步骤的总结和洗衣机洗衣流程的观察、描述,认识算法及其特征。
项目主题:描述洗衣机的洗衣流程
【活动1】描述手工洗衣步骤
请同学们结合生活经验,说一说,手工洗衣服经过的步骤。
“手工洗衣算法”
【活动1】描述手工洗衣步骤
算法?
【知识链接1】认识算法
广义的讲,算法就是在有限步骤内解决某一问题所使用的方法。
割圆术求圆周率
广义的讲,算法就是在有限步骤内解决某一问题的所使用的方法。
“手工洗衣算法”
算法是解决“做什么”和“怎么做”的具体步骤的描述。
生活中的算法
【知识链接1】认识算法
【知识链接1】认识算法
算法是计算机帮助人做事的基础。
如果没有了算法,计算机就没有办法 解决人类提出的任何问题。
【小贴士】
自动化
自动化
【小贴士】
单片机——洗衣机工作的大脑
【小贴士】
单片机——洗衣机工作的大脑
【小贴士】
单片机
洗衣机
洗衣算法
程序
机电运转
存储
编写
控制
完成洗衣工作
洗衣机预设了多种的洗衣模式。如“快洗”、“强力洗”、“单洗涤”等模式。
请仔细观察,认真思考。该图是在“快洗”模式下某洗衣机的洗衣算法吗?为什么?
【活动2】探究洗衣机的洗衣算法
先做
再做
【知识链接2】算法的特征
1.有穷性
算法必须由有限个步骤组成,并在有限的时间内能够实现。
依次输出100以内所有的奇数 依次输出所有的奇数
1,3,5,7……99 共50个 无穷个
2.确定性
算法中的每一个步骤都应该是确定的,没有歧义的。
a=10 a=自然数
【知识链接2】算法的特征
3.可行性
算法中的每一个步骤都可以被计算机执行,并且得到确定的结果。
【知识链接2】算法的特征
a=10
b=2
c=a/b
a=10
b=0
c=a/b
0不可以做除数
4.有零个或多个输入
算法在执行时要从外部获取的数据,可以是多个也可以是零个。
例如:求a和b两个数的和。
输入 a a=10
输入 b b=13
输出 a+b 输出 a+b
【知识链接2】算法的特征
5.有一个或多个输出
输出是算法执行的结果,是按照算法对数据进行处理所得到的结果。
例:
洗衣机洗衣算法的一种输出形式。
【知识链接2】算法的特征
告知用户洗衣任务结束
启动蜂鸣器鸣叫
算法的特征
可行性
有一个或多个输出
有零个或多个输入
确定性
有穷性
【知识链接2】算法的特征
【活动2】探究洗衣机的洗衣算法
无可执行的细节
不可执行
不是洗衣机算法
执行一次“洗涤”操作的步骤
电动机正转30秒
停止2秒
电动机反转30秒
停止2秒
观察洗衣机的“洗涤”状态,说一说,下面的四个步骤是“快洗”模式中“洗涤”操作的算法吗?
洗涤状态
【活动2】探究洗衣机的洗衣算法
认真观看某洗衣机“单洗涤”模式的工作模拟动画,尝试描述其洗衣算法。在算法描述的过程中,注意如何体现算法的特征。(说明:启动前默认已手动添加洗衣液)
提示:该视频可以反复观看。
【活动3】描述洗衣机的洗衣算法
【活动3】描述洗衣机的洗衣算法
进水
洗涤
输出
开始
学生算法描述 ①点击启动按钮 ⑩电动机正转5秒
②开始进水 停止2秒
③到达传感器水位 电动机反转5秒
④停止进水 停止2秒
⑤停止2秒 电动机正转5秒
⑥电动机转5秒 停止2秒
⑦停止2秒 电动机反转5秒
⑧电动机反转5秒 停止2秒
⑨停止2秒 报警结束
学生算法描述 ①点击启动按钮 ⑩电动机正转5秒
②开始进水 停止2秒
③到达传感器水位 电动机反转5秒
④停止进水 停止2秒
⑤停止2秒 电动机正转5秒
⑥电动机转5秒 停止2秒
⑦停止2秒 电动机反转5秒
⑧电动机反转5秒 停止2秒
⑨停止2秒 报警结束
【活动3】描述洗衣机的洗衣算法
进水
洗涤
输出
开始
学生算法描述 ①点击启动按钮 ⑩电动机正转5秒
②开始进水 停止2秒
③到达传感器水位 电动机反转5秒
④停止进水 停止2秒
⑤停止2秒 电动机正转5秒
⑥电动机转5秒 停止2秒
⑦停止2秒 电动机反转5秒
⑧电动机反转5秒 停止2秒
⑨停止2秒 报警结束
【活动3】描述洗衣机的洗衣算法
进水
洗涤
输出
算法特征分析 算法特征 是否满足
零个或多个输入 满足
一个或多个输出 满足
有穷性 满足
确定性 不满足
可行性 不满足
有歧义
不可执行
开始
修改后的算法描述 ①点击启动按钮 ⑩电动机正转5秒
②开始进水 停止2秒
③水到达传感器水位 电动机反转5秒
④停止进水 停止2秒
⑤停止2秒 电动机正转5秒
⑥电动机正转5秒 停止2秒
⑦停止2秒 电动机反转5秒
⑧电动机反转5秒 停止2秒
⑨停止2秒 报警结束
【活动3】描述洗衣机的洗衣算法
入水阀门打开,开始进水
入水阀门关闭,停止进水
蜂鸣器开启,鸣叫3秒结束
【活动3】描述洗衣机的洗衣算法
同学们还能用更少的步骤来描述这个算法吗?
修改后的算法描述 ①点击启动按钮 ⑩电动机正转5秒
②入水阀门打开,开始进水 停止2秒
③水到达传感器水位 电动机反转5秒
④入水阀门关闭,停止进水 停止2秒
⑤停止2秒 电动机正转5秒
⑥电动机正转5秒 停止2秒
⑦停止2秒 电动机反转5秒
⑧电动机反转5秒 停止2秒
⑨停止2秒 蜂鸣器开启,鸣叫3秒结束
修改后的算法描述 ①点击启动按钮 ⑩电动机正转5秒
②入水阀门打开,开始进水 停止2秒
③水到达传感器水位 电动机反转5秒
④入水阀门关闭,停止进水 停止2秒
⑤停止2秒 电动机正转5秒
⑥电动机正转5秒 停止2秒
⑦停止2秒 电动机反转5秒
⑧电动机反转5秒 停止2秒
⑨停止2秒 蜂鸣器开启,鸣叫3秒结束
1次
2次
3次
请同学们观察,第6步到第17步有什么规律?
【活动3】描述洗衣机的洗衣算法
【活动3】描述洗衣机的洗衣算法
⑥电动机正转5秒
⑦停止2秒
⑧电动机反转5秒
⑨停止2秒
⑩电动机正转5秒
停止2秒
电动机反转5秒
停止2秒
电动机正转5秒
停止2秒
电动机反转5秒
停止2秒
⑥电动机正转5秒
⑦停止2秒
⑧电动机反转5秒
⑨停止2秒
⑩电动机正转5秒
停止2秒
电动机反转5秒
停止2秒
电动机正转5秒
停止2秒
电动机反转5秒
停止2秒
电动机正转5秒
停止2秒
电动机反转5秒
停止2秒
增加判断执行
“洗涤”次数的条件
⑧电动机正转5秒
⑨停止2秒
⑩电动机反转5秒
停止2秒
洗涤次数+1,返回⑦
⑥洗涤次数初始值为0
⑦若洗涤次数<3,
执行步骤⑧,
否则执行步骤
蜂鸣器开启,鸣叫3秒结束
洗涤操作
洗涤操作
洗涤操作
修改
第二种算法描述如下:
【活动3】描述洗衣机的洗衣算法
算法二 ①点击启动按钮 ⑧电动机正转5秒
②入水阀门打开,开始进水 ⑨停止2秒
③到达传感器水位 ⑩电动机反转5秒
④入水阀门关闭,停止进水 停止2秒
⑤停止2秒 洗涤次数+1,返回⑦
⑥洗涤次数初始值为0 蜂鸣器开启,鸣叫3秒结束
⑦若洗涤次数<3, 执行步骤 ⑧, 否则,执行步骤
算法二 ①点击启动按钮 ⑧电动机正转5秒
②入水阀门打开,开始进水 ⑨停止2秒
③到达传感器水位 ⑩电动机反转5秒
④入水阀门关闭,停止进水 停止2秒
⑤停止2秒 洗涤次数+1,返回⑦
⑥洗涤次数初始值为0 蜂鸣器开启,鸣叫3秒结束
⑦若洗涤次数<3, 执行步骤 ⑧, 否则,执行步骤
第二种算法描述如下:
【活动3】描述洗衣机的洗衣算法
算法二 ①点击启动按钮 ⑧电动机正转5秒
②入水阀门打开,开始进水 ⑨停止2秒
③到达传感器水位 ⑩电动机反转5秒
④入水阀门关闭,停止进水 停止2秒
⑤停止2秒 洗涤次数+1,返回⑦
⑥洗涤次数初始值为0 蜂鸣器开启,鸣叫3秒结束
⑦若洗涤次数<3, 执行步骤 ⑧, 否则,执行步骤
第二种算法描述如下:
【活动3】描述洗衣机的洗衣算法
算法二 ①点击启动按钮 ⑧电动机正转5秒
②入水阀门打开,开始进水 ⑨停止2秒
③到达传感器水位 ⑩电动机反转5秒
④入水阀门关闭,停止进水 停止2秒
⑤停止2秒 洗涤次数+1,返回⑦
⑥洗涤次数初始值为0 蜂鸣器开启,鸣叫3秒结束
⑦若洗涤次数<3, 执行步骤 ⑧, 否则,执行步骤
第二种算法描述如下:
【活动3】描述洗衣机的洗衣算法
算法二 ①点击启动按钮 ⑧电动机正转5秒
②入水阀门打开,开始进水 ⑨停止2秒
③到达传感器水位 ⑩电动机反转5秒
④入水阀门关闭,停止进水 停止2秒
⑤停止2秒 洗涤次数+1,返回⑦
⑥洗涤次数初始值为0 蜂鸣器开启,鸣叫3秒结束
⑦若洗涤次数<3, 执行步骤 ⑧, 否则,执行步骤
第二种算法描述如下:
【活动3】描述洗衣机的洗衣算法
算法二 ①点击启动按钮 ⑧电动机正转5秒
②入水阀门打开,开始进水 ⑨停止2秒
③到达传感器水位 ⑩电动机反转5秒
④入水阀门关闭,停止进水 停止2秒
⑤停止2秒 洗涤次数+1,返回⑦
⑥洗涤次数初始值为0 蜂鸣器开启,鸣叫3秒结束
⑦若洗涤次数<3, 执行步骤 ⑧, 否则,执行步骤
第二种算法描述如下:
【活动3】描述洗衣机的洗衣算法
算法二 ①点击启动按钮 ⑧电动机正转5秒
②入水阀门打开,开始进水 ⑨停止2秒
③到达传感器水位 ⑩电动机反转5秒
④入水阀门关闭,停止进水 停止2秒
⑤停止2秒 洗涤次数+1,返回⑦
⑥洗涤次数初始值为0 蜂鸣器开启,鸣叫3秒结束
⑦若洗涤次数<3, 执行步骤 ⑧, 否则,执行步骤
第二种算法描述如下:
【活动3】描述洗衣机的洗衣算法
算法二 ①点击启动按钮 ⑧电动机正转5秒
②入水阀门打开,开始进水 ⑨停止2秒
③到达传感器水位 ⑩电动机反转5秒
④入水阀门关闭,停止进水 停止2秒
⑤停止2秒 洗涤次数+1,返回⑦
⑥洗涤次数初始值为0 蜂鸣器开启,鸣叫3秒结束
⑦若洗涤次数<3, 执行步骤 ⑧, 否则,执行步骤
第二种算法描述如下:
【活动3】描述洗衣机的洗衣算法
算法二 ①点击启动按钮 ⑧电动机正转5秒
②入水阀门打开,开始进水 ⑨停止2秒
③到达传感器水位 ⑩电动机反转5秒
④关闭入水阀门,停止进水 停止2秒
⑤停止2秒 洗涤次数+1,返回⑦
⑥洗涤次数初始值为0 蜂鸣器开启,鸣叫3秒结束
⑦若洗涤次数<3, 执行步骤 ⑧, 否则,执行步骤
为真,再执行第8步
第二种算法描述如下:
【活动3】描述洗衣机的洗衣算法
算法二 ①点击启动按钮 ⑧电动机正转5秒
②入水阀门打开,开始进水 ⑨停止2秒
③到达传感器水位 ⑩电动机反转5秒
④关闭入水阀门,停止进水 停止2秒
⑤停止2秒 洗涤次数+1,返回⑦
⑥洗涤次数初始值为0 报警器开启鸣叫3秒结束
⑦若洗涤次数<3, 执行步骤 ⑧, 否则,执行步骤
否则执行第13步
第二种算法描述如下:
【活动3】描述洗衣机的洗衣算法
算法二 ①点击启动按钮 ⑧电动机正转5秒
②入水阀门打开,开始进水 ⑨停止2秒
③到达传感器水位 ⑩电动机反转5秒
④入水阀门关闭,停止进水 停止2秒
⑤停止2秒 洗涤次数+1,返回⑦
⑥洗涤次数初始值为0 报警器开启鸣叫3秒结束
⑦若洗涤次数<3, 执行步骤 ⑧, 否则,执行步骤
否则执行第13步
第二种算法描述如下:
【活动3】描述洗衣机的洗衣算法
算法比较:
算法二 ①点击启动按钮 ⑧电动机正转5秒
②入水阀门打开,开始进水 ⑨停止2秒
③到达传感器水位 ⑩电动机反转5秒
④入水阀门关闭,停止进水 停止2秒
⑤停止2秒 洗涤次数+1,返回⑦
⑥洗涤次数初始值为0 蜂鸣器开启,鸣叫3秒结束
⑦若洗涤次数<3,执行步骤⑧, 否则,执行步骤
算法一 ①点击启动按钮 ⑩电动机正转5秒
②入水阀门打开,开始进水 停止2秒
③到达传感器水位 电动机反转5秒
④入水阀门关闭,停止进水 停止2秒
⑤停止2秒 电动机正转5秒
⑥电动机正转5秒 停止2秒
⑦停止2秒 电动机反转5秒
⑧电动机反转5秒 停止2秒
⑨停2止秒 蜂鸣器开启,鸣叫3秒结束
vs
【活动3】描述洗衣机的洗衣算法
减少了5步
算法比较:
算法二 ①点击启动按钮 ⑧电动机正转5秒
②入水阀门打开,开始进水 ⑨停止2秒
③到达传感器水位 ⑩电动机反转5秒
④入水阀门关闭,停止进水 停止2秒
⑤停止2秒 洗涤次数+1,返回⑦
⑥洗涤次数初始值为0 蜂鸣器开启,鸣叫3秒结束
⑦若洗涤次数<3,执行步骤⑧, 否则,执行步骤
算法一 ①点击启动按钮 ⑩电动机正转5秒
②入水阀门打开,开始进水 停止2秒
③到达传感器水位 电动机反转5秒
④入水阀门关闭,停止进水 停止2秒
⑤停止2秒 电动机正转5秒
⑥电动机正转5秒 停止2秒
⑦停止2秒 电动机反转5秒
⑧电动机反转5秒 停止2秒
⑨停2止秒 蜂鸣器开启,鸣叫3秒结束
vs
【活动3】描述洗衣机的洗衣算法
思考:如果增加“洗涤”操作步骤,令其执行10次。哪一种算法更容易修改?
第二种描述的步骤少,更为简洁,也便于修改。
可读性高
1.可读性
算法应当是可读的、理解的,方便被人分析、修改和使用。
2.正确性
算法首先是正确的,即对任意一组输入,包括合理与不合理的输入,总能得到预期的输出。
3.高效性
好的算法应该具备时间效率高和存储量低的特点。
【知识链接3】算法的评价
评价一个算法的好坏,可以考虑以下几个指标:
例:
【知识链接3】算法的评价
1.可读性
算法应当是可读的、理解的,方便被人分析、修改和使用。
2.正确性
算法首先是正确的,即对任意一组输入,包括合理与不合理的输入,总能得到预期的输出。
3.高效性
好的算法应该具备时间效率高和存储量低的特点。
【知识链接3】算法的评价
评价一个算法的好坏,可以考虑以下几个指标:
例:
新冠感染病例筛查为例
1000万
分组
再逐一
效率提高10倍
【知识链接3】算法的评价
思考:若感染的人数较多,这个办法还适用吗?
1000万次
100万次
逐一
分组
课程小结
项目任务 活 动 知识链接
通过对手工洗衣步骤的总结和洗衣机洗衣流程的观察、描述,认识算法及其特征。 活动一:描述手工洗衣步骤 活动二:探究洗衣机的洗衣 算法 活动三:描述洗衣机的洗衣 算法 认识算法
算法的特征
算法的评价
【课后作业】
寻找生活中的算法,试着去描述它,描述的过程中考虑算法的特征。

展开更多......

收起↑

资源预览