1.2算法描述与设计0
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第四步:人和羊过河。
算法
算法的概念 算法就是解决问题的方法和步骤,而且步骤 是有限的。在以后的编程中也要记住了,有些步骤 是可以颠倒的,不影响程序的结果;但是有些一旦 颠倒了那最终的结果也就全变了。
算法的特征
1
2
有穷性:执行步骤和每 步执行时间都是有限的
3
输入:有零个或多个输入
确定性:每一步都有确切的含义
自然语言描述
S1:移项得 ax = - b ;
自 然 语 言
S2:若a不等于0,则x=-b/a,结束 S3:若a=0,b=0,得x为任意值,结束; S4:否则输出x无实数解,结束;
流程图
流程图描述
也称为程序框图,它是算法的一种图形化 表示方法。 优点:形象、直观、容易理解
常用的“流程图”所用的基本符 号
伪代码描述
输入 a , b
If a = 0 then
伪 代 码 描 述
if b = 0 then 输出x为任意值 else 输出x无实数解 end if Else
x= -b/a
End if
小结
算法——解决问题的方法和步骤 特征:有输入 确定性 有穷性 有输出 可行性
用自然语言描述算法
小 结
算法的描述
程序框 名称 开始/结束 功能 算法的开始和结束
输入/输出
处理
输入和输出信息
计算与赋值
判断
流程线
条件判断
算法中的流向
连接圈
表示Байду номын сангаас法流向出口或入 口连接点
流程图描述
流 程 图
伪代码
伪代码描述
伪代码是介于自然语言和计算机程序语言
之间的一种算法描述。
优点:简洁、易懂、修改容易 缺点:不直观、错误不容易排查
1 这个方案总共有多少步?
2 3
哪几步顺序可以颠倒? 通过以上例子,我们能不能总结出什么是算法? 【问题一】中,我们是用什么来描述算法的? 算法还有其他的描述方法吗?
4
5
过河方案
牧 羊 人 过 河 方 案
第一步:人和羊过河,人返回,留下羊;
第二步:人和狼过河,人和羊返回,留下狼;
第三步:人和菜过河,人返回,留下菜;
4
输出:至少产生一个输出
算法 特征
5
可行性:原则上能精确运行
算法的描述方法
用自然语言描述算法
算法的描述
用流程图描述算法 用伪代码描述算法
例:求方程 ax + b = 0 的解。
自然语言
自然语言描述
用自然语言表达算法,就是把算法的各个 步骤,依次用人们熟悉的自然语言表示出来。 优点:容易理解 缺点:书写较烦、不确定性、对复杂的问题难以 表达准确、不能被计算机识别和执行
算法的描述与设计
算法的描述与设计
问题一
有一个牧羊人带着一头羊,一只狼和一颗 大白菜准备过河,他找到一只很小的船,每次只 能带一样东西过去,可是如果让狼与羊单独在一 起,狼会吃羊,让羊与白菜单独在一起,羊会吃白 菜,牧羊人应如何过河?
要求:现在请同学们来设计一个方案,把 3样东西安然无恙的带过河。
思考
用流程图描述算法
用伪代码描述算法
一个问题,可能有多种算法 ,应该通过分 析、比较、挑选一种最优的算法。一个好算法必 须用到科学的方法 ,应该好好学习各学科处理问 题的科学方法。
课后实践
题一
用流程图描述求ax2 + b = 0方程的解
题二
用伪代码描述求ax2 + b = 0方程的解
题三
用表格比较自然语言、流程图和伪代码3种描 述方法的优缺点