计算机软件技术基础-李芳芸.docx
《计算机软件技术基础-李芳芸.docx》由会员分享,可在线阅读,更多相关《计算机软件技术基础-李芳芸.docx(250页珍藏版)》请在文库网上搜索。
1、计 算 机 软 件 技 术 基 础( 第 二 版 )李 芳芸 沈 被娜 王 选民 编 著清 华 大 学 出 版 社内 容 简 介本书是计算机基础教育用书之一, 适用于非计算机专业的本科生、研究生及 广大从事计算机应用工作的科技人员。本书 用较短 的篇幅、通俗 的语言, 系统 地介绍 了计算 机软 件技 术的基 础知 识, 其中包括软件和软件工程概论、数据结构、操作系统和数据库系统四章。每章 既有基本原理的叙述又有常用实例的介绍, 各章后均附有习题。( 京) 新登字 158 号计算机软件技术基础( 第二版)李芳芸 沈被娜 王选民 编著 清华大学出版社出版 北 京 清 华 园 通县宏飞印刷厂印刷新
2、华书店总店科技发行所发行开 本 : 7 8 7 1 09 2 1 / 1 6 印 张 : 1 5. 7 5 字 数 : 3 7 2 千 字1 99 3 年 6 月 第 2 版 1 99 3 年 6 月 第 1 次 印 刷印数: 0000110000ISBN 7-302-01200-8/ T P 450定价: 7. 30 元计算 机基 础教 育丛 书出 版说 明近年来, 我国的计算机应 用事业迅 速发展, 大批 科技人员、大 中学生、管理人 员, 以 及 各行各业的在职人员都迫切要求学习计算机知识, 他们已经认识到, 计算机知识是当代知 识分子的知识结构中不可缺少的重要部分。计算机应用人 才的队
3、伍由两部 分人组成: 一部 分是从计 算机专 业毕业的 计算机专 门 人才, 他们是计算机应用人才队伍中的骨干力量; 另一部分是各行各业中从事计算机应用 的人才, 他们既熟悉本专业的业务, 又掌握计算机应用的技术, 人数众多, 是计算机应用人 才队伍的基本力量。他们掌握计算机知识的情况和应用计算机的能力在相当大程度上决 定了我国计算机应用的水平。因此, 在搞好计算机专业教育的同时, 在广大非计算机专业 中开展计算机基础教育是十分必要的。非计算机专业 中的计算机教 学, 无 论就目 的、内 容、教 学体系、教材、教学 方法等各 方 面都与计算机专业有很大的不同, 它以应用为目的, 以应用为出发点
4、。如果不注意这个特 点, 将会事倍功半。广大非计算机专业的师生、在职干部迫切希望有一套适合他们的教材, 以便循序渐进地迈入计算机应用领域, 并且不断地提高自己的水平。我们在前几年陆续编 写了一些适合初学者使用的教材, 受到广大群众的欢迎。许多读者勉励我们在此基础上进 一步摸索和总结规律, 为我国的广大非计算机专业人员编写一整套合适的教材。近年来, 全国许多专家、学者在这 个领域 作了有益 的探索, 写出 了一批受 到群众欢 迎 的计算机基础教育的教材。特别是全国高等学校计算机基础教育研究会作了大量的工作, 在集思广益的 基础上, 提 出了在高等学校 的非计算 机专业中 进行计 算机教育 的四个
5、层 次 的设想, 受到广泛的注意和支持。我们认为: 计算机的应用是分层次的, 同样, 计算机人才 的培养也是分 层次的; 非 计算机专业中各 个领域 的情况不 同, 也 不能一 律要求, 在进行 计 算机教育时也应当有不同的层次。对于每一个学习计算机知识的人, 还有一个由浅入深、 逐步提高的过程。我们认为, 编辑出版一套全面而有层次的计算机基础教育的教材, 目前不仅是十分必 要的, 而且是完全有条件的。在全国高等学校计算机基础教育研究会和许多同志的积极推 动和清华大学出版社的大力支持下, 我们决定编辑计算机基础教育丛书。它的对象是: 高等学校非计算机专业的学生、计算机继续教育或培训班的学员、广
6、大在职自学人员。本丛书包括计算机科学技术的一些最基本的内容, 例如计算机各种常用的高级语言、 计算机软件技术基础、计算机硬件技术基础、微型计算机的原理与应用、算法与数据结构、 数据库基础、计算机辅助设计基础、微机网络与应用、系统分析与设计等, 形成多层次的结 构, 读者可以根据需要与可能选学。本丛书的宗旨是针对广大非计算机专业的需要和特点来组织教材。敢于破除框框, 从 实际出发, 用读者容易理 解的体系和叙述 方法, 深入浅 出、循 序渐进 地帮助读 者更好地 掌 握课程的基本内容。希望我们的丛书能在这方面闯出自己的风格, 在实践中接受检验。本丛书的作者大多数是高等学校中有较丰富教学经验的教师
7、。但是, 由于计算机科学 技术的飞速发展以及我们的水平有限, 丛书肯定会存在许多不足, 丛书的书目和内容也应 当不断发展和更新。我们热情地希望得到社会各界和广大读者的批评指正。主编 谭 浩强 林定 基 刘瑞 挺1988. 10 前 言计算机软件技术基础于 1987 年 10 月由清华大学出版社出版第一版。通过几年的 教学实践, 广泛听取了广大读者提出的宝贵意见, 特别是得到了清华大学教务处及相关各 系同行们的支持, 与我们共同讨论确定了第二版的内容大纲。为使书的内容精练, 第二版中删除了原书中部分章节, 保留了概论、数据结构、操作系 统、数据库系统这四部分软件技术的基本内容。并在内容上进行了修
8、改与补充, 加强了系 统性和应用性。为便于教学和自学, 每章后面都附有习题。本书作为计算机基础教育丛书之一, 适用对象为非计算机专业的本科生、研究生及 广大从事计算机应用工作的科技人员。在计算机应用日益广泛, 特别是计算机软件飞速发 展的今天, 广大计算机应用软件的开发者和使用者迫切需要掌握计算机软件的有关知识。 本书包括了计算机软件的基础知识 数据结构, 计算机系统的核心软件 操作系统, 以及广为使用的数据处理软件 数据库系统。通过这些内容的学习能使读者在掌握这 些知识的基础上, 进一步提高使用计算机的能力和研制应用软件的水平。本书第一、第四章由李芳 芸编写, 第二 章由王选 民、沈 被娜、
9、李芳芸 编写, 第三章由 沈 被娜编写。我们对在第二版的修订出版过程中所得到的各方面的帮助和支持表示感谢。限于我 们的水平, 书中缺点和问题难免, 敬请计算机软件教学工作者和广大读者提出宝贵意见。编 者 目 录1. 1 计算机软件的发展1 2.5.2 二叉树及其性质53 1.1.1 汇编语言的出现1 2.5.3 二叉树的遍历55 1.1.2 高级语言的出现3 2.5.4 二叉树的应用57 1.1.3 操作系统的形成52.6 图65 1.1.4 计算机网络软件、数据库 2.6.1 图的定义和基本概念65软件的出现7 2.6.2 图的存储结构681. 2 计算机软件8 2.6.3 图的遍历71 1
10、.2.1 计算机系统资源8 2.6.4 最短路径73 1.2.2 计算机软件定义9 2.6.5 关键路径法781. 3 软件的研制102.7 检索81 1.3.1 软件工程学的基本概念10 2.7.1 线性检索法81 1.3.2 系统分析与设计方法介绍12 2.7.2 对半检索法82 1.3.3 结构化系统分析与设计15 2.7.3 分块检索法85第一章 概论 1 2.5.1 树的定义及其存储结构 52习题一17参考文献172.1 概述18 2.8.2 冒泡排序90 2.1.1 引言18 2.8.3 线性插入排序91 2.1.2 什么是数据结构19 2.8.4 对半插入排序92 2.1.3 与
11、数据结构相关联的运算22 2.8.5 快速排序932.2 线性表23 2.8.6 归并排序94 2.2.1 线性表的逻辑结构23习题二95 2.2.2 线性表的存储结构23参考文献99 2.2.3 线性表的基本运算25第三章 操作系统 101 2.2.4 线性表的应用28 3. 1 引论1012.3 数组31 3.1.1 什么是操作系统101 2.3.1 数组的定义31 3.1.2 操作系统的分类102 2.3.2 数组的顺序存储结构31 3.1.3 操作系统的功能和特性105 2.3.3 稀疏矩阵34 3. 2 存储管理1082.4 栈与队40 3.2.1 存储管理的功能及有关 2.4.1
12、栈的结构与运算40的概念108 2.4.2 栈的应用41 3.2.2 实存储管理110 2.4.3 队的结构与运算45 3.2.3 虚拟存储管理116第二章 常用数据结构及其运算 18 2.7.4 散列检索法85 2. 8 排序89 2.8.1 选择排序90 2.4.4 队的应用46 2. 5 树51 3. 3 处理机管理124 3.3.1 概述124 3.3.2 作业调度和进程调度126 4.1.2 数据描述187 3.3.3 并行程序设计中的 4.1.3 三类数据模型189几个问题130 4.1.4 数据库管理系统9 3.4.1 概述140 4.1.5 用户访问数据的过程195 3.4.2
13、 设备分配程序1434.2 关系数据库理论基础196 3.4.3 设备处理程序144 4.2.1 关系代数196 3.4.4 虚拟设备 假脱机 4.2.2 数据依赖概念203系统145 4.2.3 规范化理论205 3.4 设备管理140( DBMS )194 3.5 文件管理146 3.5.1 引言146 3.5.2 文件结构及存取方式148 3.5.3 文件目录管理150 3.5.4 文件存储空间管理153 3.5.5 文件的共享与文件系统的安全性155 3.5.6 文件的使用及文件系统的一般模型156 3. 6 用户接口160 4.2.4 结构化查询语言 SQ L209 4.3 数据库设
14、计213 4.3.1 数据库设计的目的及设计阶段213 4.3.2 概念结构设计工具 E -R 方法216 4.3.3 逻辑结构设计220 4.3.4 物理结构设计224 4.3.5 数据字典230 4.4 数据完整性及安全性230 3.6.1 概述160 4.4.1 数据完整性230 3.6.2 系统调用命令160 4.4.2 数据安全性232 3.6.3 脱机作业控制方式162 4.4.3 数据库恢复233 3.6.4 联机作业控制方式162 4. 5 分布式数据库系统234 3. 7 网络环境下的操作系统167 4.5.1 概述234 3.7.1 计算机网络167 4.5.2 分布式数据
15、库的系统类型及 3.7.2 网络操作系统172数据分布方式235习题三182 4.5.3 分布式数据库系统设计中参考文献183的问题237第四章 数据库系统 184习题四241 4.1 绪论184参考文献243 4.1.1 什么是数据库系统184第一 章 概 论 1.1 计算机软件的发展 自 1946 年世界上出现 第一台电子数 字计算 机以来, 仅仅几 十年时 间, 计 算机系统 得 到了飞速发展。人们习惯按组成计算机的元件的演变来划分计算机的发展阶段。计算机 元件的演变分为四个阶段, 计算机的发展也相应分为四个时代。第一代为电子管时代( 19451959) 。在这个阶段计算机的主要逻辑元件
16、是电子管, 存 储器为水银延迟线或静电屏。第二代为晶体管时代( 19591965) 。在这个阶段计算机的主要逻辑元件是晶体管, 存 储器由磁芯构造。第三代为集成电路时代( 19651971) 。在这个阶段计算机主要逻辑元件是集成电路,存储器除磁芯外还增加了镀线。第四代为大规模集成电路时代( 自 1971 年开始) 。大规模集成电路的集成度超过 100个门电路, 每平方英寸包含 50000 个元件以上, 存储器用 M OS 和双极型元件。现在 正在研制 第五代 计算机系 统, 简 称 FGCS( Five Gener ation Comput er Syst em ) , 其关键技术是超大规模集
17、成电路( VL SI) 结构、并行处理、基于关系数据库 的知识库, 以及 人工智能和 模式处理的应用。其 主要目标是 具有问题 求解和推 理能力, 能进 行知识库 管 理, 具有智能接口。因此 F GCS 是具有人工智能知识信息处理能力和非数值运算能力的高 性能计算机。F GCS 硬件 与软件设 计和制 造的目标 是为用 途广泛的 知识工 程服 务, 因此应 该包 括 专家系统、知识库, 能迅速进行相联检索, 能进行逻辑推理操作。在程序结构和软件中利用 并行方式达到高速运行, 而且机器和使用者之间可以使用自然语言和图像进行通信。F GCS 为实现以上目标和功能按照三个子 系统组织工作, 第一是
18、管理 知识库子系统,第二是问题求解和推理子系统, 第三是人与机器之间的交互子系统。图 1.1 示出第五代计算机系统的硬件、软件及与人的关系。硬件与软件的关联随计算 机的发展越来越紧密, 在 FGCS 中就充分显示出硬件、软件及人的统一。在整个计算机的发展过程, 随着计算机硬件技术的不断发展及广泛使用, 软件也逐步 丰富与完善, 而软件的发展又大大地促进了硬件的发展, 最终成为一个完整统一的整体。计算机软件也有标志其发展的四个阶段, 下面作一个详细的介绍。1.1.1 汇编语 言的出现一台没有装入任何软件的计算机, 我们称它为裸机。裸机只认识“0”、“1”两种代码, 程 序人员只能用机器指令或称机
19、器语言来编写程序。这样就要求程序设计人员熟记计算机 的全部指令, 工作量很大且容易出错又不易于修改。由于各种计算机的机器指令不一定相图 1.1同, 所编制的程序只适用于某一特定的机器, 局限性很大。在早期的计算机中, 采用了建立 标准子程序或标准程序库的办法, 这虽然在一定程度上缓和了工作量大的矛盾, 但不能从 根本上解决 问题。为了摆脱用机 器指令编码 的困难, 出现了 用指令 符号来编 制程序的 办 法。用指令符号编制的程序称为符号程序, 在编制程序时, 只要记住用英文名称缩写的指 令的助记符就可以了。例如取数用 L DA 、加法用 ADD 等。在符号语言的基础上进一步发 展就是汇编语言。
20、用汇编语言编制程序要比用机器的指令代码方便得多, 便于检查和修改错误, 而且指 令、原始数据和结果数据的存放单元可由机器自动分配。然而, 计算机的内部结构是根据指令代码设计的, 也就是说它只能识别和理解用二进 制代码表示的机器指令, 不能识别和理解指令助记符。因此, 人们用汇编语言编出程序后, 必 须将 此程序 翻译 为机器 语言 程序, 称为 目的 程序 ( 目 标程序 ) , 机器 才能 执行并 算出 结 果。这个翻译工作是由预先装入计算机中的“汇编程序”完成的。汇编程序是一种“编译” 程序, 计算机有了它, 才能允许用 户在该计算 机上使用 汇编语言 编制程 序, 这 个程序称 为 汇编
21、语言程序或称为汇编源程序。汇编程序是计算机必不可少的软件。用汇编语言写的程序和用机器语言写的程序有相同之处, 又有不同之处。相同之处在 于程序主体部分几乎是一一对应的, 不同的是 0、1 数码换成了符号, 地址换成了可读的名 字, 另外还增加了关于 工作单元和常数 单元的成 分。这些不 同之处 也正是汇 编语言的 优 点, 使得用汇编语言编写的程序好写、好读、好改。由于汇编语言也是依赖于机器的, 因此称它为面向机器的语言。使用时必须了解机器 的某些细节, 如累加器的个数、每条指令的执行速度、内存容量等等。但也正由于它依赖于19机器, 就可以与机器语言程序一样可结合机器特点编出短小、高质量、执行
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机软件 技术 基础 李芳芸