2012年软考软件设计师辅导:程序设计基础知识

来源:微学教育网发布时间:2012-04-27

  一个简单的程序设计一般包含以下四个步骤:

  (1) 分析问题,建立数学模型。

  (2) 确定数据结构和算法。

  解决问题确定的方法和有限的步骤称作为算法。通常计算机算法分为两大类:数值运算算法和非数值运算算法。任何简单或复杂的算法都是由基本功能操作和控制结构这两个要素组成。

  计算机的基本功能操作包括以下四个方面:

  (1) 逻辑运算:与、或、非;

  (2) 算术运算:加、减、乘、除;

  (3) 数据比较:大于、小于、等于、不等于、大于等于、小于等于;

  (4) 数据传送:输入、输出、赋值。

  算法的基本控制结构通常包括顺序结构、分支结构和循环结构。

  算法是对程序控制结构的描述,而数据结构是对程序中数据的描述。

  在计算机的高级语言中,数据结构是通过数据类型表现的

  算法是一个有穷规则的集合,这些规则确定了解决某类问题的一个运算序列。对于该类问题的任何初始输入值,它都能机械地一步一步地执行计算,经过有限步骤后终止计算并产生输出结果。归纳起来,算法具有以下基本特征:

  (1) 有穷性:一个算法必须在执行有限个操作步骤后终止;

  (2) 确定性:算法中每一步的含义必须是确切的,不可出现任何二义性;

  (3) 有效性:算法中的每一步操作都应该能有效执行,一个不可执行的操作是无效的。例如,一个数被0除的操作就是无效的,应当避免这种操作。

  (4) 有零个或多个输入:这里的输入是指在算法开始之前所需要的初始数据。这些输入的多少取决于特定的问题。有些非凡算法也可以没有输入。

  (5) 有一个或多个输出:所谓输出是指与输入有某种特定关系的量,在一个完整的算法中至少会有一个输出。

  算法可以用任何形式的语言和符号来描述,通常有自然语言、程序语言、流程图、N-S图、PAD图、伪代码等。所有的程序是直接用程序设计语言表示算法。流程图、N-S图和PAD图是表示算法的图形工具,其中,流程图是最早提出的用图形表示算法的工具,所以也称为传统流程图。它具有直观性强、便于阅读等特点,具有程序无法取代的作用。N-S图和PAD图符合结构化程序设计要求,是软件工程中强调使用的图形工具。

  (3) 编制程序。

  4) 调试程序。

  语言、程序和程序设计;算法、算法设计和算法的表示;程序结构、结构化程序和程序风格。

  语言是交流的工具,程序是指令的集合,而程序设计就是用计算机语言对所要解决的问题进行完整而准确的描述过程。一个完整的程序应该涉及到以下四个方面的问题:

  数据结构、算法、编程语言、程序设计方法

  程序设计过程的五个步骤是:①分析问题,建立数学模型;②确定数据结构和算法;③编制程序;④测试程序。其中第①、②步就是确定解决问题的方案;第③步是用程序语言把这个解决方案严格的描述出来;第④步是在计算机上测试这个程序。在这里,工作过程的第①、②步与其他领域里解决问题的方法相类似,只是考虑问题的基础不同、出发点不同。在程序设计领域里,我们需要从计算的观点、程序的观点出发,由此引出了数据结构、算法设计以及算法的表示等新问题。这是本章的重点,也是程序设计的基础。第③、④步是程序设计工作的非凡问题。由于程序设计具有严格规定的组成结构,各种结构有明确定义的功能和形式,要把问题解决方案转变为符合这些结构的形式,这也不是轻而易举的,需要把握相关的技术和方法。由此引出了程序的三种基本结构、流程图、N-S图和结构化程序设计等方法和技术。这些都是程序设计的基本知识,每一个程序设计工作者都必须把握。

  会用一些常用算法(例如迭代法、枚举法、递归法等)解决实际问题,对于初学者来说,是至关重要的。许多初学者往往是把要解决的问题首先和程序设计语言中的语句联系在一起,影响了程序设计质量。设计算法和编写程序要分开考虑,当你还没有学习程序语言时,就学会针对一些简单问题设计算法,这是学习程序设计入门的好方法。

  程序的结构化技术是程序设计的基本技术,它使得程序在逻辑上层次分明、结构清楚、易读、易维护,从而提高程序质量和开发效率。采用结构化程序设计方法,并且用流程图表示算法是必须的。将算法转换成程序代码,并注重程序风格,这都是编写代码时要注重的问题。