案例2
一个算法由若干步骤构成,将这些步骤用文字或图形表示出来就是描述算法。
自然语言描述法
流程图法
伪代码法
知识库
算法描述的特点
1、自然语言描述法
贴近生活,容易理解,但由于自然语言含义的不确切性,容易引起歧义,造成误解。
2、流程图法
流程图表示的算法逻辑清楚,直观形象,容易理解,而且更便于用计算机实现。人们常常采用流程图来描述算法。
单击此处编辑母版标题样式
单击此处编辑母版副标题样式
编程解决问题
案例一
大扫除问题:学校每周二要进行班级卫生评比,班主任要求放学后对教室进行大扫除。假定这次大扫除包括准备工具、擦玻璃、擦桌子、扫地、拖地和处理垃圾等工作环节,那么工序该如何安排呢?
案例2
渡河问题:2个大人和2个小孩子一起渡河,渡口只有一只小船,一次只能渡过1个大人或2个小孩,他们4人都会划船,但都不会游泳,他们该怎样渡河?
案例3
交换问题:有3个杯子A、B、C, A、B分别装有雪碧和纯净水,C是一个空杯子。如果要将A、B杯子中的液体进行互换,可以用什么方法呢?步骤是怎样的呢?
程序设计=算法+代码
算法就是解决问题的方法、步骤和策略,设计算法的目的是为了解决问题,算法是程序设计的核心。
算法的特性
有穷性、确切性、数据输入、信息输出、可行性
算法的描述
知识库
算法描述
例:出租车运费问题
某市出租车的起步价为4元(3公里以内),超过3公里的路程,按每公里1.2元计价。请你设计一个算法,已知出租车行驶的公里数x,求解乘客应付费用y元。
1、自然语言法
输入公里数x
如果0≤x≤3,则y=4;否则y=4+(x-3)×1.2
输出应付费用y
2.流程图法
流程图常用图形符号
图形符号
符号名称
说明
流程线
起止框
表示一个算法的开始或结束
?一入或一出
输入/输出框
表明算法需要输入或输出的数据
一入一出?
运算处理框
表明算法要进行的运算处理
一入两出,但每一时刻只能有一条流出线?
判断框
通过条件判断,决定算法流程的走向
一入一出?
流程线
表示算法的执行方向