资源简介 1.2算法描述与设计 《算法与程序设计》(教科版) 算法的描述与设计 野人过河”智力题动画 问题一 过河方案 野 人 过 河 方 案 第一步,两个野人过河,然后一个野人把船划回; 第二步,又两个野人过河,然后由一个野人把船划回; 第三步,两个 牧师 过河,然后一个 牧师 和一个野人把船划回; 第四步,两个 牧师 过河,然后由一个野人把船划回; 第五步,两个野人过河,然后一个野人或 牧师 把船划回; 第六步,两个野人都上船过河。 算法就是解决问题的方法和步骤,而且步骤是有限的。在以后的编程中也要记住了,有些步骤是可以颠倒的,不影响程序的结果;但是有些一旦颠倒了那最终的结果也就全变了。 算法的概念 算法 瑞士计算机科学家尼克劳斯·沃思(Niklaus Wirth) 程序 数据 结构 算法 + = 算法的特征 1 有穷性:执行步骤和每步执行时间都是有限的 算法特征 确定性:每一步都有确切的含义 2 输出:至少产生一个输出 4 3 输入:有零个或多个输入 5 可行性:原则上能精确运行 算法的描述 自然语言 伪代码 描述算法的方法 流程图 例:求方程 ax + b = 0 的解。 自然语言 用自然语言表达算法,就是把算法的各个步骤,依次用人们熟悉的自然语言表示出来。 优点:容易理解 缺点:书写较烦、不确定性、对复杂的问题难以表达准确、不能被计算机识别和执行 自然语言描述 自然语言描述 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 伪代码 小结 小结 特征:有输入 确定性 有穷性 有输出 可行性 算法的描述 用自然语言描述算法 用流程图描述算法 用伪代码描述算法 算法——解决问题的方法和步骤 一个问题,可能有多种算法 ,应该通过分析、比较、挑选一种最优的算法。一个好算法必须用到科学的方法 ,应该好好学习各学科处理问题的科学方法。 课后实践 用流程图描述求ax2 + b = 0方程的解 题一 用伪代码描述求ax2 + b = 0方程的解 题二 用表格比较自然语言、流程图和伪代码3种描述方法的优缺点 题三 思考: 1、什么是算法? 2、常用的算法的描述方式有哪些? 展开更多...... 收起↑ 资源预览