内容正文:
考一考
如何把大象装进冰箱?
分3步
第1步:打开冰箱门
第2步:把大象装进冰箱
第3步:关上冰箱门
项目五 描述洗衣机的洗衣流程
--认识算法及其描述方法
必修1 数据与计算 第三单元 算法与程序设计
2
目录
TABLE OF
CONTENTS
01
初识算法:概念与特征
02
评价算法:好坏有标准
03
描述算法:三种语言
04
巩固应用:练习与总结
3
一、算法的概念与特征
算法是在有限步骤内解决某一问题所使用的方法。
算法即步骤,解决问题的“说明书”
算法在生活中普遍存在。
算法中的每一个步骤能被人或机器等计算装置执行。
说一说
手工洗衣的过程是怎样的?
一、算法的概念与特征
5
手工洗衣算法
1. 浸泡: 将衣物放入水中浸透
2. 搓洗: 涂抹洗衣液并揉搓。
3. 漂洗: 用清水反复漂净。
4. 晾晒: 拧干水分,晾晒衣物。
一、算法的概念与特征
6
算 法
算法是指在有限步骤内解决问题所使用的方法
开始
①进水
②洗涤
③排水
④脱水
⑤进水
⑥漂洗
⑨鸣叫
⑧脱水
⑦排水
结束
洗衣机“快洗”模式的洗衣流程
我们可以称它为洗衣算法吗?
图上的流程还不能称为洗衣机的“洗衣算法”,因为其每一步没有定义洗衣机可以明确执行的细节。
2.1 电动机正转30秒;
2.2 停2秒;
2.3 电动机反转30秒;
2.4 停2秒。
一、算法的概念与特征
一位农夫带着狼、羊和白菜来到河边,他需要把这三样东西都运到河对岸。河边只有一艘小船,小船每次最多只能载农夫和其中一样东西。而且只要农夫不在现场,狼就会吃掉羊,羊也会吃掉白菜。请设计一套方案,让农夫能安全地将狼、羊和白菜全部带到河对岸。
1、夫先带羊过河,此时岸边剩(狼、白菜),对岸有(羊),农夫独自返回。
2、农夫带狼(或白菜)过河,到达对岸后,必须带羊返回(避免狼吃羊),此时岸边剩(羊、白菜),对岸有(狼)。
3、农夫放下羊,带白菜(或狼)过河,此时岸边剩(羊),对岸有(狼、白菜),农夫独自返回。
4、农夫最后带羊过河,所有物品安全转移完成。
一、算法的概念与特征
算法是解决“做什么”和“怎么做”的具体步骤的描述,这些步骤应能够在有限时间内完成,并且不可以含有会导致步骤无法继续进行下去的 歧义性语句。一个算法必须具有五个特征。
算法
算法的
特征
可行性
有一个或多个输出
有零个或多个输入
确定性
有穷性
一、算法的概念与特征
9
算法的
特征
可行性
有一个或多个输出
有零个或多个输入
确定性
有穷性
有限步骤 + 有限时间结束;
煮面条(加水→煮沸→下面→煮 3 分钟→捞出)
步骤无歧义,机器能理解;
加热至 100℃(明确)vs
加热到适当温度(模糊)
零个输入是指算法本身设定了初始值,没有输入时计算装置可直接运行初始值.
输出就是算法执行的结果。没有输出的算法是没有意义的.
机器能按步骤执行 ; 计算器算 “1+1”(输入→运算→输出 2,可执行)
一、算法的概念与特征
洗衣机为什么能够自动执行算法呢?
因为洗衣机内置单片机,按预设算法精准控制“进水-洗涤-漂洗-脱水”全过程。
一、算法的概念与特征
单片机全称单片微型计算机,又称微控制器,是采用超大规模集成电路技术把计算机中的CPU、内存等重要部件集成到块硅片上而构成的一个小而完善的微型计算机系统,在工业控制和智能设备中应用十分广泛。
算法无处不在:身边的算法
自助挂号机
刷证→选科→缴费→打单,标准化流程有效缓解排队问题。
ATM机
插卡→输密码→选金额→出钞,标准化流程
12
二、算法的评价
正确性
对所有输入(合理/不合理)都能输出 预期结果 。如成绩统计遇负数能提示错误。
可读性
描述清晰, 易于人理解、分析、修改、使用等。
高效性
执行 时间短 ,占用 内存少 。如二分查找远快于线性查找。
评价一个算法的好坏,主要考虑以下几个指标。
13
三、算法的描述方法:自然语言
1.自然语言:自然语言是人们日常生活中使用的语言。用自然语言描述的算法通俗易懂,但是描述用词要做到准确、统一,无二义性,且算法的控制结构和嵌套层次要清晰明确。
案例:自动设定洗衣机水位
若衣物重量在1-2kg 之间,则设定水位为 1档
若衣物重量在2-4kg 之间,则设定水位为 2档
若衣物重量在4-6kg 之间,则设定水位为 3档
否则,触发 超重报警 。
优点:
通俗易懂,无需专业知识。
缺点:
易产生歧义,复杂结构难表达。
14
流程图由一些简单的框图组成,框图用来表示算法的步骤。流程图所使用的符号遵循国家颁布的标准。
流程图
三、算法的描述方法:流程图
15
优点:形象直观、清晰简洁,算法结构表达明确
缺点:当控制结构和嵌套层次较复杂时,对应流程图所占篇幅会比较大,影响可读性,也不易于修改。
三、算法的描述方法:流程图
优点:
书写紧凑,逻辑精炼,贴近编程。
缺点:
需懂基础编程逻辑。
伪代码是一种算法描述语言,它是用介于自然语言和程序设计语言之间的人工语言来描述算法。伪代码书写方便、格式紧凑、表达精炼,比较容易被开发人员理解。
三、算法的描述方法:伪代码
17
描述方法 优点 缺点 适用场景
自然语言 通俗易懂,无门槛 易产生歧义 向普通人解释
流程图 直观清晰,逻辑明确 篇幅大,难修改 展示整体逻辑
伪代码 紧凑精炼,贴近编程 需编程基础 开发人员沟通
三种不同的描述方法有何优缺点?
18
四、课堂小结与练习
算法是有限步骤解决问题的方法,具备有穷、确定、输入、输出、可行五大特征。
3种描述方法:自然语言易懂、流程图直观、伪代码精炼。
生活中处处是算法,如洗衣机、ATM、挂号机等。
19
1.下列关于算法的描述,错误的是( )
A.算法必须有输入
B.算法的每一步骤必须有确切的含义
C.算法必须在有限步内结束
D.算法可以用自然语言、流程图或伪代码来描述
A
四、课堂小结与练习
2、小明需要编写程序,用来计算1+2+3+……+∞的值,但是他程序编不出来,因为这不符合算法的特点( )。
A.可行性 B.有穷性 C.必须有输入 D.必须有输出
B
四、课堂小结与练习
3.流程图中表示运算处理的符号是( )
A. B. C. D.
D
四、课堂小结与练习
4.有如下算法:
① 输入两个数 a 和 b
② 计算 c = a - b
③ 输出 c
若输入 a=5,b=3,执行该算法后输出的结果是 8,该算法存在错误,其错误在于( )
A.步骤①输入的数据类型错误 B.步骤②的计算逻辑错误
C.步骤③输出的变量错误 D.算法缺少结束步骤
B
四、课堂小结与练习
5.用固定长度的铁丝围成一个圆,要求计算该圆的面积。解决此问题的算法各个步骤如下所示:
①设计算法,并通过编写计算机程序来描述算法;
②确定面积计算公式并用数学符号描述;
③提炼核心要素并加以假设(设铁丝长度为d,求出圆的半径r)。
上述步骤的正确顺序是( )
A.③②① B.③①② C.①②③ D.①③②
A
四、课堂小结与练习
6.做自由落体运动的物体下落高度的计算公式是,其中g是重力加速度,t是时间。计算步骤有:
①用公式计算物体下落高度;
②输入重力加速度g和时间t;
③结束;
④输出结果h。
若用流程图描述自由落体物体下落高度的算法,则①②③④步骤使用的图框符号依次为( )
A B.
C. D.
C
四、课堂小结与练习
谢谢您的观看
Thank you
26
$