admin 管理员组

文章数量: 1086019


2024年12月30日发(作者:excel怎么做ppt详细步骤)

第 3 章 计算机软件

考核知识要点、重点、难点精解

◆ 考点 l :计算机软件

一个完整的计算机系统有两个基本组成部分,即计算机硬件和计算机软件。计算机硬件是组成计算机的各种

物理设备的总称;而计算机软件指的是能指示(指挥)计算机完成特定任务的、以电子格式存储的程序、数据和

相关的文档。

1 .程序

程序是指示计算机如何去解决问题或完成任务的一组详细的、逐步执行的语句(或指令) , 程序的每一步

都是用计算机所能理解和处理的语言编写的。

注意 程序是软件的主体,单独的数据和文档一般不认为是软件.

2 .数据

数据是程序所处理的对象及处理过程中使用的参数。

3 .文档

文档则是程序开发、维护和使用所涉及的资料(如设计报告、维护手册和使用指南等) , 软件(特别是大

型软件)必须有完整、规范的文档作为支持。

★ 考点 2 * :软件的分类

计算机软件系统分为系统软件和应用软件两大类。

1 .系统软件

系统软件是开发和运行应用软件的平台,是为高效使用和管理计算机而提供的软件。它主要包括有:操作系

统、语言处理系统、数据库管理系统、网络通信管理程序、各类服务性程序等。系统软件的核心是操作系统。

( 1 ) 操作系统

操作系统用于控制和管理计算机所有的软件、硬件资源,合理组织计算机的工作流程,是用户与计算机之间

的接口。操作系统有 5 大管理功能,分别是:处理器管理、存储管理、设备管理、文件管理和作业管理。在硬

件设备齐全的基础上,计算机只有安装了操作系统后,才能运行和使用其他软件。

目前,微型计算机最常用的操作系统有 DOS 、 Windows 、 UNIX 、 Linux等。

( 2 )语言处理系统

语言处理系统是人与计算机交换信息的工具。其作用是将源程序转换成计算机能够识别的目标程序,从而让

计算机能够解决实际问题。

编写源程序所采用的语言称为程序设计语言,目前最常用的程序设计语言有汇编语言、 BASIC 、 C 、

FORTRAN 、 Pascal 等。

注意 汇编语言源程序的转换需要汇编程序,高级语言源程序的转换需要编译程序,Basic语言源程序的转

换需要解释程序。

( 3 ) 数据库管理系统

当前,数据库系统已得到了迅速发展。数据库系统是由数据库、数据库管理系统组成。数据库是按照一定规

则存储的数据集合。数据库管理系统则是负责数据库存取、管理和维护的软件系统,其主要作用是对数据进行检

索、查找、更新、删除、修改、排序、统计等,数据库管理系统是数据库系统的核心。

( 4 )服务性程序

服务性程序指的是给用户提供方便,便于使用与维护计算机而开发编制的程序。

目前,服务性程序主要有:工具软件、软件调试程序、错误测试和诊断程序、编辑程序及链接程序等。

2 .应用软件

( 1 )应用软件的概念

应用软件指的是为解决计算机应用中的实际问题而编制的软件,如:文字处理软件、表格处理软件、财务软

件、工程设计软件等。

( 2 )应用软件的分类

1

从其服务对象的角度来看,应用软件可分为通用软件和专用软件两大类。

① 通用软件支持最基本的应用,应用较为广泛,可以在市场上购买,例如: offiee 办公软件。

② 专用软件只应用于某一专业领域,只解决某个应用领域的具体问题,市场上没有现成的软件,需要专门

组织人员进行开发。

★ 考点 3 :计算机软件技术

1 .计算机软件技术的概念

计算机软件技术是指研制和开发计算机软件所需技术的总称。

2 .计算机软件技术的组成部分

按照计算机软件学科的内容划分,计算机软件技术主要包括以下七个方面:

( 1 ) 软件工程技术

包括软件开发的原则与策略,软件开发方法与软件过程模型。软件标准与软件质量的衡量,软件开发的组织

与项目管理,软件版权管理等。

( 2 ) 程序设计技术

包括程序的结构与算法设计,程序设计风格,程序设计语言,程序设计方法和程序设计自动化,程序正确性

证明,程序变换等。

( 3 ) 软件工具环境技术

