资源简介 (共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=10b=2c=a/ba=10b=0c=a/b0不可以做除数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万次逐一分组课程小结项目任务 活 动 知识链接通过对手工洗衣步骤的总结和洗衣机洗衣流程的观察、描述,认识算法及其特征。 活动一:描述手工洗衣步骤 活动二:探究洗衣机的洗衣 算法 活动三:描述洗衣机的洗衣 算法 认识算法算法的特征算法的评价【课后作业】寻找生活中的算法,试着去描述它,描述的过程中考虑算法的特征。 展开更多...... 收起↑ 资源预览