《大学计算机基础》以信息表示和信息处理为基本线索,全面介绍了计算机系统的基本概念、原理和方法。首先介绍了信息、信息表示、信息处理和二进制概念,以及用二进制表示数值信息和字符信息的方法;然后分别介绍了计算机硬件系统的结构和工作原理、操作系统功能及实现策略、数据库技术、多媒体技术、信息安全技术、计算思维和计算机问题求解。《大学计算机基础》有配套的实验教材,给出了一系列实验设计,并详细描述了实验方法。
《大学计算机基础》内容符合教育部高等学校非计算机专业计算机基础课程教学指导分委员会提出的有关“大学计算机基础”课程的教学基本要求,可作为大学本科、专科的计算机基础课程教材及培训教材。
陈跃新、李暾、贾丽丽、黄旭慧、汪昌健等编著的《大学计算机基础》的内容选取以理解计算机系统为重点,选择计算机系统的基本概念、原理和方法进行介绍,并注重向培养计算思维和问题求解能力延伸。实验教材则面向计算机应用技能的培养。《大学计算机基础》共9章,内容大致可分为如下部分:①信息、信息表示、信息处理的基本概念和方法(第1、2章);②计算机系统结构和工作原理(第3、4章和第5章的一部分,计算机网络整体上可看做一个计算机系统);③常见的应用技术(第5章的一部分,第6~8章);④计算思维和计算机问题求解(第9章,这一章概述了计算机问题求解的一般方法及相关概念)。
前言
第1章 引言
1.1 信息和信息处理
1.1.1 信息
1.1.2 信息表示
1.1.3 信息处理
1.2 信息处理装置的发展简史
1.2.1 机械式计算装置
1.2.2 图灵机和图灵
1.2.3 现代电子计算机
1.2.4 计算机的发展趋势
1.3 计算技术的应用
1.4 计算思维
1.4.1 基本概念
1.4.2 作用与意义 前言
第1章 引言
1.1 信息和信息处理
1.1.1 信息
1.1.2 信息表示
1.1.3 信息处理
1.2 信息处理装置的发展简史
1.2.1 机械式计算装置
1.2.2 图灵机和图灵
1.2.3 现代电子计算机
1.2.4 计算机的发展趋势
1.3 计算技术的应用
1.4 计算思维
1.4.1 基本概念
1.4.2 作用与意义
1.5 信息化社会和人
1.6 本书结构
1.7 本章小结
延伸阅读材料
习题
第2章 计算机基本信息表示
2.1 进制
2.1.1 进制的概念
2.1.2 二进制、八进制和十六进制
2.1.3 进制之间的转换
2.2 二进制运算的物理实现
2.2.1 实现逻辑运算的开关电路
2.2.2 实现二进制数存储的逻辑电路
2.2.3 常用组合逻辑电路
2.3 计算机数值表示
2.3.1 计算机码制
2.3.2 定点数和浮点数
2.4 字符编码
2.4.1 字符编码的概念
2.4.2 ASCII码
2.4.3 汉字编码
2.4.4 Unicode码
2.5 本章小结
延伸阅读材料
习题
第3章 计算机硬件系统
3.1 计算机系统概论
3.1.1 计算机硬件系统结构
3.1.2 计算机软件
3.2 计算机硬件系统核心——CPU
3.2.1 CPU结构
3.2.2 指令系统
3.2.3 CPU工作过程
3.2.4 CPU高级话题
3.3 存储系统
3.3.1 主存储器系统
3.3.2 辅存储器系统
3.3.3 高速缓存
3.4 总线
3.5 输入/输出系统
3.5.1 输入/输出系统结构与控制
3.5.2 输入/输出设备
3.6 本章小结
延伸阅读材料
习题
第4章 操作系统
4.1 操作系统概述
4.1.1 操作系统发展简史
4.1.2 操作系统基础
4.1.3 常见操作系统
4.2 进程管理
4.2.1 进程与程序
4.2.2 进程状态
4.2.3 进程管理与调度
4.3 存储管理
4.3.1 存储管理概述
4.3.2 存储管理方式
4.4 文件管理
4.4.1 文件与文件系统
4.4.2 文件组织结构
4.4.3 目录与文件
4.4.4 文件存储空间管理
4.5 设备管理
4.5.1 设备管理任务和策略
4.5.2 输入/输出软件系统
4.6 用户接口
4.7 操作系统的加载
4.8 本章小结
延伸阅读材料
习题
第5章 计算机网络及应用
5.1 计算机网络基础
5.1.1 计算机网络发展历史
5.1.2 计算机网络的分类
5.1.3 计算机网络体系结构与协议
5.1.4 计算机网络传输介质与设备
5.2 局域网
5.2.1 局域网概述
5.2.2 介质访问控制协议
5.2.3 以太网
5.3 Internet基础
5.3.1 Internet概述
5.3.2 TCP/IP协议
5.4 Internet应用
5.4.1 万维网
5.4.2 电子邮件
5.4.3 文件传输
5.4.4 搜索引擎
5.5 无线网络
5.5.1 无线数据网络的分类
5.5.2 无线局域网
5.6 本章小结
延伸阅读材料
习题
第6章 多媒体技术基础
6.1 多媒体概述
6.1.1 多媒体的基本概念
6.1.2 多媒体计算机系统组成
6.1.3 多媒体技术的主要应用
6.2 声音数字化技术
6.2.1 声音概述
6.2.2 声音的数字化
6.2.3 数字音频的技术指标
6.2.4 数字音频处理
6.2.5 常用音频文件格式
6.3 数字图像处理技术
6.3.1 图像的颜色
6.3.2 图像的数字化
6.3.3 数字图像的属性
6.3.4 位图与矢量图
6.3.5 图像的加工处理
6.3.6 常用图像文件格式
6.4 视频和动画技术
6.4.1 视频基础
6.4.2 常用视频文件格式
6.4.3 计算机动画概述
6.4.4 动画文件格式
6.5 多媒体数据压缩
6.5.1 数据压缩概述
6.5.2 数据压缩标准
6.6 本章小结
延伸阅读材料
习题
第7章 数据库技术应用基础
7.1 数据库技术概述
7.1.1 数据管理发展简史
7.1.2 数据库的基本概念
7.1.3 数据库技术的主要特征
7.1.4 数据库的应用
7.2 数据模型
7.3 概念模型
7.3.1 E-R模型的相关概念和E-R图
7.3.2 概念建模的基本步骤
7.4 逻辑模型
7.4.1 层次模型和网状模型
7.4.2 关系模型
7.4.3 E-R模型到关系模型的转化
7.4.4 面向对象模型
7.5 物理模型
7.6 数据库管理系统
7.7 管理信息系统与数据库
7.8 本章小结
延伸阅读材料
习题
第8章 信息安全技术
8.1 信息安全概论
8.1.1 信息安全基本概念
8.1.2 硬件系统的安全
8.1.3 软件系统的安全
8.1.4 计算机网络安全
8.2 计算机病毒及其防治
8.2.1 计算机病毒的定义与特征
8.2.2 计算机病毒的分类与常见症状
8.2.3 计算机病毒传播的方式和途径
8.2.4 计算机病毒防治方法
8.2.5 恶意程序
8.2.6 摆渡攻击
8.3 安全技术
8.3.1 加解密技术
8.3.2 访问控制技术
8.3.3 漏洞分析
8.3.4 防火墙
8.3.5 入侵检测
8.3.6 审计
8.3.7 虚拟私有网络
8.4 本章小结
延伸阅读材料
习题
第9章 计算思维与计算机问题求解
9.1 计算思维的典型方法
9.2 计算机问题求解
9.3 算法与程序
9.3.1 算法
9.3.2 程序
9.4 算法基础
9.4.1 算法设计
9.4.2 算法分析
9.5 程序设计语言与程序设计
9.5.1 程序设计语言及其分类
9.5.2 程序设计的典型过程
9.5.3 程序的基本结构
9.5.4 程序的基本控制结构
9.6 结构化程序设计示例
9.6.1 结构化程序设计思想
9.6.2 结构化程序设计原则
9.6.3 结构化程序设计示例
9.7 本章小结
延伸阅读材料
习题
参考文献
第1 章引言
【学习内容】本章作为本书的引言,主要知识点包括:
. 信息、信息表示和信息处理的概念;
. 信息处理装置的发展简史;
. 计算技术的应用;
. 计算思维的基本概念;
. 计算机文化相关内容。
【学习目标】通过本章的学习,读者应该:
. 理解信息、信息表示和信息处理的概念;
. 了解信息处理装置的发展规律;
. 了解计算技术的应用;
. 理解计算思维的基本概念和作用;
. 了解信息化社会对人的素质要求、相关社会和法律问题。
计算机系统是通用的、计算能力强大的信息处理工具,在社会生活的各个方面都有广泛的应用。要深入、有效地使用计算机,必须理解信息和信息处理的相关概念。本章首先介绍信息、信息表示和信息处理的概念,然后简单叙述了信息处理装置的发展轨迹、计算机技术的应用、计算思维的概念,最后讨论了信息化社会对人的素质要求及相关问题。
1.1 信息和信息处理
现代计算技术的迅猛发展,推动人类社会快速进入信息化社会。借助计算机和计算机网络,人类获取和处理信息的能力得到了巨大的提高。信息化社会的人应该了解计算机、驾驭计算机,同时也应该理解信息、掌握信息处理的基本技术。用计算机解决问题,首先要获取问题相关的信息,按照某种方式将信息存储在计算机中,然后启动计算机程序处理这些信息。计算机问题求解涉及两个基本方面,即信息表示和信息处理。
1.1.1 信息
信息是客观存在的表现形式,是事物之间相互作用的媒介,是事物复杂性和差异性的反映。人类通过五个感觉器官能够感知客观事物的不同信息。例如,通过眼睛,我们可以看到物体的图像,感知物体的颜色、形状和大小;通过耳朵,我们可以听到一定频率范围内的声音;通过鼻子,我们能够辨别各种气味。这些信息将汇集到人的大脑,由大脑进行处理。
“信息”这一概念的定义有多种表述。例如,信息是对人有用、能够影响人的行为的数据;信息是关于客观事实的、可通信的知识。较权威的定义由信息论的创始人香农给出:信息是事物运动状态或存在方式的不确定性的描述。这些定义的共同点:信息是客观存在的一种表达。信息具有事实性、不完全性、变换性和时效性等特点。信息的事实性指信息以客观存在为基础,这是信息的核心价值。信息的不完全性说明信息的被占有性,由于人的认识的局限性,占有的信息总是不完全的。信息的变换性指信息可以以不同方式表达,以不同的介质承载。信息的时效性指信息的发送、传递、接收、加工,以及使用的时间间隔和效率。
信息有多种形式。从人类感知信息的方式分类,有视觉信息、听觉信息、味觉信息和触觉信息等。从信息的表现形式分类,有数值信息、字符信息、图表信息、图像信息、声音信息等。
数据是编码的信息,是显示表示的信息。但是,数据和信息这两个概念之间没有明确的界限,在很多时候可以通用。例如,计算机是信息处理机器,也可以说计算机是数据处理机器。
数据有很多种类。在计算机领域,特别是在程序设计和数据库中,根据数据的不同用途和不同处理需要,将数据分为整型数、浮点数、布尔数和字符数等多种类型。
1.1.2 信息表示
信息表示泛指信息的获取、描述、组织全过程,其狭义指其中的信息描述过程。信息表示需要一种符号系统。人类在长期的实践中形成的语言文字就是一种符号系统。人们按照语言的语法规则和语义规则,用文字表达和传递概念、事实或知识。声音也是一种符号系统,因为人类用声音进行通信。声音与文字相辅相成,表达言语的一个音节一般都对应某个文字,同样每个文字都有特定的发音。人类常用的符号系统还有盲文、哑语和旗语等。另外,在人类使用的自然语言和数学中广泛存在的一类符号系统是数制系统,如十进制数制、二进制数制等。数制系统是描述事物间的数量关系的符号系统。
用于信息表示的符号系统有三个基本特点。第一,存在一个基本的有限符号集,符号集中符号的数目多于一个。例如,十进制数制符号系统的基本符号集包含十个数字符号0~9、小数点和数符等。如果考虑基本算术运算,还加上加、减、乘、除四个运算符,以及等号。英语的基本符号有大小写英文字母和标点符号等,其基本符号的数目不多。汉语的基本符号包括汉字及标点符号等,数目比较庞大。为什么基本符号集数目要多于一个?因为需要描述的事物和事物的运动状态不是单一的,事物之间存在复杂的相互关系。单一符号不足以简洁表达复数事物和它们的相互关系。一般情况下,符号系统的基本符号集不是太庞大。否则,不方便记忆和使用。第二,不同符号有明显的差别,以便于人们感知和识别这些符号。第三,存在一组规则,按照规则可以将基本符号组成更复杂的结构,如符号串。例如,在十进制中,多个数字并列形成数字串,产生十位、百位、千位和万位等高位数;在数字串中包含一个小数点则形成小数;而在前面加上数符,则区分正负数。在汉语中根据词法规则可以用汉字组成词组,根据语法规则可以形成句子。
在计算机中,最基本的信息表示方法是二进制。用二进制编码计算机机器指令,用二进制表示数值、字符、图像、声音等信息。计算机硬件能够识别和处理的信息形式只能是二进制。虽然,在计算机领域还常常用到很多抽象层次更高的信息表示形式,但这些形式表示的信息必须转换成二进制形式,才能被计算机硬件直接处理。例如,现在大多数计算机程序都是用汇编语言或高级程序设计语言编写的,这样的程序不能直接在计算机硬件中运行,只有经过一个“翻译器”,将其转换为机器指令序列,才能在计算机上运行。
我们面临的信息量往往是庞大的,这要求按照一定的关系、用一定的结构将数据组织起来,以便于信息的传递、存储和处理。例如,我们将信息组织成一本书或一份文件,按照主题将其分为章节,按照主旨将章节分为段落。在日常生活中,人们常常用表格记录信息。例如,表1-1 存放了某班学生的基本信息,这些信息包括学生的学号、姓名、性别、出生日期、民族、籍贯等。表格能够把逻辑上关联的数据集合在一起,它是一种常用的信息组织形式。
表1-1 学生基本信息表
学号 姓名 性别 出生日期 民族 籍贯
06050101 张三 男 1986.01.12 汉 湖南
06050102 王红 女 1988.05.01 汉 湖北
06050103 李四 男 1987.10.23 回 甘肃
06050104 王二 男 1987.12.12 汉 北京
06050105 李绿 女 1988.06.15 壮 广西
… … … … … …
在计算机领域,组织信息的方式称为数据结构。常用数据结构一般有线性表、树和图等类型。线性表适合表达数据之间的线性关系。例如,将学生信息按照年龄大小罗列成一张表,表中每一项放入一个学生的信息。在这张学生信息表中,物理位置相邻的项,在年龄上具有顺序性。根据操作方式的不同,线性表又分为向量、队列和栈。向量中各数据元素具有编号,元素的编号一般与其在向量中的序号相同。设V 是一个向量,则V(1) 是V 的第一个元素,V(2) 是V的第二元素……在向量结构中,能够用编号随机访问其中的元素。因此,对向量的访问一般是快捷、高效的。
队列可以看做是从日常生活中的“排队”现象抽象出来的结构。在火车售票厅买票,每个售票窗口前都排有一个队列。队列中最前面的人最先得到处理,他(她)的事务处理完后,从队列的头部出来,队列中余下的人向前进一个位置。如果有人希望进入这个队列,他(她)只能排在队尾。队列这样的数据结构两端区分队列的头部和队列的尾部。数据元素进入队列,只能从队尾进,成为队列的最后一个元素。而出队列的元素只能是现队列中的最前面的元素。第一个元素出来后,队列中其他元素都需要向前移动一个位置。图1-1 表明了队列的结构。
栈可看做这样一个结构,它由若干方格叠加起来,每个方格存放一个数据项。栈的上端称为栈顶,栈的底端称为栈底(见图1-2)。出栈时,只有栈顶的元素才能出来,而进栈时,只能从栈顶进入。如果一个非栈顶的元素要出栈,首先得把其上面的元素都出栈,它才能出来。因此,数据元素进出栈的原则是“先进后出”。栈这种数据结构也是对现实世界中某些现象的抽象。例如,一个探险队进入一个仅能容纳一人通过的山洞,进去后发现,洞的另一端是堵塞的,他们必须按照原路退出来。探险队员们出山洞的顺序与进去的顺序刚好相反。
树数据结构由结点和边组成。结点表示数据元素,边连接两个结点,表示这两个结点数据元素之间的关系。边具有方向性,从一个结点指向另一个结点。边的起始结点称为父结点,所指结点称为子结点。一棵树中仅有一个结点没有父结点,该结点称为树根,而没有子结点的结点称为叶结点。树中每个结点或没有父结点,或有唯一的父结点。在图示树时,习惯上将其画成一棵“向下生长”的树,用椭圆代表结点,用带箭头的线段代表边。树结构一般用来组织具有层次关系的数据集合。图1-3 显示了一棵描述《红楼梦》中贾家部分家族关系的树。图中椭圆形代表树的结点,用来存储数据,线段代表树的边,用来表示“父.子”层次关系。在贾政和贾宝玉之间有一条边相连接,说明贾政是贾宝玉的父亲。
同样,图数据结构也是由结点和边组成的。但对结点的连接关系没有限制。也就是说,图中任意两个结点之间都可存在一条边。实际上树是图的特例。图可以表示数据元素之间的复杂关系。例如,可以用图表示城市之间的公路交通。在这样的图中,结点代表城市,边代表连接城市的公路。
在计算机领域中,常用的数据组织形式还有文件和数据库等。这些数据组织形式将在本书的后续章节中介绍。
同一种信息可以用不同的方法表示。但不同表示方法之间存在等价关系,根据这种关系,它们之间可以互相转换。如汉语和英语之间可以互相翻译,十进制和二进制之间可以互相转换,高级语言程序可以翻译成等价的机器语言程序。
信息的表示都是在一定的抽象层次上进行的。所谓抽象,是指在表示中省略某些细节,抽象层次越高的表示包含的细节越少。在计算机领域,一般认为包含计算机特性越多的信息表示,抽象层次越低。二进制就是计算机中抽象层次最低的信息表示方法。比较而言,高级程序设计语言的抽象层次高于汇编语言,汇编语言的抽象层次高于机器语言。在计算机领域常常将信息表示分为三个层次:概念层、逻辑层和物理层。物理层信息表示涉及在计算机的存储介质上的存储形式和组织形式,这种形式表示的信息,能够被计算机硬件直接处理。概念层信息表示以人类容易理解的形式描述信息,便于人与人之间的通信。逻辑层表示的抽象层次介于物理层和概念层之间,一般用于人―机通信。
现实世界的对象都能通过某种方式在计算机中表示出来。例如,对于一个人,或者将其照片存储在计算机中,或者抽取其特征,以字符信息、数字信息形式存储在计算机中,或者将这两类信息都存储在计算机中。这样计算机中就存在与现实世界人对应的“虚拟人”或“数字化人”。
1.1.3 信息处理
人的大脑是处理信息的装置。它在信息处理方面的能力包括记忆、组织、检索和使用。记忆是指把通过感觉器官接收的信息保存在大脑中;组织是指将大脑中的各种信息进行分类,形成一种易于检索和处理的结构;检索是指大脑在一定的刺激之下,通过联想找到相关信息;使用是指利用信息进行分析、判断和推理。人类通过感官获得外部信息的过程,在计算机领域称为输入,而通过语言、书写和手势等展示信息的过程称为输出。在很多情况下,我们的大脑选择性地吸收感官输入的信息,或者控制感官定向地感知某些信息。同样,为了某个通信目的,大脑会控制嘴巴、手或身体某部位,向外展示信息。也就是说,在大多数情况下,大脑对人的信息输入和输出过程进行控制,实现有效的通信。
人类在长期的实践中发明了各种信息处理工具,以辅助人类的信息处理任务。这些信息处理工具的作用主要表现在下列方面:
. 输入/输出。通过某种途径接收外部的信息,或将内部信息发送出去。
. 存储。将信息存储在某种媒介上,并按照一定方式进行组织,以便于快捷查找和处理。
. 传输。将信息从一个地方传送到另一个地方,或者从一个对象传送给另一个对象。
传输过程往往包含信息的格式转换。
. 检索。根据用户提供的某些片断信息,或关键字,通过匹配或联想,找到相关的信息。
. 计算。按照预先定义的计算模型,对信息进行处理,以得到需要的结果。计算一般分为两类:数值计算和非数值计算。数值计算指对数值数据进行处理,如数的加减乘除运算、数的比较运算等。非数值计算又有符号计算和多媒体信息处理之分。符号计算对字符串数据进行操作。例如,字串分解、字串合成、字串匹配和查找等。对于多媒体信息,不同媒体有不同的处理。例如,对于声音信息,有声音识别、声音合成等;对于图像信息,有图像绘制、图像变换和图像识别等处理。
. 推理。推理是一类高级的计算,根据一组前提,演绎出结论。
一个由处理步骤形成的序列称为处理过程。由计算机硬件完成的处理过程称为硬件过程,如信息的输入/输出处理,由输入/输出设备完成,信息的存储由计算机存储设备实现,信息的传输由通信设备和通信介质完成,它们都是硬件过程。由计算机软件完成的处理过程称为软件过程,查询、计算和推理等处理一般由软件实现。
理解一个计算机系统,或一种计算技术,要弄清楚四个问题:①它将处理什么类型的信息?②信息如何表示?③在这些信息上进行什么处理?④如何实现这些处理?下面以多媒体技术为例进行说明。多媒体技术是研究声音、图形图像、视频和动画等类型信息的处理技术。这些信息一般采用二进制编码,基本的信息处理一般有多媒体信息的采样、量化、编码、存储、传输、压缩和变换。这些处理可以通过硬件过程或软件过程实现。例如,采样由输入设备承担,压缩和变换主要由软件过程完成。因此,信息表示和信息处理是计算技术的核心概念,是理解计算技术的两条主要线索。
1.2 信息处理装置的发展简史
自从第一台现代计算机问世以来,计算机技术得到了迅猛的发展。计算机技术的广泛应用,对人类文明产生了深刻的影响。
人类发明计算装置(包括计算机),最初目的是使加、减、乘、除等基本算术运算能够自动化,以便让其承担工程问题中枯燥、烦琐和大规模的计算,从而减轻人类的脑力劳动强度。但是,计算机的作用不仅限于此。在人类研究和开发计算装置及计算技术的进程中,逐步赋予了计算机逻辑操作能力,计算机不但能进行算术运算,而且能进行逻辑判断,使其可以根据问题的性质,执行不同的运算。人类发明精致的编码符号系统,用于将各种信息形式数值化,使计算机不仅能够处理数值信息,而且能够处理更广泛存在的其他形态的信息,如文本、图形、图像、声音和影视等。
1.2.1 机械式计算装置
劳动创造工具,而工具又拓展了人类探索自然的深度和广度。计算机是人类对计算