计算机科学导论(第4版)习题答案-第5、6章
计算机科学导论第4章 程序设计基础(答案)

第4章程序设计基础习题一、选择题1. A2.D3.C4. A5. B6.D7.A8.B9.C 10. B11. D 12. A 13.B 14.D 15.C二、简答题1.结构化程序设计的思想是什么?答:结构化程序设计的基本思想就是采用自顶向下、逐步求精的设计方法和单入口单出口的控制结构。
2.结构化程序设计的原则是什么?答:结构化程序设计的原则是:(1) 使用顺序、选择、循环3种基本控制结构表示程序逻辑。
(2)程序语句组织成容易识别的语句模块,每个模块都是单入口、单出口。
(3)严格控制GOTO语句的使用。
3.结构化程序设计语言采用自顶向下的方法进行程序设计的特点是什么?答:利用结构化程序设计语言采用自顶向下的方法进行程序设计的特点是:(1) 问题分解成子问题的结构必须与3种基本程序结构之一相对应。
(2) 问题的划分决定了程序的结构。
一方面,子问题的划分决定了这一层次的程序是3种基本结构中的哪一种结构;另一方面,一个问题该如何划分成子问题是灵活的,并不是只有一种分解方法。
分解的好坏就决定了设计的质量,也决定了程序的不同结构。
(3) 问题的边界应该清晰明确。
只有这样才能精确地解决这些子问题,否则就会模棱两可,无从下手。
4.简述面向对象和结构化程序设计的区别。
答:面向对象是从本质上区别于传统的结构化方法的一种新方法、新思路。
它吸收了结构化程序设计的全部优点,同时又考虑到现实世界与计算机之间的关系,认为现实世界是由一系列彼此相关并且能够相互通信的实体组成,这些实体就是面向对象方法中的对象,每个对象都有自己的自然属性和行为特征,而一类相似对象的共性的抽象描述,就是面向对象方法中的核心——类。
5. 从互联网上面搜索选择结构的使用方式。
答案略。
6.简述模块化方法的原理。
模块化方法是一种传统的软件开发方法,该方法通常是将待开发软件划分为一些功能相对独立的模块,模块与模块之间定义相应的接口,各个模块是可以分别单独开发、调试、运行和测试的,然后,再将多个模块组合起来,进行软件的整体测试,从而完成整个软件的开发。
计算机科学导论(第4版)习题答案-第5、6章

第5章算法与复杂性习题一、选择题1. B2. D3. C4. A5. B6. B7. D8.B9.C 10.A11.A 12.C 13.A 14.A二、简答题1.什么是算法,算法的特性有哪些?答:“算法(Algorithm)是一组明确的、可以执行的步骤的有序集合,它在有限的时间内终止并产生结果”。
算法的特性有:(1) 有穷性(可终止性):一个算法必须在有限个操作步骤内以及合理的有限时间内执行完成。
(2) 确定性:算法中的每一个操作步骤都必须有明确的含义,不允许存在二义性。
(3) 有效性(可执行性):算法中描述的操作步骤都是可执行的,并能最终得到确定的结果。
(4) 输入及输出:一个算法应该有零个或多个输入数据、有1个或多个输出数据。
2.什么是算法的时间复杂度和空间复杂度,如何表示?答:时间复杂度是与求解问题规模、算法输入相关的函数,该函数表示算法运行所花费的时间。
记为,T(n),其中,n代表求解问题的规模。
算法的空间复杂度(Space complexity)度量算法的空间复杂性、即执行算法的程序在计算机中运行所占用空间的大小。
简单讲,空间复杂度也是与求解问题规模、算法输入相关的函数。
记为,S(n),其中,n代表求解问题的规模。
时间复杂度和空间复杂度同样,引入符号“O”来表示T(n)、S(n)与求解问题规模n之间的数量级关系。
3.用图示法表示语言处理的过程。
答:语言处理的过程如图所示:4.简述算法设计的策略。
答:作为实现计算机程序实现时解决问题的方法,算法研究的内容是解决问题的方法,而不是计算机程序的本身。
一个优秀的算法可以运行在比较慢的计算机上,但一个劣质的算法在一台性能很强的计算机上也不一定能满足应用的需要,因此,在计算机程序设计中,算法设计往往处于核心地位。
要想充分理解算法并有效地应用于实际问题,关键是对算法的分析。
通常可以利用实验对比分析、数学方法来分析算法。
实验对比分析很简单,两个算法相互比较,它们都能解决同一问题,在相同环境下,一般就会认为哪个算法的速度快这个算法性能更好。
大学计算机基础课课本计算机科学导论课后答案