包括人机接口技术,软件自动生成,软件工具的集成和软件开发环境,软件复用,逆向工程等。

( 4) 系统软件技术

包括操作系统,编译方法,分布处理,并行处理技术等。

( 5 ) 数据库技术包括数据模型,数据库与数据库管理系统,分布式数据库,面向对象的数据库技术,各类

专用数据库技术等。

( 6 ) 网络软件技术

包括协议工程,网络管理,局域网技术,网络互连技术,智能网络等。

( 7 ) 与实际工作相关的软件技术

例如软件质量控制、软件配置管理、用户在线帮助文档和图标设计、软件规模控制、软件评估和软件开发计

划的制定、软件需求表示和软件规格说明书的确定等。

必须指出,软件技术还渗透到计算机科学技术的其他领域,如人工智能、中文信息处理、图形图像处理、计

算机辅助技术、计算机实时控制和仿真、多媒体计算技术等。

★ 考点 4 :操作系统的作用与功能

1 .操作系统的作用

操作系统主要有以下三个方面的重要作用:

( l ) 管理系统中的各种软硬件资源。

( 2 ) 为用户提供友善的人机界面。

( 3 ) 为应用程序的开发和运行提供一个高效率的平台。

2 .操作系统的功能

操作系统有 5 大管理功能,分别是:处理器管理、存储管理、设备管理、文件管理和作业管理。

★ 考点 5 * :常用操作系统

1 . Windows 操作系统

( 1 ) 1998 年推出的 Windows98 具有 Windows95 所不具备的许多特点,例如系统的可靠性和性能、多媒体

支持、 FAT32文件系统、系统管理工具、新一代硬件支持、网络和 Internet 支持等都得到了增强。

( 2 ) 在开发 windows9x 操作系统的同时,1989 年起微软公司还为商用 PC 机专门开发一个新的操作系统

系列 WindowsNT 。 WindowsNT 采用与 Windows9X 不同的内核,其设计目标是系统应具有鲁棒性,必须能

主动地保护自身免受内部异常和外部有意或无意破坏的影响,并且必须对软件和硬件的错误做出可预测的响应,

具有高性能,采用一些更有效的算法和数据结构。

( 3 ) 2000 年微软公司推出的 Windows 2000 仍然面向商务应用,具有高可靠性和高可用性。

2

( 4 ) 2001 年微软公司推出的 Windows XP 是第一个既适合家庭用户,也适合商业用户使用的新型 Windows

操作系统。

( 5 ) 为了适应大型服务器运行的需要,微软公司推出了 Windows 2003 ,其性能得到进一步提高。

2 . UNIX 以操作系统

UNIX 操作系统是美国 Bell 实验室开发的一种通用多用户交互式分时操作系统。其特色主要体现在以下方

面:

( 1 ) 结构简练

UNIX 系统以树形目录结构的文件系统为基础,可方便地对文件进行各种查找、增加和删除操作。而且将各

种设备都定义为特殊文件,对这些设备的操作以统一的文件方式处理,简单明了。 UNIX 系统的体系结构很有

特色,它可分为两大部分:

内核部分

负责利用硬件所提供的基本操作,向外层提供全部应用程序所需的服务。

外层应用子系统

包括 UNTX 系统的命令解释程序( shell )、文本处理程序、邮件通信程序及源代码控制系统等,用户可

通过“系统调用”对内核的功能进行调用。

( 2 )功能强大

早在 UNIX 系统发布初期,它所具有的功能在当时的大型操作系统中就很少见。其中包括可装卸的层次式

文件系统、创建异步进程的能力、 shell 命令解释程序功能以及“管道” ( pipe ) 机制等。其中 pipe 机制是 UNIX

系统的贡献,它能将许多小的功能连接组装,进而成为实现复杂功能的软件工具。

( 3 ) 可移植性好

这一特色主要源于 C 语言和源代码开放策略。由于 UNIX 系统90%以上的代码是用 C 语言编写的,因此

有很好的可移植性。

( 4 ) 可伸缩性和互操作性强

可伸缩性是指系统在性能范围很宽的硬件配置上运行的能力,而互操作性是指在不同厂家的机器上运行和通

信的能力。这两点是开放系统所应具有的基本特征。 UNIX 系统可以从笔记本电脑直到巨型计算机上都能运行。

