一、程序
1.什么是程序?
程序可以看作是对一系列动作的执行过程的描述。
计算机程序是指为了得到某种结果而由计算机等具有信息处理能力的装置执行的代码化指令序列。
程序的几个性质:
● 目的性
● 分步性
● 有限性
● 可操作性
● 有序性
2.指令和指令系统
计算机指令是一组符号,它表示人对计算机下达的命令。人通过指令来告诉计算机“做什么”和“怎么做”。
计算机所能执行的全部操作指令称为指令系统,不同类型的计算机系统有不同的指令系统。
3.程序设计
通常计算机处理一个问题(程序设计),需要经过以下步骤:
(1)分析问题
(2)建立数学模型。
(3)确定算法(算法设计)。
(4)编写源程序。
(5)程序调试。
(6)整理资料
4.结构化程序设计的基本原则
任何复杂的算法,都可以由顺序结构、选择(分支)结构和循环结构这3种基本结构组成,因此,构造一个解决问题的具体方法和步骤的时候,也仅以这3种基本结构作为“建筑单元”,遵守3种基本结构的规范,基本结构之间可以相互包含,但不允许交叉,不允许从一个结构直接转到另一个结构的内部。
5.模块化程序设计概念
(1)自顶向下。
(2)逐步求精。
(3)模块化。
(4)限制使用Go To语句。
6.模块化程序设计的原则
(1)模块。当把要开发的一个较大规模的软件,依照功能需要,采用一定的方法(例如,结构化方法)划分成一些较小的部分时,这些较小的部分就称为模块,也叫作功能模块。
(2)模块化设计。通常把以功能模块为设计对象,用适当的方法和工具对模块的外部(各有关模块之间)与模块内部(各成分之间)的逻辑关系进行确切的描述称为模块化设计。
7.面向对象的程序设计
面向对象的程序设计(Object Oriented Programming,OOP)。
在面向对象的程序设计风格中,会将一个问题分解为一些相互关联的子集,每个子集内部都包含了相关的数据和函数。同时,会以某种方式将这些子集分为不同等级,而一个对象就是已定义的某个类型的变量。
与传统的结构化分析与设计技术相比,面向对象技术具有许多明显的优点,主要体现在以下3个方面。
(1)可重用性。
(2)可维护性。
(3)表示方法的一致性。
二、算法
1.算法
算法是程序设计的精髓,可以把它定义成在有限步骤内求解某一问题所使用的一组定义明确的规则。在计算机科学中,算法要用计算机算法语言描述,算法代表用计算机解一类问题的精确、有效的方法。通俗点说,就是计算机解题的过程。在这个过程中,无论是形成解题思路还是编写程序,都是在实施某种算法。前者是推理实现的算法,后者是操作实现的算法。
2.算法的概念
算法是一组有穷的规则,它规定了解决某一特定类型问题的一系列运算,是对解题方案的准确与完整的描述。
对算法的学习包括5个方面的内容。
(1)设计算法。
(2)表示算法。
(3)确认算法。
(4)分析算法。
(5)验证算法。
3.算法的特征
算法应该具有以下5个重要的特征:
(1)确定性
(2)可行性
(3)输入
(4)输出
(5)有穷性
4.算法的描述
算法是解题方法的精确描述。描述算法的工具对算法的质量有很大的影响。
(1)自然语言
自然语言就是日常使用的语言,可以使用中文,也可以使用英文。用自然语言描述的算法,通俗易懂,但是文字冗长,准确性不好,易于产生歧义性。因此,一般情况下不提倡用自然语言来描述算法。
(2)伪码
伪码不是一种现实存在的编程语言。使用伪码的目的是为了使被描述的算法可以容易地以任何一种编程语言实现。它可能综合使用多种编程语言中语法、保留字,甚至会用到自然语言。因此,伪代码必须结构清晰,代码简单,可读性好,并且类似自然语言。
(3)流程图
(4)N-S结构图
三、程序设计的基本控制结构
结构化程序设计提出了顺序结构、选择(分支)结构和循环结构3种基本程序结构。一个程序无论大小都可以由3种基本结构搭建而成。
1.顺序结构
2.选择结构
3.循环结构
四、程序设计语言
1.机器语言
由二进制代码形式组成的规定计算机动作的符号叫作计算机指令,这些指令的集合就是机器语言。
机器语言与计算机硬件关系密切。由于机器语言是计算机硬件唯一可以直接识别和执行的语言,因而机器语言执行速度最快。同时使用机器语言又是十分痛苦的,因为组成机器语言的符号全部都是“0”和“1”,所以在使用时特别烦琐、费时,特别是在程序有错需要修改时,更是如此。而且,由于每台计算机的指令系统往往各不相同,所以在一台计算机上执行的程序,要想在另一台计算机上执行,必须另编程序,造成了工作的重复。
2.汇编语言
在汇编语言中,用“助记符”代替操作码,用“地址符号”或“标号”代替地址码,也就是用“符号”代替了机器语言的二进制码,所以汇编语言也被称为符号语言。
用汇编语言编制的程序输入计算机后,计算机不能像用机器语言编写的程序一样直接被识别和执行,必须通过预先放入计算机中的“汇编程序”的加工和翻译,才能变成能够被计算机识别和处理的二进制代码程序。这种起翻译作用的程序叫作汇编程序。
3.高级语言
接近数学语言或自然语言,同时又不依赖于计算机硬件,编出的程序能在所有机器上通用的语言。
用高级语言编写程序的过程称为编码,编写出来的这些程序叫源代码(或源程序)。
高级语言编写的程序需要被翻译成目标代码,即机器语言才能被计算机执行,通常将高级语言翻译为机器语言的方式有两种:解释方式和编译方式。