内容正文:
教材版本:沪教版高中信息技术必修1《数据与计算》
了解算法及其基本控制结构
项目五 描述洗衣机的洗衣流程
04.
分析洗衣流程的控制结构
03.
描述“洗涤算法”
02.
算法的特征
目录
CONTENTS
从洗衣流程认识算法
01.
05.
课堂练习、课后作业
邀请一位同学演示模拟手工洗衣过程
观察并思考:操作是否合理?
做一做
33a2652d-8bf6-4dc0-9f99-ecc22c083a1e.source.default.zh-Hans
3
从洗衣流程认识算法
手工洗衣算法
在盛有衣服的盆中加入适量的水和洗衣粉,搅拌均匀。
步骤一
揉搓衣服
步骤二
用清水漂洗
步骤三
将衣服从盆里拿起,拧干。
步骤四
算法是指在有限步骤内解决问题所使用的方法。算法通常是以一步接一步的方式来详细描述如何将输入或者预定初始值转化为所要求的输出的过程。
从洗衣流程认识算法
“做什么” “怎么做”
从洗衣流程认识算法
这个洗衣流程可以称为洗衣机的“洗衣算法”吗?
一个算法中每一个步骤的表述都应该是确定的、没有歧义的。
01
03
02
确定性
一个算法中每一个步骤的表述都应该是确定的、没有歧义的。
算法的特征
有穷性
一个算法在执行有限步骤后在有限时间内能够实现。
可行性
每一个步骤都可以有效地执行,并且得到正确的结果,同时能够用来方便地解决一类问题。
04
05
算法的特征
有零个或多个输入
输入就是算法在执行时从外界获得的数据,它们是算法执行的某些初始状态。
有一个或多个输出
输出就是算法执行的结果,也就是按照算法对数据进行处理所得到的结果。
描述“洗涤算法”
自然语言是人们日常使用的语言,这种描述方法对于人来说非常容易理解。
自然语言
描述“洗涤算法”
流程图由一些简单的框图组成,框图用来表示算法的步骤。流程图所使用的符号遵循国家颁布的标准。
流程图
洗涤开始
计数器清零
计数<5
电动机正转30秒
停2秒
电动机反转30秒
停2秒
计数器增1
蜂鸣
洗涤结束
是
否
流程图
洗涤开始
计数器清零
计数<5
电动机正转30秒
停2秒
电动机反转30秒
停2秒
计数器增1
蜂鸣
洗涤结束
是
否
描述“洗涤算法”
伪代码是一种算法描述语言,它是用介于自然语言和程序设计语言之间的人工语言来描述算法。
伪代码
洗涤开始
计数器清零
计数<5
电动机正转30秒
停2秒
电动机反转30秒
停2秒
计数器增1
蜂鸣
洗涤结束
是
否
自然语言
流程图
伪代码
观察三种描述方法,对比分析这三种描述方法的优缺点。
描述“洗涤算法”
描述“洗涤算法”
描述方法 优点 缺点
自然语言
流程图
伪代码
通俗易懂
描述用词要做到准确、统一,无二义性,且算法的控制结构和嵌套层次要清晰明确。
形象直观、清晰简洁,算法结构表达明确
当控制结构和嵌套层次较复杂时,对应流程图所占篇幅会比较大,影响可读性,也不易于修改。
书写方便、格式紧凑、表达精炼,比较容易被开发人员理解。
需要有一定的编程基础
分析洗衣流程的控制结构
基本控制结构
顺序结构
选择结构
循环结构
顺序结构
由上至下
顺序执行
选择结构
计数<5
电动机正转30秒
停2秒
电动机反转30秒
停2秒
计数器增1
蜂鸣
洗涤结束
是
否
选择结构也称为分支结构,是根据给定的条件进行判断而作出选择的一种结构。
否
条件
是
A
B
循环结构
条件
A
否
是
当循环
条件
A
否
是
直到循环
循环结构是描述重复执行操作的控制结构,它可以减少算法步骤重复书写的工作量。
练习
洗衣机的显示屏上通常会有一个倒计时器显示剩余的洗衣时长,假设初始时间为30分钟,请大家设计“倒计时器” 算法,并用流程图表示。
练习
洗衣机的显示屏上通常会有一个倒计时器显示剩余的洗衣时长,假设初始时间为30分钟,请大家设计“倒计时器” 算法,并用流程图表示。
开始
t=30
t≥1
输出t
保持显示1min
清除显示
t=t-1
结束
否
是
蜂鸣
算法应用场景十分广泛,在提高生产效率、社会福利、治理效能等方面发挥了重要作用,可以更加高效地采集、处理数据并挖掘海量数据中的独特价值。但是,算法应用也是一把“双刃剑”,一旦滥用,不仅可能引发信息不对称、算法歧视、算法霸凌等现象,而且可能直接或间接地危害公共利益、社会稳定甚至国家安全。此外,作为一种技术工具的算法,本身也有失灵、崩溃的风险。在鼓励算法技术发展应用的同时,必须关注算法发展带来的问题及隐患,维护国家安全和社会公共利益,保护公民、法人和其他组织的合法权益。
算法法治 科技向善
全自动洗衣机通常会提供多种洗衣模式,如图所示。请选择其中一个洗衣模式,观察其洗衣流程,并尝试绘制相应流程图。
课后作业
谢谢大家
教材版本:沪教版高中信息技术必修1《数据与计算》
$$