当前位置:文档之家› 计算机软件技术基础(第三版)习题答案1

计算机软件技术基础(第三版)习题答案1

第一章1.1什么是信息?信息与数据的区别和联系在何处?信息定义之一:信息是现实世界中存在的客观实体、现象、关系进行描述的数据。

信息定义之二:信息是经过加工后并对实体的行为产生影响的数据。

与数据的区别和联系:数据定义:数据是现实世界客观存在的实体或事物的属性值,即指人们听到的事实和看到的景象。

我们把这些数据收集起来,经过处理后,即得到人们需要的信息。

信息和数据的关系可以归结为:1.信息是有一定含义的数据。

2.信息是经过加工(处理)后的数据。

3.信息是对决策有价值的数据。

1.2信息有哪些基本属性?z信息的基本属性有:1.事实性。

2.等级性。

3.可压缩性。

4.可扩散性。

5.可传输性。

6.共享性。

7.增值性和再生性。

8.转换性。

1.3计算机的主要特点是什么?计算机最主要的特点是:1.高速自动的操作功能。

2.具有记忆的能力。

3.可以进行各种逻辑判断。

4.精确高速的计算能力。

1.5完整的计算机系统应该包括哪几部分?目前最完整的计算机系统学说认为由五部分组成:1.人员2.数据3.设备4.程序5.规程1.6什么是计算机硬件?什么是计算机软件?硬件:泛指实际存在的物理设备,包括计算机本身及其外围设备。

微型计算机的硬件系统:主机、外存储器、输入设备、输出设备、微机的系统总线。

软件:是指计算机程序、方法、规则的文档以及在计算机上运行它时所必须的数据。

计算机软件一般分为系统软件和应用软件。

1.8 软件技术发展的几个阶段各有什么特点?它与硬件的关系如何?第一阶段:高级语言阶段特点:这一时期,编译技术代表了整个软件技术,软件工作者追求的主要目的是设计和实现在控制结构和数据结构方面表现能力强的高级语言。

但在这一时期内,编译系统主要是靠手工编制,自动化程度很低。

硬件关系:此时期计算机的硬件要求仅能用机器指令来编制可运行的程序。

第二阶段:结构程序设计阶段特点:在程序的正确性方面,提出了结构化程序设计思想使程序的可靠性提高了。

程序设计方法论方面,提出由顶向下法和自底向上法。

使程序模块化,使问题的复杂性和人的思维统一起来了。

出现了软件生产管理。

硬件关系:磁盘问世,操作系统发展,非数值计算应用发展,通信设备完善,网络发展,集成电路发展等使软件复杂性增加产生软件危机,在此背景下发展了软件技术。

第三阶段:自动程序设计阶段特点:向集成化、一体化发展。

出现了软件开发环境。

程序设计基本方法进一步改进。

硬件关系:集成电路迅速发展以及高分辨率终端的出现,为个人计算机发展提供了条件,再加上人工智能、专家系统研究的发展,使程序设计进入成熟期。

第二章2.1 什么是数据结构?它对算法有什么影响?数据结构是指同一数据对象中各数据元素间存在的关系。

对算法是影响:算法的实现必须借助程序设计语言中提供的数据类型及其运算。

一个算法的效率往往与数据的表达形式有关,因此数据结构的选择对数据处理的效率起着至关重要的作用。

它是算法和程序设计的基本部分,它对程序的质量影响很大。

2.2何谓算法?它与程序有何区别?广义地说,为解决一个问题而采取的方法和步骤,就称为“算法”。

计算机算法是通过计算机能执行的算法语言来表达的。

和程序的区别:一个程序包括两个方面的内容:(1)、对数据的描述,即数据结构。

(2)、对操作的描述,即算法。

所以算法是程序的一个要素。

2.3 何谓频度,时间复杂度,空间复杂度?说明其含义。

频度:在某个算法中某个语句被重复执行的次数就是此语句的频度。

时间复杂度:是用来估算一个算法的执行时间的量,以算法中频度最大的语句来度量。

空间复杂度:指在算法中所需的辅助空间的单元,而不包括问题的原始数据占用的空间。

2.6 数据的存储结构主要有哪两种?它们之间的本质区别是什么?数据的存储结构:向量和链表。

本质区别:向量是连续存放的,其存储空间是静态分配的,以存放顺序来表达元素的前后件的关系。

链式存储结果不需要一组连续的存储单元,其数据元素可以分散存放在存储空间中,其元素关系由指针来指向。

2.16 试比较顺序表和链表的优缺点。

1. 线性表的长度是否固定方面:由于向量的存储空间是静态分配的,链表的存储空间是动态分配的,因此若表长不固定时采用线性链表较好。

2. 线性表的主要操作是什么:由于向量是连续存放的,所以适用于查找操作,不适用插入、删除操作。

由于线性链表只能顺序存取,所以适用于插入、删除操作,不适用于查找操作。

3. 采用的算法语言:线性链表要求所使用的语言工具提供指针类型变量。

2.17 试比较单向链表与双向链表的优缺点。

1. 单向链表只能单方向地寻找表中的结点,双向链表具有对称性,从表中某一给定的结点可随意向前或向后查找。

2. 在作插入、删除运算时,双向链表需同时修改两个方向上的指针,单向链表则简便些。

2.23 试画出表达式A*(B-D)/D+C**(E*F)执行过程中NS,OS栈的变化情况。

