计算机导论课后习题答案计算机科学导论第七章1应用程序和操作系统的不同点是什么?操作系统是一个程序,有利于应用程序的执行。
2操作系统的组成是什么?内存管理器,进程管理器,设备管理器,文件管理器。
3单道程序和多道程序之间有何区别?单道程序,只有一个程序在内存中。
多道程序,多个程序同时在内存中,但是计算机的资源只分配给正在运行的程序。
4分页调度和分区调度有什么区别?分区调度把内存分为若干个区,把程序整个的放入区中。
分页调度提高了分区调度的效率,在分页调度下,内存被分为大小相等的若干部分,程序也被分为大小相等的部分。
分区调度需要把程序装载到连续的内存上。
分页调度可以吧把程序装载到不连续的内存当中。
5为什么请求分页调度比常规页面调度具有更高的效率?在常规的分页调度中,整个程序必须同时在内存中,以便为程序执行。
但是在请求分页调度中,有部分页面的程序可以在内存中。
这意味着,在请求分页调度中,在给定的时间中,更多的程序可以使用计算机的资源。
6程序和作业之间有何联系?作业和进程之间有何联系?程序和进程之间有何联系?从一个程序被选中执行,到其运行结束并再次成为一个程序的这段过程中,该程序称为作业。
7程序驻留在哪里?作业驻留在哪里?进程驻留在哪里?程序和作业驻留在磁盘上,进程驻留在内存中。
8作业调度器和进程调度器有什么区别?作业调度器负责从作业中创建一个进程和终止一个进程。
进程调度器将一个进程从一个状态转入另一个状态。
9为什么操作系统需要队列?一个操作系统需要使用队列,因为在同一时间可以有许多作业和进程同时活跃。
为了共享所有的资源,队列是必要的,以确保作业和进程都得到他们需要的资源。
31一个计算机装有一个单道程序的操作系统。
如果内存容量为64MB,操作系统需要4MB的内存,那么该计算机执行一个程序可用的最大内存为多少?64-4=60MB33 70/(70+10)=87.5%34一个多道程序的操作系统用一个适当的分配计划把60MB内存分为10MB,12MB,18MB,20MB。
第一个程序运行需要17MB内存,使用了第三分区,第二个程序运行需要8MB内存,使用了第一分区。
第三个程序运行需要10.5MB,使用了第二分区。
最后第四个程序要20MB,使用了第四分区。
那么总共使用了多少内存?浪费了多少内存?内存的浪费率是多少?总共使用17+8+10.5+20=55.5MB浪费4.5MB。
36一个多道程序的操作系统使用分页调度。
可用内存为60MB,分为15帧。
A 4,B 3,C 7,D 1,E 4MB,F 1/1537 (100+1000)/10=110 100MB可以驻留在内存中,1000MB必须留在磁盘里。
39 是死锁的四个条件都满足互斥资源占有,抢先循环等待。
40 不是死锁。
11-20 AABCA AAADC 21-30 CCADA BDADC第八章1算法的正式定义是什么?算法定义为一组明确步骤的有序集合,它产生结果并在有限的时间内终结。
2给出用于结构化程序设计中的三种结构定义?顺序,判断,循环。
3UML图与算法有什么关系?通用建模语言(UML)是一种算法的图形表示。
它隐藏了一个算法的所有细节,试图给出一个大的图片,它显示了如何从开始到结束的算法流程。
4伪代码与算法有什么关系?伪代码是算法的一种类似英语的表示法。
5排序算法的用途是什么?一种排序算法根据其值排列数据.6本章有哪三种基本的排序算法?选择排序,冒泡排序,插入排序。
7查找算法的基本用途是什么?一个数据列表中找到一个特定的项目(目标)。
8本章讨论的基本查找算法主要有哪两种?顺序查找,折半查找。
9给出迭代过程的定义和一个例子?算法的定义没有包括算法本身。
10给出递归过程的定义和一个例子?算法的定义包括算法的本身。
29Iteration Data item Sum = 0120Sum = 0 + 20 = 20212Sum = 20 + 12 = 32370Sum = 32 + 70 = 102481Sum = 102 + 81 = 183545Sum = 183 + 45 = 228613Sum = 228 + 13 = 241781Sum = 241 + 81 = 322After exiting the loop Sum = 32231118Largest = 18212Largest = 1838Largest = 18420Largest = 20510Largest = 10632Largest = 3275Largest = 32After exiting the loop Largest = 3233Pass List1472331405678921272331405678914227233140567891432793140567823144279144056782331527914235678403162791423317840567279142378407856827914237840567835Pass List14723314056789217142331405678922714233140567892371423314056789247142331405678925714233140567892671423314056789277914233140567828279142331405678 37Pass List78264413235798178132644235798278132326445798378132326445798 39 first last mid 1 2 3 4 5 6 7 81 8 4 5 8 6 7 8 781317264456889744568897889743i Factorial1F =12F =1× 2 = 23F =2× 3 = 64F =6× 4 = 245F =24× 5 = 1206F =120×6 = 720After exiting theF =720loop11-20 DCBBC ACABB 21-28DBACB ABC第九章1汇编语言和机器语言有哪些区别?机器语言只使用0和1的指令和地址。
汇编语言使用符号来表示指令和地址。
2汇编语言和高级语言有哪些区别?高级语言能使程序员能够集中精力在应用程序上。
高级语言的设计目标就是使程序员拜托汇编语言繁缛的细节。
3哪种语言和机器语言直接相关,并被计算机制及识别?机器语言是计算机硬件所理解的唯一语言。
4区分编译和解释。
编译在执行前把整个源程序翻译成目标程序。
解释一次只翻译和执行源代码中的一行。
5列出编译语言翻译中的四个步骤这四个步骤是词法分析,语法分析,语义分析和代码生成。
6列出四种常见的计算机语言模式。
过程式,面向对象,函数式,说明式。
7比较和对照过程模式和面向对象模式。
在过程模式,程序是一种活性剂,操纵被动对象(数据)。
面向对象的范例中,数据被设计为活动对象。
对这些对象进行的操作包括在对象中。
8定义面向对象语言中的类和方法,这两个概念的联系是什么?他们对于对象概念间的联系是什么?相同类型的对象需要一组方法,这些方法显示了这类对象对来自对象领地外的刺激的反应。
???9定义函数模式。
在函数模式中,程序设计成了一个数学函数。
它允许程序员将预定义的原始函数结合起来,创建新的函数。
10定义说明式模式。
说明式模式使用逻辑推理原则去回答问题。
23 int a,int b,int c24double a=0 double b=0 doublec=025 const char name=”a” const int a=0 const float b=0.327 2次29语句执行八次(i= 5,7,9,13,15,11,17,19)。
值得注意的是,在每次迭代中i的值是递增的两次:第一次在头(i+ +),在循环体中第二次(i=i+ 1)。
30 5次。
31A = 5;do{ statement;A = A − 2;}while (A < 8);32i=5 do{statement;i=i+2;}while(i<20)33.i = 5;while (i < 20){statement; i = i +2;}34 for(i=5;i<10;i++){Statement;}35.for (int A = 5; A < 8; A = A −2){ statement;}11-15 ACBAA 16-20DBACD BC第十章1定义软件的生命周期。
软件,像许多其他的产品,经过一个周期的重复阶段,直到它变得过时。
2区分瀑布模型和增量开发模型。
瀑布模型开发过程只有一个方向流动。
在增量模型中,软件的开发要经历一系列步骤,开发者首先完成整个系统的简化版本,这个版本表示了整个系统,但不包括具体的细节。
3软件开发的四个阶段是什么?分析,设计,实现,测试。
4说明分析阶段的目标是什么,描述此阶段的两种趋势。
这个阶段产生了规格说明文档,这个文档说明了软件要做什么而没有说怎么做。
面向过程分析,面向对象分析。
5说明设计阶段的目标,描述此阶段的两种趋势。
设计阶段定义了系统将如何完成在分析阶段所定义的。
在设计阶段,所有组件的系统被定义。
在这个阶段的发展趋势是面向过程的设计,面向对象的设计。
6描述模块化,说出与模块化有关的两个问题。
模块化是将大程序分解成容易理解和容易处理的小程序。
耦合和内聚。
7描述耦合和内聚之间的区别。
内聚是衡量一个程序中程序的紧密程度的一个度量。
耦合是一种度量,如何将两个模块互相绑定在一个模块中。
8说明实现阶段的目标,描述此阶段中的质量问题。
程序员为面向过程设计中的模块编写程序或程序单元,实现面向对象设计中的类。
可操作性,可维护性,可迁移性。
9说明测试阶段的目标,列出两类测试。
测试阶段的目标是找到错误。
有2种类型的测试:玻璃箱(或白盒)和黑盒10描述白盒测试和黑盒测试间的区别。
白盒测试是基于知道软件的内部内部结构。
黑盒测试不知道内部是什么,也不知道他是如何工作的情况下的测试软件。
23通过参考提供了两个模块之间的衔接。
11-15 DBCBD 16-20 DBDAB第十一章1给出数据结构的三种类型的名称。
数组记录和链表。
2数组元素和记录元素的区别。
数组是元素的顺序集合,通常这些元素具有相同的数据类型。
记录是一组相关元素集合,它们可能是不同的类型。
3数组元素和链表元素的区别。
数组的元素在内存中是连续的,并且可以使用一个索引来访问数组元素。
链表的元素被存储在可能分散在整个内存中的节点中,并且只能通过访问列表(即搜索功能返回的特定节点的地址)访问该功能。
4为什么用索引而不是下表来标注数组元素。