( 5 ) 容纳新技术的能力强

迄今为止,国际上很多软件技术(包括面向对象技术)和产品开发都是在 UNIX 系统上进行的。在具有重

要突破意义的“客户/服务器”结构中,一般均把 UNIX 系统作为服务器首选的操作系统平台。

( 6 ) 网络通信功能强

UNIX 系统提供了一系列的网络通信工具和协议。著名的 TCP / TP 网络协议也是在 UNIX 系统上开发成

功的。因此, UNIX 系统已成为很多分布式系统中服务器选用的一种网络操作系统。

3 . Linux 操作系统

Linux 操作系统的优势反映在网络服务器方面,其内核中包含许多网络协议,已成为网络上最普遍的服务器

架构模式。 Linux 操作系统作为一个多用户、多任务的操作系统,支持多种工作平台和多处理器。它不仅可提

供容量多达 4TB 的文件系统,同时还可支持多种其他的文件系统。 Linux系统的源代码向世人公开。

考点 6 * :程序设计语言及其分类

程序设计语言按其级别可以划分为机器语言、汇编语言和高级语言三大类。

1 .机器语言

机器语言是使用计算机指令系统的程序语言。用机器语言编写的程序,全部都是二进制代码形式,可以被计

算机直接执行,由于机器语言直接依赖机器的指令系统,对于不同类型甚至不同型号的计算机,其机器语言是不

同的。因而,在一种类型计算机上编写的机器语言程序,在另一种不同类型的计算机上可能不能运行。

2 .汇编语言

汇编语言用助记符来代替机器指令的操作码和操作数,如用 ADD 表示加法,用 SUB 表示减法等。这样

就能使它的每条指令都有明显的符号标识。用汇编语言编写程序与编写机器语言程序相比,比较直观和易记忆,

但汇编语言仍然是面向机器指令系统的,还保留了机器语言的各项缺点。

3 .高级语言

为了克服汇编语言的缺陷,提高编写程序和维护程序的效率,一种接近人们自然语言(主要是英语)的程序

3

设计语言应运而生了,这就是高级语言。因为它可对具体算法进行描述,所以又称算法语言。

高级语言的表示方法接近解决问题的表示方法,而且具有通用性,在一定程度上与机器无关。

★ 考点 7 :程序设计语言的成分

程序设计语言的基本成分可归纳为四种:

1 .数据成分

用以描述程序所处理的数据对象,如对数据类型和数据结构进行说明。

2 .运算成分

用以描述程序所包含的运算,例如算术表达式和逻辑表达式等。

3 .控制成分

用以表达程序中的控制构造,例如条件语句和循环语句等。

4 .传输成分

用以表达程序中的数据的传输,例如 I/O 语句。

★ 考点 8 :语言处理系统及其工作过程

1 .语言处理系统的作用

语言处理系统的作用是把用程序语言(包括汇编语言和高级语言)编写的各种程序变换成可在计算机上执行

的程序,或最终的计算结果,或其他中间形式。

程序语言处理系统随被处理的语言及其处理方法和处理过程的不同而异。但任何一个语言处理系统通常都包

含一个翻译程序,它把一种语言的程序翻译成等价的另一种语言的程序。被翻译的语言和程序分别称为源语言和

源程序,而翻译生成的语言和程序分别称为目标语言和目标程序。

2 .翻译程序的分类

按照不同的翻译处理方法,可把翻译程序分为以下三类:

( 1 ) 从汇编语言到机器语言的翻译程序,称为汇编程序。

( 2) 按源程序中语句的执行顺序,逐条翻译并立即执行相应功能的处理程序,称为解释程序。

( 3) 从高级语言到机器语言(或汇编语言)的翻译程序,称为编译程序。

除了翻译程序外,语言处理系统通常还包括正文编辑程序(用于建立和修改源程序文件)、连接编辑程序(将

多个分别编译或汇编过的目标程序和库文件进行组合)和装入程序(将目标程序装入内存并启动执行)等。

解释程序

解释程序对源程序进行翻译的方法相当于两种自然语言间的“口译”。解释程序对源程序的语句从头到尾逐

句扫描、逐句翻译,并且翻译一句执行一句,因而这种翻译方式并不形成机器语言形式的目标程序。

