首页 百科知识 程序与程序设计

程序与程序设计

时间:2022-10-17 百科知识 版权反馈
【摘要】:计算机程序简称程序,是人们在设计出能控制计算机正确解决给定问题的算法的基础上,进一步用选定的某种计算机语言,把算法翻译成计算机可接受、理解和执行的“计算机语言表现形式的算法”。换言之,程序是人交给计算机去具体执行的工作任务书和行为指南针。

1.2.1 计算机算法、程序与程序设计

计算机算法,是人们为了借助计算机解决给定问题而命令计算机按照“人—(计算)机”系统所认可的操作方式和控制方式,具体施行的有穷操作的有序集合。算法恰似计算机的“解题思想”,它颇类似于人们解决给定问题而实施的方法、想法、思路、规程、处方等等。显然,一个给定算法只能解决一个(或一类)特定问题;一个给定问题,则可用多种特定算法来解决。应当说明,广义算法(指“人们为了借助解决给定问题,而按照人可实现的操作方式和控制方式,具体施行的有穷操作的有序集合”),是比计算机算法“时间更悠久,范围更宽广,应用更重要,性质更本源”的数学概念与基本方法,而我国古代著名数学家祖冲之创造的求圆周率近似值所用方法堪称广义算法的最优秀典范。因此,人们今天所说的计算机算法(以下均简称算法),实质上是广义算法的一种狭义形态与一大近代发展。

计算机程序简称程序,是人们在设计出能控制计算机正确解决给定问题的算法的基础上,进一步用选定的某种计算机语言,把算法翻译成计算机可接受、理解和执行的“计算机语言表现形式的算法”。换言之,程序是人交给计算机去具体执行的工作任务书和行为指南针。应当强调指出:有如“同一事物(例如,学生),可因不同自然语言(例如,中文、英文、法文、俄文等等)的表述而有不同说法(例如学生、student、etudiant、ctyлeht)那样,同一个算法,完全可以根据设计者的实际需要和编程(即用计算机语言编写程序的简称)爱好而采用不同的计算机语言来进行编码(即翻译),并得到不同计算机语言表现形式的程序。这些不同计算机语言的程序,其执行效果是完全一致的(例如,同一算法可以采用C++、VB、Delphi、VFP语言进行翻译,而其产物是同一“原文”—— 算法的四种语言的不同“译文”:C++程序、VB程序、Delphi程序、VFP程序)。这表明算法不等于程序,但算法和程序是彼此联系极为紧密而又完全不同的两个重要概念。由此可见,算法远比程序深刻得多、根本得多、重要得多,并且两者的关系是:“算法,是程序之母;程序,是算法之子。”

赋予计算机灵魂和生机的计算机程序设计简称程序设计,是为计算机设计算法及其程序的创造性劳动。程序设计,是“人”驾驭“计算机”的基础环节和核心工作,是使“计算机”服务于“人类”的工作重心和成败关键,是人类新文明——“计算机文明”的基础建设和知识工程。

必须是具备以下5个充分必要特征的“有穷操作的有序集合”,方能称为算法:

(1)有穷性 它在执行开始后适当时间(且必须在用户可接受限度)内必须能结束,而不能无休止地执行下去(即不可出现所谓“死循环”)。

(2)确定性 算法中的每一操作都必须是唯一确定的,不会产生任何歧义性。在任一给定初始及相关条件约束下,算法只有与之唯一对应的一条实际执行路径。换言之,对于初始及相关条件相同的数据输入,应该而且只能获得相同的信息输出。

(3)数据输入 一个算法可有0个或多个数据输入,用以表征算法所论对象初始条件的具体描述。其中,所谓“0个输入”(即无需数据输入),是指算法已在其内部定义了自身所需全部条件(含其初始及相关条件)。

(4)信息输出 一个算法必须有一个或多个输出,以反映对输入数据加工后的处理结果(即用户所需信息)。显然,没有任何信息输出的算法是毫无意义的。

(5)可行性 一个算法的全部操作必须是能由计算机实际执行的。换言之,算法中给出的“有穷操作的有序集合”中的每一操作,都必须可由计算机执行有限次,且可具体实现。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