大学计算机根底课课本计算机科学导论课后答案以下答案多方资料做的,仅供参考。
第一章绪论1. 和计算机相关的问题.2. 冯.诺依曼模型.3. 第一点:尽管这个模型能够表达现代计算机的功能,但是它的定义太广泛. 第二点:而且,并没有清楚地说明基于这个模型的机器能够完成的操作类型和数量.4. 输入数据和程序.5. 存储器,算术逻辑单元,控制单元和输入/输出单元.6. 存储器是用来存储的区域,在计算机处理过程中用来存储数据和程序.7. 算术逻辑单元是进行计算和逻辑判断的地方.8. 控制单元是用来对存储器,算术逻辑单元,输入/输出单元等子系统的操作进行控制的单元.9. 输入子系统负责从计算机外部接受输入数据和程序;输出子系统负责将计算机的处理结果输出到计算机外部.10. 早期的计算机的存储器存储数据.而完成某一任务的程序是通过操作一系列的开关或改变配线系统来实现的.而基于冯.诺依曼模型的计算机的存储器主要用来存储程序及其相应的数据.11.编程在早期的计算机中表达为对系列开关的开闭和配线系统的改变.而冯.诺依曼模型通过详细的第一计算机可以使用的不同指令集,从而使编程变得相对简单.程序员通过组合这些不同的指令来创立任意数量的程序. 12. B 13. C 14. A 15. B 16. D从而改变了编程的概念.17. C 18. D 19. C 20. A 21. D 22. A 23. C 24. D 25. D 26. D第二章略第三章数的表示1. 将十进制转换成二进制,那么反复采用底数除法.将要转换的数反复除2,所得余数做为从右往左的数.直到除数为1,作为最左端的数.2. 将所给的二进制的数每个二进制数字分别乘以它的权值,最后将每个二进制位乘以权值后的结果相加即得到相应的十进制数. 3. 第N位是2的N-1次幂.4. 第N位是10的N-1次幂.5. 符号加绝对值格式,二进制反码格式和二进制补码格式.6. 计算机定义一个最大的无符号整数的常量,这样,计算机所能存储的无符号整数就介于0到该常量之间.也就定义了一个存值范围.7. 位数分配是指用以表示整数的二进制位数.8. 因为8位的存储单元中,范围最大的无符号整数类型的范围是0~255,256超出其存储范围,在计算机中不能存储. 9. 计数和寻址.10. 溢出. 11. 一样.12. 符号加绝对值:在N位的存储单元中,将该负数忽略其负号,然后转换成N-1位的二进制数,缺乏位数左边补0.最后在最左边加1.二进制反码:在N位的存储单元中,将该负数忽略其负号,然后转换成N位的二进制数,缺乏位数左边补0.最后,将其每一位换成它D 31. C 32. B 33. D 34. ~46* 47.例子: 23. 23/2=11…1, 11/2=5…1, 5/2=2…1, 2/2=1…0, 剩1. 即:10111,所以其八位无符号整数即为00010111.48.例子: 41. 41/2=20…1, 20/2=10…0, 10/2=5…0, 5/2=2…1, 2/2=1…0, 剩1. 即:101001,所以其16位无符号整数为0000000000101001.49. 例子:-101, 去其负号. 101/2=50…1, 50/2=25…0, 25/2=12…1,12/2=6…0, 6/2=3…0, 3/2=1…1, 剩1. 即:1100101. 其8位符号加绝对值即补足7位,再在最左边加1表负数. 即:11100101. 50. 同上.51. 例子:-110, 去其负号, 110/2=55…0, 55/2=27…1, 27/2=13…1,13/2=6…1, 6/2=3…0, 3/2=1…1, 剩1. 即:1101110. 其16位无符号整数位:0000000001101110,二进制反码整数即为:以下略.方法由上面依此类推.第四章位运算略第五章计算机组成39.A 40.B41.A 42.D 43.D 44.D 45.C 46.A 47.B 48.A 49.(2")50.D51.A 52.A 53.C 54.B 55.D 56.D 57.A 58.B 59.C 60.B61.B 62.A 63.C 64.B 65.D 66.C 67.D 68.D 69.C 70.C 71.A 72.C 73.B 74.C 75.B 76.A 77.C第六章计算机网络1.模型是标准化组织制定的用于网络设计的指南;协议是用于控制网络或交互式网络种不同设备间交互的一系列规那么。
计算机操作系统(第四版)1-8章-课后答案(全)

计算机操作系统(第四版)1-8章-课后答案(全)第四版计算机操作系统课后答案第一章1. 操作系统的定义操作系统是一种软件,它管理着计算机系统的硬件和软件资源,并为用户和应用程序提供接口,以方便他们的使用。
2. 操作系统的功能操作系统具有以下功能:- 进程管理:负责创建、执行和终止进程,并管理它们的资源分配。
- 存储管理:管理计算机系统的内存资源,包括内存分配、虚拟内存和页面置换等。
- 文件系统管理:管理计算机系统中的文件和文件夹,包括文件的存储、读写和保护等。
- 设备管理:负责管理计算机系统中的各种设备,如打印机、键盘和鼠标等。
- 用户接口:提供用户与计算机系统进行交互的接口,如命令行界面和图形用户界面。
3. 操作系统的类型操作系统可以分为以下类型:- 批处理操作系统:按照一系列预先定义的指令集来运行任务。
- 分时操作系统:多个用户可以同时使用计算机系统。
- 实时操作系统:对任务的响应时间要求非常高,用于控制系统和嵌入式系统。
- 网络操作系统:支持多台计算机之间的通信和资源共享。
- 分布式操作系统:在多台计算机上分布式地管理和调度任务。
第二章1. 进程与线程的区别进程是计算机系统中正在运行的程序实例,而线程是进程内的一个执行单元。
进程拥有独立的地址空间和资源,而线程共享进程的地址空间和资源。
多个线程可以在同一进程内并发执行,从而提高系统的效率和资源利用率。
2. 进程的状态转换进程可以处于以下状态:- 创建状态:进程正在被创建。
- 就绪状态:进程准备好执行,等待分配CPU资源。
- 运行状态:进程占用CPU资源执行。
- 阻塞状态:进程等待某种事件发生。
- 终止状态:进程完成执行或被终止。
3. 进程调度算法操作系统使用进程调度算法来决定哪个进程应该被执行。
常见的调度算法有:- 先来先服务(FCFS)调度算法:按照进程到达的顺序进行调度。
- 最短作业优先(SJF)调度算法:选择运行时间最短的进程进行调度。
计算机科学导论(第4版)习题答案-第3、4章

第3章程序设计语言习题一、选择题1. A2. A3. D4. A5. AB6. C7.D8.C9.D 10. D11.ABCD 12.B 13.A 14.A二、简答题1.简述程序的概念。
答:一个程序就是能够实现特定功能的一组指令序列的集合。
或者程序=算法+数据结构。
2. 简述程序设计语言的发展阶段。
经历了机器语言、汇编语言和高级语言三个发展阶段。
机器语言又称面向机器的语言,是特定的计算机硬件系统所固有的语言,是CPU唯一能够真正不经过翻译而直接识别和执行的语言。
相比而言,其他任何语言编写的程序都必须最终转换成机器语言以后才能在CPU上执行。
由于二进制编码形式的机器指令不便于记忆和使用,人们很快引入了便于记忆、易于阅读和理解、由英文单词或其缩写符号表示的指令,称为汇编指令,又称符号指令或助记符。
利用汇编指令编写得到的程序称为汇编语言程序。
通过引入汇编语言,在一定程度上解决了低级语言程序设计的问题,之后又出现了程序的“可移植性”问题,即程序员编写的源程序如何从一台计算机方便地转移到另一台计算机上执行。
为了解决这个问题,人们引入了高级语言。
高级语言是一种利用意义比较直观的各种“单词”和“公式”,按照一定的“语法规则”来编写程序的语言,又称为程序设计语言或算法语言。
高级语言之所以“高级”,是因为高级语言把很多硬件上复杂费解的概念抽象化了,从而使得程序员可以绕开复杂的计算机硬件的问题、无需了解计算机的指令系统,就能完成程序设计的工作。
3. 简述程序设计过程的一般步骤。
程序设计的过程一般有四个步骤。
(1)分析问题在着手解决问题之前,应该通过分析,充分理解问题,明确原始数据、解题要求、需要输出的数据及形式等。
(2)设计算法算法是解题的过程。
首先集中精力于算法的总体规划,然后逐层降低问题的抽象性,逐步充实细节,直到最终把抽象的问题具体化成可用程序语句表达的算法。
这是一个自上而下、逐步细化的过程。
(3)编码利用程序设计语言表示算法的过程称为编码。
计算机导论课后习题答案

计算机科学导论第七章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。
大学计算机(第4版) 课本习题答案

十二五规划教材《大学计算机(第4版)》第1章习题答案1.计算机的发展经历了机械式计算机、(B)式计算机和电子计算机三个阶段。
(A)电子管(B)机电(C)晶体管(D)集成电路2.英国数学家巴贝奇曾设计了一种程序控制的通用(D)。
(A)加法器(B)微机(C)大型计算机(D)分析机3. 1939年,美国爱荷华州立大学研制成功了一台大型通用数字电子计算机(D)。
(A)ENIAC (B)Z3 (C)IBM PC (D)ABC4.爱德华·罗伯茨1975年发明了第一台微机(C)。
(A)Apple II (B)IBM PC (C)牛郎星(D)织女星5.1981年IBM公司推出了第一台(B)位个人计算机IBM PC 5150。
(A)8 (B)16 (C)32 (D)646.我国大陆1985年自行研制成功了第一台PC兼容机(C)0520微机。
(A)联想(B)方正(C)长城(D)银河7.摩尔定律指出,微芯片上集成的晶体管数目每(C)个月翻一番。
(A)6 (B)12 (C)18 (D)248.第四代计算机采用大规模和超大规模(B)作为主要电子元件。
(A)微处理器(B)集成电路(C)存储器(D)晶体管9.计算机朝着大型化和(C)化两个方向发展。
(A)科学(B)商业(C)微机(D)实用10.计算机中最重要的核心部件是(A)。
(A)CPU (B)DRAM (C)CD-ROM (D)CRT11.计算机类型大致可以分为:大型计算机、(A)、嵌入式系统三类。
(A)微机(B)服务器(C)工业PC (D)笔记本微机12.大型集群计算机技术是利用许多台单独的(D)组成一个计算机群。
(A)CPU (B)DRAM (C)PC (D)计算机13.(C)系统是将微机或微机核心部件安装在某个专用设备之内。
(A)大型计算机(B)网络(C)嵌入式(D)服务器14.冯结构计算机包括:输入设备、输出设备、存储器、控制器、(B)五大组成部分。
(A)处理器(B)运算器(C)显示器(D)模拟器15.在冯·诺伊曼计算机模型中,存储器是指(A)单元。
计算机科学导论(第4版)习题答案-第2章计算机体系结构与组织(答案).doc

第2章计算机体系结构与组织习题(答案)一.选择题1. D2. D3. A4. D5. C6. C7. D8. B9. D10. c11. B12. A13. C14. A15. C16. A17. C18. C19. C20. A21. A22. B23. A二.简答题1.试简单叙述计算机采用二进制的原因。
答:计算机只认识二进制编码形式的指令和数据。
因此,包括数字、字符、声音、图形、图像等信息都必须经过某种方式转换成二进制的形式,才能提供给计算机进行识别和处理。
在计算机中采用二进制,是因为物理上实现容易。
rti于二进制只有两个状态o和1, 这正好与物理器件的两种状态相对应,例如电压信号的高与低,门电路的导通与截止等;而十进制电路则需要用十种状态来描述,这将使得电路十分复杂,处理也十分困难。
因此, 采用二进制将使得计算机在物理上实现简单,且具有可靠性高、处理简单、抗干扰能力强等优点。
2.什么是定点数,它分为哪些种类?答:所谓定点数,就是指计算机在运算过程中,数据中小数点的位置固定不变。
其中小数点的位置是由计算机设汁者在机器的结构中指定一个不变的位置,而不一定都必须具有小数点的指示装置。
定点数一般有小数和整数两种表示形式。
定点小数是把小数点固定在数据数值部分的左边,符号位的右边;定点整数则把小数点固定在数据数值部分的右边。
3・简要叙述声音的编码过程。
答:计算机获取声音信息的过程即是声音信号数字化的处理过程。
经过数字化处理后的数字声音信息才能被计算机所识别和处理。
声音被计算机处理的过程主要经过音频信号的采样、量化和编码几个过程。
4 •简述计算机有哪些特点?(1)运算速度快、精度高计算机的字长越长,其精度越高,目前世界上最快的计算机每秒可以运算千万亿次以上。
(2)具有逻辑判断和记忆能力计算机有准确的逻辑判断能力和超强的记忆能力,能够进行各种逻辑判断,并根据判断的结果自动决定下一步应该执行的指令。
(3)高度的自动化和灵活性计算机采取存储程序方式工作,即把编好的程序输入计算机,机器便可依次逐条执行,这就使计算机实现了高度的自动化和灵活性。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第5章算法与复杂性习题一、选择题1. B2. D3. C4. A5. B6. B7. D8.B9.C 10.A11.A 12.C 13.A 14.A二、简答题1.什么是算法,算法的特性有哪些?答:“算法(Algorithm)是一组明确的、可以执行的步骤的有序集合,它在有限的时间内终止并产生结果”。
算法的特性有:(1) 有穷性(可终止性):一个算法必须在有限个操作步骤内以及合理的有限时间内执行完成。
(2) 确定性:算法中的每一个操作步骤都必须有明确的含义,不允许存在二义性。
(3) 有效性(可执行性):算法中描述的操作步骤都是可执行的,并能最终得到确定的结果。
(4) 输入及输出:一个算法应该有零个或多个输入数据、有1个或多个输出数据。
2.什么是算法的时间复杂度和空间复杂度,如何表示?答:时间复杂度是与求解问题规模、算法输入相关的函数,该函数表示算法运行所花费的时间。
记为,T(n),其中,n代表求解问题的规模。
算法的空间复杂度(Space complexity)度量算法的空间复杂性、即执行算法的程序在计算机中运行所占用空间的大小。
简单讲,空间复杂度也是与求解问题规模、算法输入相关的函数。
记为,S(n),其中,n代表求解问题的规模。
时间复杂度和空间复杂度同样,引入符号“O”来表示T(n)、S(n)与求解问题规模n之间的数量级关系。
3.用图示法表示语言处理的过程。
答:语言处理的过程如图所示:4.简述算法设计的策略。
答:作为实现计算机程序实现时解决问题的方法,算法研究的内容是解决问题的方法,而不是计算机程序的本身。
一个优秀的算法可以运行在比较慢的计算机上,但一个劣质的算法在一台性能很强的计算机上也不一定能满足应用的需要,因此,在计算机程序设计中,算法设计往往处于核心地位。
要想充分理解算法并有效地应用于实际问题,关键是对算法的分析。
通常可以利用实验对比分析、数学方法来分析算法。
实验对比分析很简单,两个算法相互比较,它们都能解决同一问题,在相同环境下,一般就会认为哪个算法的速度快这个算法性能更好。
在算法设计中,通常采用能近似表达性能的方法来展示某个算法的性能指标。
例如,计算机对2n和22n n 的响应速度,当n 比较大的时,没什么区别,便可直接认为后者算法的复杂度为2n 。
基于算法复杂度简化表达的思想基础上,通常会对算法进行最坏情况分析和平均情况分析。
对于一个给定的算法,如果能保证它的最坏情况下的性能依然很好,但是在某些情况下,程序的最坏情况算法的运行时间和实际情况的运行时间相差很大,在实际应用中几乎不会碰到最坏情况下的输入,那么此时进行最坏情况分析显得有些画蛇添足,特别是分析最坏情况算法会花费大量精力的时候。
算法的平均情况分析可以帮助估计程序的性能,作为算法分析的基本指标之一,但是平均情况和实际情况仍然会有相差很大的时候,这时便可以使用随机法来尽量模拟现实中的情况,这样可以得到在严格的概率意义上的预测运行时间。
另外,对于一个经典算法,没有必要再去对该算法进行改进,研究它的上界和下界,只需要了解该算法的特性,然后在合适的时候使用它。
5.简述并行算法研究的内容。
答:(1) 并行计算模型并行算法作为一门学科,首先研究的是并行计算模型。
并行计算模型是算法设计者与体系结构研究者之间的一个桥梁,是并行算法设计和分析的基础。
它屏蔽了并行机之间的差异,从并行机中抽取若干个能反映计算特性的可计算或可测量的参数,并按照模型所定义的计算行为构造成本函数,以此进行算法的复杂度分析。
并行计算模型的第一代是共享存储模型,如SIMD-SM和MIMD-SM的一些计算模型,模型参数主要是CPU的单位计算时间,这样科学家可以忽略一些细节,集中精力设计算法。
第二代是分布存储模型。
在这个阶段,人们逐渐意识到对并行计算机性能带来影响的不仅仅是CPU,还有通信。
因此如何把不同的通信性能抽象成模型参数,是这个阶段的研究重点。
第三代是分布共享存储模型,也是我们目前研究所处的阶段。
随着网络技术的发展,通信延迟固然还有影响,但对并行带来的影响不再像当年那样重要,注重计算系统的多层次存储特性的影响。
(2) 设计技术并行算法研究的第二部分是并行算法的设计技术。
虽然并行算法研究还不是太成熟,但并行算法的设计依然是有章可循的,例如划分法、分治法、平衡树法、倍增法/指针跳跃法、流水线法破对称法等都是常用的设计并行算法的方法。
另外人们还可以根据问题的特性来选择适合的设计方法。
以上是并行算法的常规研究内容。
随着时代的进步,我们需要不断调整研究方向。
目前并行算法研究的新走向是并行算法研究内容不断拓宽,并行计算被纳入研究范畴;与广大用户领域结合,注重应用,强调走到用户中去,为用户解决问题;重视新的、非常规计算模式,如神经计算、量子计算等,这些模式能够解决某类特定问题,有其自身的优越性。
三、讨论题1.算法是程序设计的基础,没有好的算法,就不可能写出好的程序,但是,学习算法涉及到很多交叉学科的知识,怎样才能把这些知识融会贯通,写出优秀的程序?答案略。
2.算法设计非常复杂,如何才能设计优秀的算法?答案略。
第6章信息管理习题(答案)一.单项选择题1.C 2.A 3.D 4.C 5.B6.B 7.D 8.B 9.C 10.B11.D12.A 13.C 14.A 15.C16.A 17.A 18.C二.简答题1.简要说明一个DBMS的组成部分。
答:DBMS通常由四部分组成,也是DBMS要完成的功能:(1)数据定义语言DDL及其翻译处理程序:定义数据库中的数据对象。
(2)数据操纵语言DML及其编译(或解释)程序:实现对数据库的查询、插入、删除、修改等操作。
(3)数据库运行控制程序:实现对数据库的统一管理和控制,从而保证数据的安全性、完整性,并对数据并发访问进行控制,完成数据库的故障恢复等功能。
(4)实用程序:完成数据库的建立与维护、数据格式的转换与通信、数据库的转储等功能。
2.解释数据库的三级模式结构。
答:数据库系统通常采用三级模式结构,它也是数据库管理系统内部的系统结构。
(1) 模式也称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。
模式层中定义了数据模型和模式图表,DBMS的主要功能都在这层。
一个数据库系统中只有一个模式。
(2) 外模式也称子模式或用户模式,是数据库用户可见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,通常与某一应用需求相对应。
这层将来自模式层的数据转化为用户所熟悉的格式和视图。
外模式通常可以有任意多个。
(3) 内模式是数据物理结构和存储结构的描述,是数据在数据库内部的表示方法。
内模式层决定数据存储在存储设备中的实际位置,并处理数据的存取方法及数据在设备间的数据传输。
数据库系统的内模式也只有一个。
3.简述数据管理技术发展的三个阶段。
(1)人工管理阶段20世纪50年代中期以前,计算机主要用于科学计算。
当时的硬件状况是只有纸带、卡片和磁带,没有磁盘等直接存取的存储设备;软件状况是没有操作系统、没有管理数据的软件,数据处理方式是批处理。
(2)文件系统阶段20世纪50年代后期到60年代中期,随着硬、软件技术的发展,硬件方面已有了磁盘、磁鼓等直接存取存储设备;软件方面已经有了专门的数据管理软件——文件系统;处理方式上不仅有了批处理,而且能够联机实时处理。
(3)数据库系统阶段20世纪60年代后期以来,硬件方面已有了大容量磁盘。
软件方面,为编制和维护系统软件,应用程序所需成本相对增加,有了联机实时处理、分布式处理的应用需求。
如果仍然用文件系统来管理数据,已经不能适应应用的发展需求。
于是为解决多用户、多任务共享数据的要求,实现大量的联机实时数据处理,数据库技术便应运而生,出现了统一管理数据的专门的软件系统——DBMS。
4.简述常用的三种数据模型及其特点。
(1)网状模型网状模型在层次模型的基础上,允许结点无父结点,或者有多个父结点,数据之间的联系通过地址指针实现。
网状模型与层次模型比较,具有更好的存取方式和灵活性,更利于实现实体间多对多的联系,但是,网状模型比层次模型要复杂得多,不易掌握,而且不易实现数据库结构的独立性。
(2)层次模型层次模型的基本思想就是用树型结构来表示各类实体及实体之间的联系,非常适合表达一对一、一对多的联系,但多对多的联系不能用层次模型表示。
层次模型中,数据之间的联系通过地址指针实现。
(3)关系模型与层次模型和网状模型用地址指针实现数据之间的联系不同,关系模型以关系代数为基础,实体间通过公共属性实现联系,与数据的物理结构无关。
目前,关系模型已经成为最重要的一种数据模型。
5.简述关系数据库的完整性。
答:关系模型中,定义了三种完整性约束条件:实体完整性、参照完整性、用户自定义的完整性。
实体完整性规定一个关系的主码(包括所有的主属性)不能为空;参照完整性规定外码必须是另一个关系的主码的有效取值,或为空;用户定义的完整性是根据应用需求而要求数据必须满足的语义的要求,如某一属性的取值范围。
6.简述SQL的特点。
(1) 功能统一。
SQL是一个集数据查询、数据操纵、数据定义、数据控制于一体的关系数据库语言。
SQL不仅功能统一,语言风格也统一,便于学习使用。
(2) 非过程性语言。
用户只需说明做什么,而不需要说明怎么做,不必关心SQL命令的内部执行过程,也不必知道数据如何存储。
(3) 面向集合的操作方式。
SQL是关系数据库的结构化查询语言,SQL语言中的操作对象与执行结果仍然是集合或关系。
(4) SQL提供了两种灵活的使用方式。
SQL既可以直接在联机终端或客户端使用SQL 命令实施对数据库的操作,还可以按照同样的格式,嵌入到其他语言中使用,弥补了SQL 不能生成菜单、报表、格式化输出的缺陷,开发人员可以利用其他的开发语言来生成界面,从而开发出界面友好、功能强大、实用性强的数据库应用系统。
(5) SQL简单、易学。
SQL语言的语法简单、语句少,非常容易掌握。
7.什么是事务,事务的特征有哪些?答:事务是用户定义的一个数据库操作序列,这些操作要么全做,要么全都不做,是一个不可分割的工作单位。
所有的事务都具有原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持续性(Durability),或简称ACID特性。
原子性:事务的所有操作必须作为一个整体的处理单位,要么全做,要么全都不做,不可以分割。
一致性:数据必须保持一致性状态。
即事务的执行只能从一个一致性状态转变到另一个一致性状态。
隔离性:系统内多个事务的执行是相互独立的,互不相扰。
持续性:一个事务一旦执行成功,对于数据库中数据的改变是永久的。
8.什么是数据库完整性控制,其含义是什么?答:数据库完整性控制是指保证数据库中数据的正确性、有效性、相容性,防止错误的数据进入数据库。