解释程序的优点是实现算法简单,且易于在解释过程中灵活方便地插入所需要的修改和调试措施;其缺点是运

行效率低。例如对于源程序中需要多次重复执行的语句,解释程序将要反复地取出、翻译和解释执行它们。根据

这些特点,解释程序通常适合于交互方式工作的、或调试状态下运行的、或运行时间与解释时司相差不大的语言。

编译程序

编译程序对源程序进行翻译的方法相当于“笔译”。在编译程序的执行过程中,要对源程序扫描一遍或几遍,

最终形成一个可在具体计算机上执行的目标程序。由于源程序中的每个语句与目标程序中的指令通常具有一对多

的对应关系,所以编译程序的实现算法较为复杂。但通过编译程序的处理可以一次性地产生高效运行的目标程序,

并把它保存在磁盘上,以备多次执行。因此,编译程序更适合于翻译那些规模大、结构复杂、运行时间长的大型

应用程序。

★考点 9 :常用程序设计语言

常用的程序设计语言有如下几类:

1 . FORTRAN 语言

FORTRAN 是一种主要用于数值计算的面向过程的程序设计语言。其特点是接近数学公式,简单易用。

在处理功能上, FORTRAN 语言允许复数与双精度实数运算,由于具有程序定义机制、 I / O的格式说明,

允许逻辑表达式、函数和子例程名作参数传递,扩充的字符处理等功能,使之也能应用于非数值运算领域。

4

此外, FORTRAN 语言还具有块 IF 结构、 DO 循环结构等,使写出的程序趋于结构化,是进行大型科学

和工程计算的有力工具。

目前的国际标准是 FORTRAN95 。随着计算机科学技术的发展,作为科学计算的主流程序语言,提供向量

和并行处理能力,己是 FORTRAN 语言发展的主要趋势。

2 . BASIC 语言和 VB 语言

BASIC 语言的特点是简单易学。

VB 语言是基于 BASIC 开发的,可方便的使用 Windows 图形开发界面,且可调用 Windows 的其他资源。

3 . Java 语言

Java 语言是一种面向对象的、用于网络环境的程序设计语言。

Java 语言基本的特征是:适用于网络分布环境,具有一定的平台独立性、安全性和稳定

4 . C 语言和 C + +语言

( 1 ) C 语言

C 语言的主要特点有:语言与运行支撑环境分离,可移植性好,语言规模小因而相对简单,具有指针类型

等, C 语言本身简洁,高度灵活,程序运行效率高。此外,在 C 语言中,有不少操作直接对应实际机器所执

行的动作,并在许多场合可以代替汇编语言。

( 2 ) C + +语言

C ++语言是以 C 语言为基础发展起来的通用程序设计语言。 C + +内置面向对象的机制,支持数据抽象。

C + +语言既有数据抽象和面向对象能力,运行性能高,又能与 C 语言相兼容,使得数量巨大的 C 语言程

序能方便地在 C ++语言环境中得以重用。近年来 C++语言迅速流行,成为当前面向对象程序设计的主流语言。

★ 考点 10 * :算法和数据结构

1 .算法

算法与程序不同,它是问题求解规则的一种过程描述。在算法中要精确定义一系列规则,这些规则指定了相

应的操作顺序,以便在有限的步骤内得到所求问题的解答。

尽管算法由于求解问题的不同而千变万化、简繁各异,但它们都必须满足下列基本性质:

( 1 ) 确定性

算法中的每一步运算必须有确切的定义,即每一步运算应该执行何种操作必须是清楚明确的,无二义性的。

( 2 )有穷性

一个算法总是在执行了有穷步的运算后终止。

( 3 )能行性

算法中有待实现的运算都是可执行的,即在计算机的能力范围之内,且在有限的时间内能够完成。

( 4 )输入

具有 0 个或多个输入量,即算法执行前给出初始量。

( 5 )输出

至少产生一个输出(包括参量状态的变化)。

注意 算法与程序的区别:

( 1 )一个程序不一定满足有穷性。

( 2 )程序中的语句必须是机器可执行的,而算法中的操作则无此限制。

2 .算法的评估

分析一个算法的好坏,除其正确性外,还应考虑以下因素:

( l ) 执行算法所要占用的计算机资源,有时间复杂度和空间复杂度两个方面。

(2) 算法是否易理解,是否易调试和易测试等。

