§6.4 程序设计与过程


程序和算法是有区别的。算法是对解题步骤(过程)的描述,可以与计算机无关;而程序是利用某种计算机语言对算法的具体实现。可以用不同的计算机语言编写程序实现同一个算法,算法只是转换成计算机程序才能在计算机上执行。
算法不等于程序,程序可以作为算法的一种描述,但通常还需考虑更多细节问题, 这是因为编写程序时要受到计算机系统运行环境的限制。通常,程序的编制不可能优于算法的设计。在这个过程中,无论是形成解题思路还是编写程序,都是在实施某种算法;前者是推理实现的算法,后者是操作实现的算法。
为什么要学习程序设计?
对于某些人而言,编程可以带来极大的兴趣。对更多人而言,编程是一种解决问题的有效方法 。学习计算机编程本质上是学习一种思维方式——计算思维。学习程序设计的基本思想有助于学习新的思维方式,类似于通过绘画课学习从不同角度观察世界。学习编程可以让我们真正掌握一种新的思维方式,从而能够找到问题的答案或解决方案。
什么是程序?
程序就是告诉计算机要做什么的一系列指令,每条指令是一个要执行的动作。编写程序的工作称为程序设计。
程序设计是根据特定的问题,使用某种程序设计语言,按照预定的算法设计计算机执行的指令序列。计算机按照程序所规定的操作步骤一步步地执行相应的指令,最终完成特定的任务。进行程序设计时至少掌握一门或一门以上的程序设计语言。
![]()



程序设计语言
计算机程序设计语言按照其发展的过程大致可以分成三类:
1.机器语言
机器语言是由cpu 可以识别的一组由0,1序列构成的机器指令的集合,是计算机硬件所能执行的唯一语言。不同的计算机设备有不同的机器语言,使用机器语言编写程序是很不方便,它很难记忆,要求使用者熟悉计算机的许多硬件细节。
机器指令由0和1组成(说白了是电信号),如:
加:0100 0000
减:0100 1000
乘:1111 0111 1110 0000
除:1111 0111 1111 0000
我们所写的代码最终跑在机器上的是什么东西?是机器语言,是一堆的0,1,也叫做指令。
2.汇编语言
使用助记符号来表示每一条此机器指令。如:add Al,10
汇编语言编写的源程序必须经过翻译转变成计算机语言程序,计算机才能识别和执行。这种将汇编语言编写的源程序翻译成机器语言目标程序的工具称之为汇编程序。汇编程序是一种面向机器的语言,不同类型的计算机具有不同的汇编语言。
机器语言和汇编语言都是面向机器的语言(不易移植),所以统称为“低级语言”。
指令示例:寄存器BX的内容送到AX中
1000100111011000 机器指令
mov ax,bx 汇编指令

3.高级语言
高级语言是一种与机器指令系统无关、表示形式更接近于被描述问题的程序设计语言。同人类的自然语言和数学表达方法相当接近。其功能更强,可读性更好,编程也更加方便,现在我们所说的“程序设计语言”通常指的是高级语言。
与汇编语言一样,计算机不能直接识别和执行高级语言编写的源程序,因此必须经过语言处理程序进行翻译,将源程序转换成机器语言的形式,以便计算机能够运行。它不再过度地倚赖某种特定的机器或环境。这是因为高级语言在不同的平台上会被编译成不同的机器语言,而不是直接被机器执行。

高级语言程序的执行有两种方式编译和解释两种方式,高级语言编写的源程序须经编译或解释后才能被计算机执行,编译型语言执行效率要优于解释性语言。

4. 程序设计的三种基本结构
任何程序都可由顺序、选择、循环三种基本控制结构(或它们组合)来实现 。
1.顺序结构 计算机在执行一个程序的时候,最基本的方式是一条语句接一条地执行。顺序结构表示程序中的各操作是按照出现的先后顺序执行的。

2.选择结构
也称分支结构,程序执行中根据逻辑条件的当前值在两条或多条程序路径中选择一条继续执行,即根据某一特定的条件选择其中一个分支执行后续语句。

3.循环结构不少实际问题中有许多具有规律性的重复操作,因此在程序中就需要重复执行某些语句。循环结构表示程序反复执行某一个或某些操作,直到某条件为假(或为真)时才可终止循环。

5、程序设计的一般过程
程序设计就是使用某种程序设计语言编写程序代码来驱动计算机完成特定功能的过程。程序设计的基本过程一般包括下面几个步骤。
1.问题描述
程序设计的最终目的是利用计算机求解某一特定问题,因此程序设计面临的首要任务是得到问题的完整和确切的定义
2.算法设计
了解问题的确切含义后,就要设计具体的解题思路了。解题过程都是由一定的规则、步骤组成的,这种规则就是算法。算法对于程序设计的重要性可见一斑。为了描述算法可以使用多种方法。常用的自然语言、传统流程图、N-S流程图、伪代码和计算机语言等。
程序=算法+数据结构
3.程序设计
要求开发设计者具有一定的计算机语言能力。不同的语言有各自的特点,先要针对问题选用合适的开发设计环境和平台。用计算机语言表达算法,即代码编制的过程是算法到计算机语言程序的翻译过程
4.调试运行
程序调试的过程实际上是一个对源程序的语法和逻辑结构进行检查的过程,通常这是一个需要多次反复、逐步排查的过程,即要耐心细致、还要调试程序经验的积累。
5.编写程序文档
目前的软件不仅规模庞大,且功能日趋复杂,因此需要团队合作才能完成。一个完善的软件文档对于开发者之间的交流、软件的升级与维护至关重要。文档记录程序设计的算法、实现以及修改的过程,保证程序的可读性和可维护性。

什么是程序设计
程序设计是根据特定的问题,使用某种程序设计语言,按照预定的算法设计计算机执行的指令序列。计算机按照程序所规定的操作步骤一步一步地执行相应的指令,最终完成特定的任务。


1、程序设计的一般过程中,哪个环节最为重要?软件工程的重要性
2、编程开发的软件越来越复杂,越来越难,如果高效开发?