B-D=T1D/T1=T2 T2*A=T3 E*F=T4 T4**C=T5 T5+T3=T62.26 用三元组和带行辅助向量形式表示下列稀疏矩阵:(1):⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡--000280000000910000000060000003110150220015 (2):⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡---300060200120000000070000040000000000200000001200040002000000304030050006001526000130008 (1):三元组带行辅助向量 行 列 值1 1 151 4 221 6 -152 2 112 3 33 4 -65 1 916 3 28(2): 三元组带行辅助向量行 列 值1 1 81 5 -131 9 262 1 152 4 62 8 53 2 -33 4 43 6 34 4 24 8 45 3 -126 2 27 4 48 1 79 1 12 D ) B - ( * A ; C + T2 * A ; ) F * E ( ** C + T3 ; ; T4 ** C + T3 ; ; T5 + T3 ; D / T1 * A ; ; T6 ; i 1 2 3 4 5 6 POS 1 4 6 7 7 8 NUM 3 2 1 0 1 194 2 96 6 9 9 302.27 试说明树与二叉树有何不同?为何要将一般树转换为二叉树?树与二叉树区别:树是由n 个(n>=0)结点组成的有限集合T ,其中有且仅有一个结点称为根结点,在此类元素结点之间存在明显的分支和层次关系。

二叉树是一种特殊的树结构,每一个结点最多只有两个孩子,即最多只有两个分支。

为何要转换:一般树,树中结点次序没有要求,分支庞杂。

而二叉树,元素之间存在严谨的前后代关系,在对数据元素进行删除、查找、插入等运算时更加有效率。

2.28 将下列(题图2.3)的一般树化为二叉树。

题图2.3转换后:2.30 设一棵二叉树其中序和后序遍历为 中序:BDCEAFHG后序:DECBHGFA画出这棵二叉树的逻辑结构,并写出先序遍历结果。

先序遍历:ABCDEFGH其逻辑结构如下: i 1 2 3 4 5 6 7 8 9 POS 1 4 7 10 12 13 14 15 16 NUM 3 3 3 2 1 1 1 1 4 D E F IJK G LABCD E F I JK G L AB C2.33 定一组权值W={8,2,5,3,2,17,4},画出由此生成的哈夫曼树。

设:8 2 5 3 2 17 4生成的哈夫曼树为:第三章3.1 操作系统的基本功能是什么?它包括哪些部分?基本功能: 操作系统应该具有处理器管理,存储管理,设备管理和文件管理功能,同时,为了使用户能方便地使用机器,操作系统还应提供用户接口功能。

构成部分: (1). 对CPU 的使用进行管理的进程调度程序 。

(2). 对内存分配进行管理的内存管理程序。

(3). 对输入输出设备进行管理的设备驱动程序。

CDE FGAB C D E F G A AB FC D E GH B(4). 对外存中信息进行管理的文件系统。

3.2 试说明虚拟机的概念以及实现的方法。

在裸机外面每增加一个软件层后就会变成一台功能更强的机器,我们通常把这种计算机系统称为虚拟机。

虚拟机的实现方法:在裸机上装上操作系统对机器进行首次扩展,再在操作系统的基础上增加其他软件,这样就可以实现“虚拟机”。

3.3通常操作系统有哪几种基本类型?各有什么特点及适用于何种场合?三大类:(1)多道批处理系统:计算机内存中同时可以存放多道作业,用户与作业之间没有交互作用,用户不能直接控制作业的运行。

此类系统一般用于计算中心等较大型的计算机系统中。

(2)分时系统:多个用户通过终端分享同一台计算机,并通过终端直接控制程序运行,进行人与机器之间的交互。

此类系统适用于程序的开发。

(3)实时系统:对外部发生的随机事件作出及时的响应,并对它进行处理。

此类系统一般用于工业控制系统或事物处理系统。

3.4试说明你所使用过的操作系统的类型和特点。

Windows系统:多用户多任务操作系统。

特点:全新的、友善的用户界面。

提供了功能强大的应用程序。

具有多任务并行处理能力,各种应用程序之间可以方便地进行切换和交换信息。

具有强大的内存管理能力,支持扩展内存功能,提高系统运行效率。

3.5解释名空间、作业地址空间和存储空间的关系以及逻辑地址和物理地址的区别。

存放源程序的空间称为名空间。

当汇编或编译程序将源程序转换成目标程序后,一个目标程序所占有的地址范围称为地址空间,这些地址的编号是相对于起始地址而定的,一般定起始位零,称为逻辑地址或相对地址。

存储空间是指当目标程序装入主存后占用的一系列物理单元的集合,这些单元编号称为物理地址或绝对地址。

3.6 什么是重定位?静态重定位和动态重定位的区别是什么?各举一例说明。

当用户程序要调入内存时,必须把相对地址转换为绝对地址,同时要包括对程序中与地址有关的指令进行修改,这一过程称为重定位。

静态重定位是在程序装入时进行,一般通过处理机中一对界地址寄存器来实现。

动态重定位是在程序执行过程中进行的,当处理器访问主存指令时由动态变换机构自动进行地址转换。

3.7 存储管理器的功能是什么?为什么要引入虚拟存储器的概念?虚存的容量由什么决定?存储管理的功能主要分为:内存分配、地址转换、存储保护和内存扩充。

虚拟存储器能提供给用户一个比实际内存大得多的存储空间,使用户在编制程序时可以不必考虑存储空间的限制。

虚存的容量受两个条件约束:指令中地址场长度的限制、外存储器容量的限制。

3.10 什么是作业、作业步和进程?作业是用户在一次算题过程中或一个事务处理中要求计算机系统所做的集合。

一个作业是由一系列有序的作业步所组成。

相关主题