(二)程序的灵魂 - 算法

第2章 程序的灵魂 - 算法

一个程序包括一下两个方面的额内容:
1、对数据的描述
2、对操作的描述,即操作步骤 也就是算法

数据结构 + 算法 = 程序

2.1 算法的概念

广义的讲,为解决一个问题而采取的方法和步骤就称为算法

2.2 算法举例

2.3 算法的特性

  • 有穷性
  • 确定性
  • 有零个或者多个输入
  • 有一个或者多个输出
  • 有效性

2.4 怎样表示一个算法

2.4.1 用自然语言表示算法

自然语言就是人们日常使用的语言,可以是汉语、英语或其他语言,用自然语言表示通俗易懂,但文字冗长,容易出现歧义性

2.4.2 用流程图表示算法

用图形表示算法,直观形象,便于理解

2.4.3 3中基本结构和改进的流程图

  • 顺序结构
  • 选择结构
  • 循环结构

2.4.4 用N-S流程图表示算法

在流程图中完全去掉了带箭头的流程线,全部算法写在一个矩形框里,在该框内还可以包含其他的从属它的框,或者说由一些基本的框组成一个大的框。适用于结构化程序设计

2.4.5 用伪代码表示算法

2.4.6 用计算机语言表示算法

C、C++

2.5 结构化程序设计方法

一个结构化程序就是用高级语言表示的结构化算法,用3中基本结构组成的额程序必然是结构化的程序,这种程序便于编写、阅读、修改和维护,减少了出错的机会,提高了程序可靠性,保证了程序的质量

规范

  • 自顶向下
  • 逐步细化
  • 模块化设计
  • 结构化编码

习题

  • 什么是算法
  • 什么是结构化算法,为什么提倡结构化算法
  • 3中基本结构的特点
  • 用自顶向下、逐步细化的方法进行算法设计