具体而言,算法的时间代价是依据算法编制为程序后在计算机中运行时所耗费的时间大小来决定的。通常,

把整个程序中语句的重复执行次数之和作为该程序的运行时间特性,记为 T ( n )。算法的时间特性 T ( n )实际上

表示的是,当问题的规模 n 充分大时,运行该算法程序所占用时间的一个数量级。例如,某程序运行时间特性

为 T ( n ) = 2n

3

十 3n

2

十 2n 十 1 ,则表明程序运行所需要的时间与 n

3

成正比,引入符号“ O ”称作时间复

杂度,则有 T ( n )≈ O( n

3

)。

与此类似,空间复杂度含义是解决该问题的算法实现时所占用存储空间特性的数量级,也可用 O 函数表示。

5

3 .数据结构

数据结构是研究程序设计中计算机操作对象以及它们之间关系和运算的一个专门学科。具体地说,研究数据

结构一般包括三个方面的内容,即数据的逻辑结构、数据的存储结构以及在这些数据上定义的运算的集合。

( l ) 数据的逻辑结构

数据的逻辑结构是数据间关系的描述,它只抽象地反映数据元素间的逻辑关系,而不管其在计算机中的存储

方式。

【 举例 】

① 字符串的逻辑结构是一组字符型的字符元素,该字符串中字符元素间有明显的前后顺序关系。

② 在以“学生”为数据元素的“学生表”数据结构中,每个数据元素之间的逻辑关系可以描述为:有一

个学生元素为“学生表”中的第一个元素,另一个学生元素逻辑上安排在它后面,称为“学生表”的第二个元素,

下面是“学生表”中的第三个元素,第四个元素 „ „ 直到最后一个元素,这种数据结构称为“线性表结构”。

③ 在以“家庭成员”为数据元素的“家族树”数据结构中,各元素之间的逻辑关系具有层次性,可以描

述为:有一个家庭成员是“家族树”中所有其他家庭成员的祖先(称为根), 在他下面是作为他的子女的各个家

庭成员,每一个家庭成员都可能有一个或多个子女,除根外每一个家庭成员在家族树中都有其惟一的“双亲”数

据元素。这种数据结构称为“树形结构”。

另外,上述举例中的“线性表结构”和“树形结构”都是典型的数据逻辑结构,在其基础上可以形成更多的

新逻辑结构,如二叉树、森林、多重表、图等。

( 2 ) 数据的存储结构

数据的存储结构实质上是它的逻辑结构在计算机存储器上的实现。为全面地反映一个数据元素的逻辑结构,

它在存储器中的映象应包括两方面的内容,即数据元素自身值和数据元素之间关系。

( 3 ) 数据的运算

对各种数据逻辑结构有相应的各类运算,每种逻辑结构郡有一个运算的集合,常用的运算有检索、插入、删

除、更新、排序等。例如:从学生表中删除一个学生元素,向家族树中插入一个家庭成员等。实质上,数据的运

算定义在数据逻辑结构上,而其运算的具体实现要在存储结构上进行。数据的运算是数据结构的一个重要方面,

讨论任何一种数据结构时都离不开该结构上的数据运算及实现算法的讨论。

★ 考点 11 :计算机软件理论基础

数学与电子学等学科一起奠定了计算机科学的基础,而数学是计算机科学特别是计算机软件的理论基础。在

此,我们简单的列出与计算机软件理论相关的数学分支如下:

1 .数值计算

数值计算研究使用计算机求解各种数学问题的数值方法,包括离散型方程和连续系统离散化的数值求解。

2 .离散结构

离散数学是以离散结构为主要研究对象且与计算机科学技术密切相关的一些现代数学分支的总称。一般而

言,离散数学主要包括集合论、逻辑学、抽象代数、范畴论、图论、计算数论和组合学等。

3 .计算理论

计算理论是关于计算和计算机械的数学理论。

4 .程序理论

程序理论是研究程序的语义性质、程序设计及开发方法的理论,其基本问题是如何建立一个相对完善的理论

框架,为软件的设计和开发方法提供理论依据。这个框架应能提供有效地描述程序规约的语言;应能定义可操作

的变换方法,以便能规约构造可执行的程序;应能给出验证程序与其规约之间一致性的机制。

性表结构

6


本文标签: 语言 程序 计算机 软件