内容正文:
第二章算法与问题解决
1、算法的概念
2、算法的描述
3、算法的结构
4、计算机解决问题的过程
本章重点:
1.算法的特征
2.学会用自然语言和流程图描述算法
3.了解算法的三种基本结构及用算法解决问题的过程
简单地说,算法就是解决问题的方法和步骤。
我们人找到算法之后,不能只是自己心知肚明,计算机是不清楚的。我们必须明确的告诉它要处理的具体对象和每一步的准确处理过程,否则计算机就无法工作,即算法的描述要求尽可能精确、详尽。
什么是算法?
算法有哪些特征呢?
算法的特征
有穷性
执行有限步之后结束,且每一步都执行时间都是有限的。
确定性
算法中的每一个步骤都应当是确定的,而不应当是含糊的、模棱两可的。
输入项
有零个或多个输入。
输出项
至少产生一个输出。
可行性
原则上能精确运行,用纸和笔做有限运算后可以完成。
算法的描述方法
自然语言:人们日常生活中使用的语言,汉语,英语,日语等都是自然语言,这些自然语言描述算法符合我们的表达习惯,且容易理解。
流程图:也叫程序框图,是算法的一种图形化表示方法,与自然语言描述算法相比,用流程图描述算法形象、直观、更容易理解。
伪代码:简洁、易懂,容易修改,很容易转化为计算机程序设计语言,缺点是不够直观。
计算机是人脑的延伸,要研究计算机解决问题的过程,首先要从人解决问题的角度谈起。
怎么判断某一年是不是闰年?
首先我们要知道如果某年2月是28天则这一年是平年,如果某年2月是29天,则这一年是闰年。
自然语言描述:
如果某年份x能被4整除但不能被100整除,或者该年份x能被400整除,则该年为闰年。
流程图描述:
举例
流程图符号
美国国家标准化协会
(American National Standard Institute,简称ANSI)
图形符号 名称 功能
起止框 表示算法的开始和结束
输入/输出框 表示算法中数据的输入或输出
处理框 表示操作的内容(赋值、计算等)
判断框 表示判断的条件,成立出口处标Y/“是”,不成立出口处标N/“否”
流程线 连接程序框
连接符 表示流程图的待续
算法的三种基本结构
算法基本是由顺序结构、分支结构、循环结构这三种基本结构组合而成。
大程序采用“自上而下,逐步细化”的方法,把大任务拆分成若干个小任务组成,每一个小任务再分