计算机科学导论课本答案(完整版)
- 格式:doc
- 大小:527.00 KB
- 文档页数:29
第2章计算机体系结构与组织习题(答案)一.选择题1.D 2.D 3.D 4.D5.C6.B 7.A 8. C 9.A10.C11.A 12.C 13.C 14.C 15.A16.A 17.B 18.A二.简答题1.试简单叙述计算机采用二进制的原因。
答:计算机只认识二进制编码形式的指令和数据。
因此,包括数字、字符、声音、图形、图像等信息都必须经过某种方式转换成二进制的形式,才能提供给计算机进行识别和处理。
在计算机中采用二进制,是因为物理上实现容易。
由于二进制只有两个状态0和1,这正好与物理器件的两种状态相对应,例如电压信号的高与低,门电路的导通与截止等;而十进制电路则需要用十种状态来描述,这将使得电路十分复杂,处理也十分困难。
因此,采用二进制将使得计算机在物理上实现简单,且具有可靠性高、处理简单、抗干扰能力强等优点。
2.什么是定点数,它分为哪些种类?答:所谓定点数,就是指计算机在运算过程中,数据中小数点的位置固定不变。
其中小数点的位置是由计算机设计者在机器的结构中指定一个不变的位置,而不一定都必须具有小数点的指示装置。
定点数一般有小数和整数两种表示形式。
定点小数是把小数点固定在数据数值部分的左边,符号位的右边;定点整数则把小数点固定在数据数值部分的右边。
3.简要叙述声音的编码过程。
答:计算机获取声音信息的过程即是声音信号数字化的处理过程。
经过数字化处理后的数字声音信息才能被计算机所识别和处理。
声音被计算机处理的过程主要经过音频信号的采样、量化和编码几个过程。
4.简述计算机软件系统的分类。
(系统软件和应用软件两方面)软件是指能在计算机上运行的各种程序,包括各种有关的文档。
通常将软件分为系统软件和应用软件两大类。
1.系统软件可以把软件分成若干层,最内层是对硬件的扩充与完善,而外层则是对内层的再次扩充与完善。
一般把靠近内层、为方便使用和管理计算机资源的软件,称为系统软件。
系统软件通常是负责管理、控制和维护计算机的各种软硬件资源,并为用户提供一个友好的操作界面,以及服务于一般目的的上机环境。
第1章概述习题(答案)一.选择题1. D2. B3. CD4. C5.A6. ABC7. A8. C9.B 10. B11. C 12. A 13. ABC 14.B 15. ABCD16.C 17.ABCDE二.简答题1.简述计算机的发展阶段计算机的出现是20世纪最辉煌的成就之一,按照采用的电子器件划分,计算机大致经历了四个阶段。
1. 第一代计算机(1946—1957)其主要特征是逻辑器件使用了电子管,用穿孔卡片机作为数据和指令的输入设备,用磁鼓或磁带作为外存储器,使用机器语言编程。
第一台计算机需要工作在有空调的房间里,如果希望它处理什么事情,需要把线路重新连接接,把成千上万的线重新焊接。
1949年发明了可以存储程序的计算机,这些计算机使用机器语言编程,可存储信息和自动处理信息,存储和处理信息的方法开始发生革命性的变化。
第一代计算机体积大、运算速度低、存储容量小、可靠性低。
几乎没有什么软件配置,主要用于科学计算。
尽管如此,第一代计算机却奠定了计算机的技术基础,如二进制、自动计算及程序设计等,对以后计算机的发展产生了深远的影响。
其代表机型有:ENIAC、IBM650(小型机)、IBM709(大型机)等。
2. 第二代计算机(1958—1964)其主要特征是使用晶体管代替了电子管,内存储器采用了磁芯体,引入了变址寄存器和浮点运算部件,利用I/O处理机提高了输入输出能力。
这不仅使得计算机的体积缩小了很多,同时增加了机器的稳定性并提高了运算速度,而且计算机的功耗减小,价格降低。
在软件方面配置了子程序库和批处理管理程序,并且推出了Fortran、COBOL、ALGOL等高级程序设计语言及相应的编译程序,降低了程序设计的复杂性。
除应用于科学计算外,它还开始应用在数据处理和工业控制等方面。
其代表机型有IBM7090、IBM7094、CDC7600等。
3. 第三代计算机(1965—1972)其主要特征是用半导体中、小规模集成电路(Integrated Circuit,IC)作为元器件代替晶体管等分立元件,用半导体存储器代替磁芯存储器,使用微程序设计技术简化处理机的结构,这使得计算机的体积和耗电量显着减小,而计算速度和存储容量却有较大提高,可靠性也大大加强。
第1章概述习题(答案)一.选择题1. D2. B3. CD4. C5.A6. ABC7. A8. C9.B 10. B11. C 12. A 13. ABC 14.B 15. ABCD16.C 17.ABCDE二.简答题1.简述计算机的发展阶段计算机的出现是20世纪最辉煌的成就之一,按照采用的电子器件划分,计算机大致经历了四个阶段。
1. 第一代计算机(1946—1957)其主要特征是逻辑器件使用了电子管,用穿孔卡片机作为数据和指令的输入设备,用磁鼓或磁带作为外存储器,使用机器语言编程。
第一台计算机需要工作在有空调的房间里,如果希望它处理什么事情,需要把线路重新连接接,把成千上万的线重新焊接。
1949年发明了可以存储程序的计算机,这些计算机使用机器语言编程,可存储信息和自动处理信息,存储和处理信息的方法开始发生革命性的变化。
第一代计算机体积大、运算速度低、存储容量小、可靠性低。
几乎没有什么软件配置,主要用于科学计算。
尽管如此,第一代计算机却奠定了计算机的技术基础,如二进制、自动计算及程序设计等,对以后计算机的发展产生了深远的影响。
其代表机型有:ENIAC、IBM650(小型机)、IBM709(大型机)等。
2. 第二代计算机(1958—1964)其主要特征是使用晶体管代替了电子管,内存储器采用了磁芯体,引入了变址寄存器和浮点运算部件,利用I/O处理机提高了输入输出能力。
这不仅使得计算机的体积缩小了很多,同时增加了机器的稳定性并提高了运算速度,而且计算机的功耗减小,价格降低。
在软件方面配置了子程序库和批处理管理程序,并且推出了Fortran、COBOL、ALGOL等高级程序设计语言及相应的编译程序,降低了程序设计的复杂性。
除应用于科学计算外,它还开始应用在数据处理和工业控制等方面。
其代表机型有IBM7090、IBM7094、CDC7600等。
3. 第三代计算机(1965—1972)其主要特征是用半导体中、小规模集成电路(Integrated Circuit,IC)作为元器件代替晶体管等分立元件,用半导体存储器代替磁芯存储器,使用微程序设计技术简化处理机的结构,这使得计算机的体积和耗电量显着减小,而计算速度和存储容量却有较大提高,可靠性也大大加强。
第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章概述习题(答案)一.选择题1. D2. B3. CD4. C5.A6. ABC7. A8. C9.B 10. B11. C 12. A 13. ABC 14.B 15. ABCD16.C 17.ABCDE二.简答题1.简述计算机的发展阶段计算机的出现是20世纪最辉煌的成就之一,按照采用的电子器件划分,计算机大致经历了四个阶段。
1. 第一代计算机(1946—1957)其主要特征是逻辑器件使用了电子管,用穿孔卡片机作为数据和指令的输入设备,用磁鼓或磁带作为外存储器,使用机器语言编程。
第一台计算机需要工作在有空调的房间里,如果希望它处理什么事情,需要把线路重新连接接,把成千上万的线重新焊接。
1949年发明了可以存储程序的计算机,这些计算机使用机器语言编程,可存储信息和自动处理信息,存储和处理信息的方法开始发生革命性的变化。
第一代计算机体积大、运算速度低、存储容量小、可靠性低。
几乎没有什么软件配置,主要用于科学计算。
尽管如此,第一代计算机却奠定了计算机的技术基础,如二进制、自动计算及程序设计等,对以后计算机的发展产生了深远的影响。
其代表机型有:ENIAC、IBM650(小型机)、IBM709(大型机)等。
2. 第二代计算机(1958—1964)其主要特征是使用晶体管代替了电子管,内存储器采用了磁芯体,引入了变址寄存器和浮点运算部件,利用I/O处理机提高了输入输出能力。
这不仅使得计算机的体积缩小了很多,同时增加了机器的稳定性并提高了运算速度,而且计算机的功耗减小,价格降低。
在软件方面配置了子程序库和批处理管理程序,并且推出了Fortran、COBOL、ALGOL等高级程序设计语言及相应的编译程序,降低了程序设计的复杂性。
除应用于科学计算外,它还开始应用在数据处理和工业控制等方面。
其代表机型有IBM7090、IBM7094、CDC7600等。
3. 第三代计算机(1965—1972)其主要特征是用半导体中、小规模集成电路(Integrated Circuit,IC)作为元器件代替晶体管等分立元件,用半导体存储器代替磁芯存储器,使用微程序设计技术简化处理机的结构,这使得计算机的体积和耗电量显著减小,而计算速度和存储容量却有较大提高,可靠性也大大加强。
第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章概述习题(答案)一.选择题1. D2. B3. CD4. C5. ABC6. A7. B8. B9. ABCD 10. ABCDE二.简答题1.什么是计算机系统?计算机系统是一种能够按照事先存储的程序,自动、高速地对数据进行输入、处理、输出和存储的系统,由计算机硬件系统和计算机软件系统两大部分组成。
2.请解释冯•诺依曼所提出的“存储程序”概念。
把程序和数据都以二进制的形式统一存放在存储器中,由机器自动执行。
不同的程序解决不同的问题,实现了计算机通用计算的功能。
3.控制器的主要功能是什么?控制器基本功能就是从内存中取出指令和执行指令,即控制器按程序计数器指出的指令地址从内存中取出该指令进行译码,然后根据该指令功能向有关部件发出控制命令,执行该指令。
另外,控制器在工作过程中,还要接受各部件反馈回来的信息。
4.简述CPU和主机的概念。
通常把运算器、控制器做在一个大规模集成电路块上称为中央处理器,又称CPU(Central Processing Unit)。
通常把内存储器、运算器和控制器合称为计算机主机,也可以说主机是由CPU与内存储器组成的,而主机以外的装置称为外部设备,外部设备包括输入/输出设备,外存储器等。
5.什么是计算机软件?计算机软件的分类有哪些?软件是指用来指挥计算机运行的各种程序的总和以及开发、使用和维护这些程序所需的技术文档。
计算机软件系统分为系统软件和应用软件。
计算机系统软件由操作系统、语言处理系统、以及各种软件工具等组成,指挥、控制计算机硬件系统按照预定的程序运行、工作,从而达到预定的目标。
应用软件是用户利用计算机软、硬件资源为解决各类应用问题而编写的软件,包括用户程序及其说明性文件资料。
6.计算机有哪些主要的特点?(1)运算速度快、精度高计算机的字长越长,其精度越高,现在世界上最快的计算机每秒可以运算几十万亿次以上。
一般计算机可以有十几位甚至几十位(二进制)有效数字,计算精度可由千分之几到百万分之几,是任何计算工具所望尘莫及的。
第11章人机交互习题(答案)一.选择题1. ABC2.D3. C4. ABCD5. A6.ABCD7. C二.简答题1.什么是人机交互技术?它的发展阶段有哪些?答:人机交互技术是指通过计算机输入、输出设备,以有效的方式实现人与计算机对话的技术。
它的发展阶段由指示灯和机械开关组成的操纵界面到由终端和键盘组成的字符界面(80年代),再到由多种输入设备和光栅图形显示设备构成的图形用户界面(GUI),(90年代)PC,工作站,WIMP(W-windows、I-icons、M-menu、P-pointing devices)界面到VR技术(发展方向)。
2. 人机界面交互有哪几种方式?答:数据交互、图像交互、语音交互、行为交互。
3.简述人机界面的设计原则?答:设计一个友好的用户界面应遵循以下原则:(1) 用户针对性原则;(2) 尽量减少用户的工作;(3) 应用程序与人机界面相分离;(4) 人机界面一致性;(5) 系统反馈及时性;(6) 尽量减少用户记忆;(7) 及时的出错处理及帮助功能;(8) 使用图形。
4.数据交互主要的交互形式有哪些?答:(1) 问答式对话数据输入交互;(2) 菜单选择数据输入交互;(3) 填表数据输入交互特点;(4) 直接操纵数据输入交互;(5) 关键词数据输入交互;(6) 条形码数据输入;(7) 光学字符识别;(8) 声音数据输入交互;(9) 图像数据输入。
三.讨论题1.多媒体计算机技术逐渐进入人们的生活,多媒体在娱乐方面的应用必将在很大程度上改变人们的生活方式,谈谈多媒体技术对人们的生活会带来哪些变化?答案略。
2.多媒体计算机技术逐渐进入人们的生活,多媒体在娱乐方面的应用必将在很大程度上改变人们的生活方式,谈谈多媒体技术对人们的生活会带来哪些变化?答案略。
第12章 离 散 结 构习题(答案)一.单项选择题 1.D 2.C3.B 4.C 5.D 6.B 7.A8.B9.D10.C二.解答题1. 令x 和y 是正整数,P (x ):x 是奇数,Q (x ):x 是素数,R (x,y ):x+y 是偶数。
计算机科学导论第2版答案第1章概述习题(答案)一.选择题1. D2.B 3.CD 4.C 5. ABC6. A7.B 8.B 9.ABCD 10. ABCDE二.简答题1.什么是计算机系统?计算机系统是一种能够按照事先存储的程序,自动、高速地对数据进行输入、处理、输出和存储的系统,由计算机硬件系统和计算机软件系统两大部分组成。
2.请解释冯•诺依曼所提出的“存储程序”概念。
把程序和数据都以二进制的形式统一存放在存储器中,由机器自动执行。
不同的程序解决不同的问题,实现了计算机通用计算的功能。
3.控制器的主要功能是什么?控制器基本功能就是从内存中取出指令和执行指令,即控制器按程序计数器指出的指令地址从内存中取出该指令进行译码,然后根据该指令功能向有关部件发出控制命令,执行该指令。
另外,控制器在工作过程中,还要接受各部件反馈回来的信息。
4.简述CPU和主机的概念。
通常把运算器、控制器做在一个大规模集成电路块上称为中央处理器,又称CPU(Central Processing Unit)。
通常把内存储器、运算器和控制器合称为计算机主机,也可以说主机是由CPU与内存储器组成的,而主机以外的装置称为外部设备,外部设备包括输入/输出设备,外存储器等。
5.什么是计算机软件?计算机软件的分类有哪些?软件是指用来指挥计算机运行的各种程序的总和以及开发、使用和维护这些程序所需的技术文档。
计算机软件系统分为系统软件和应用软件。
计算机系统软件由操作系统、语言处理系统、以及各种软件工具等组成,指挥、控制计算机硬件系统按照预定的程序运行、工作,从而达到预定的目标。
应用软件是用户利用计算机软、硬件资源为解决各类应用问题而编写的软件,包括用户程序及其说明性文件资料。
6.计算机有哪些主要的特点?(1)运算速度快、精度高计算机的字长越长,其精度越高,现在世界上最快的计算机每秒可以运算几十万亿次以上。
一般计算机可以有十几位甚至几十位(二进制)有效数字,计算精度可由千分之几到百万分之几,是任何计算工具所望尘莫及的。
第7章软件工程习题(答案)一、选择题1. D2. B3. C4. B5. A6. C7. A8. D9.C 10. B11. C 12.C 13.D二、简答题1.什么叫软件危机?答:随着计算机应用的普及和深化,计算机软件的数量、规模、复杂程度和开发所需的人力、物力等都在急剧增加,计算机发展初期个人编写小程序的传统方法,已不再适合现代大型软件的开发,用传统方法开发出来的许多大型软件甚至无法投入运行。
同时,由于计算机应用领域和硬件技术得到丁飞速发展,软件的生产速度、质量和规模远远适应不了对软件的需求,造成大量人力、物力、财力的浪费,在软件开发和维护过程中出现了巨大的困难。
计算机领域把大型软件开发和维护过程中遇到的一系列严重问题称为“软件危机”(Software Crisis)。
2.软件危机的表现形式是什么?答:软件危机的表现形式:(1) 软件的质量难以保证开发的软件可靠性差。
由于在开发过程中,没有确保软件质量的体系和措施,在软件测试时,又没有严格的、充分的、完全的测试,提交给用户的软件质量差,在运行中暴露出大量的问题。
这种不可靠的软件,轻者会影响系统正常工作,重者会发生事故,造成生命财产的重大损失。
(2) 软件开发成本和开发进度难以控制经费预算经常突破,完成时间一再拖延。
由于缺乏软件开发的经验和软件开发数据的积累,使得开发工作的计算很难制定。
主观盲目制定的计算,执行起来和实际情况有很大差距,使得开发经费一再突破。
由于对工作量和开发难度估计不足,进度计划无法按时完成,开发时间一再拖延。
(3) 软件的维护非常困难开发的软件可维护性差。
开发过程没有统一的、公认的规范,软件开发人员按各自的风格工作,各行其事。
开发过程无完整、规范的文档,发现问题后进行杂乱无章的修改。
程序结构不好,运行进发现错误也很难修改,导致维护性差。
(4) 用户对“已完成”的软件系统不满意开发的软件不能满足用户要求。
开发初期对用户的要求了解不够明确,未能得到明确表达。
第1章概述习题(答案)一.选择题1. D2. B3. CD4. C5.A6. ABC7. A8. C9.B 10. B11. C 12. A 13. ABC 14.B 15. ABCD16.C 17.ABCDE二.简答题1.简述计算机的发展阶段计算机的出现是20世纪最辉煌的成就之一,按照采用的电子器件划分,计算机大致经历了四个阶段。
1. 第一代计算机(1946—1957)其主要特征是逻辑器件使用了电子管,用穿孔卡片机作为数据和指令的输入设备,用磁鼓或磁带作为外存储器,使用机器语言编程。
第一台计算机需要工作在有空调的房间里,如果希望它处理什么事情,需要把线路重新连接接,把成千上万的线重新焊接。
1949年发明了可以存储程序的计算机,这些计算机使用机器语言编程,可存储信息和自动处理信息,存储和处理信息的方法开始发生革命性的变化。
第一代计算机体积大、运算速度低、存储容量小、可靠性低。
几乎没有什么软件配置,主要用于科学计算。
尽管如此,第一代计算机却奠定了计算机的技术基础,如二进制、自动计算及程序设计等,对以后计算机的发展产生了深远的影响。
其代表机型有:ENIAC、IBM650(小型机)、IBM709(大型机)等。
2. 第二代计算机(1958—1964)其主要特征是使用晶体管代替了电子管,内存储器采用了磁芯体,引入了变址寄存器和浮点运算部件,利用I/O处理机提高了输入输出能力。
这不仅使得计算机的体积缩小了很多,同时增加了机器的稳定性并提高了运算速度,而且计算机的功耗减小,价格降低。
在软件方面配置了子程序库和批处理管理程序,并且推出了Fortran、COBOL、ALGOL等高级程序设计语言及相应的编译程序,降低了程序设计的复杂性。
除应用于科学计算外,它还开始应用在数据处理和工业控制等方面。
其代表机型有IBM7090、IBM7094、CDC7600等。
3. 第三代计算机(1965—1972)其主要特征是用半导体中、小规模集成电路(Integrated Circuit,IC)作为元器件代替晶体管等分立元件,用半导体存储器代替磁芯存储器,使用微程序设计技术简化处理机的结构,这使得计算机的体积和耗电量显著减小,而计算速度和存储容量却有较大提高,可靠性也大大加强。
计算机科学导论(本)第一章习题答案1. 什么是计算机科学?计算机科学是研究计算机原理、功能、性能和实现,并解决与计算机相关的问题的学科。
2. 计算机科学的发展历史有哪些重要阶段?计算机科学的发展历史可以分为以下几个重要阶段:- 1940年代至1950年代:电子管计算机时代。
研制了世界上第一台通用电子计算机ENIAC。
- 1950年代至1960年代:晶体管计算机时代。
发明了晶体管,使得计算机更加小型化和可靠。
- 1960年代至1970年代:集成电路计算机时代。
发明了集成电路,提高了计算机的性能和可靠性。
- 1970年代至1980年代:微处理器计算机时代。
发明了微处理器,使得个人计算机普及起来。
- 1990年代至今:互联网和移动计算时代。
互联网的兴起和移动计算设备的发展改变了人们的生活方式。
3. 计算机科学包括哪些主要研究领域?计算机科学包括以下主要研究领域:- 算法与数据结构:研究解决问题的方法和数据的组织方式。
- 编程语言与编译技术:研究编程语言的设计和实现方法。
- 操作系统:研究管理计算机硬件和软件资源的系统。
- 数据库与信息管理:研究数据的存储、检索和管理方法。
- 人工智能与机器研究:研究使计算机具备智能的方法和算法。
- 计算机网络与通信:研究计算机之间的通信和网络技术。
- 图形与图像处理:研究图形和图像的生成、处理和分析方法。
4. 什么是编程语言?编程语言是一种用于编写计算机程序的形式语言。
它定义了程序的结构、语法和语义,用于指导计算机执行特定的操作。
5. 编程语言的分类有哪些?编程语言可以根据不同的特性进行分类,主要有以下几种分类方法:- 低级语言和高级语言:低级语言直接操作计算机硬件,高级语言更加抽象。
- 编译型语言和解释型语言:编译型语言在程序执行之前将代码转换为机器语言,解释型语言逐行解释执行。
- 过程式语言和面向对象语言:过程式语言以过程为基本单位,面向对象语言以对象为基本单位。
第1章概述习题(答案)一.选择题1. D2.C3.D4.B5.A6. B7. CD8.C9.A 10. ABC11.A 12.C 13.B 14.B 15. A16.A 17.C 18.A 19. ABC 20.B21.ABCD 22.C 23. ABCDE二.简答题1.举例说明石子计数的过程早上放10头牛出去,就拿10颗小石子表示,晚上牛回来清数时,就以小石子的数量来逐个进行清点,看看是否一致。
2.简述计算机的发展阶段计算机的出现是20世纪最辉煌的成就之一,按照采用的电子器件划分,计算机大致经历了四个阶段。
1. 第一代计算机(1946—1957)其主要特征是逻辑器件使用了电子管,用穿孔卡片机作为数据和指令的输入设备,用磁鼓或磁带作为外存储器,使用机器语言编程。
第一台计算机需要工作在有空调的房间里,如果希望它处理什么事情,需要把线路重新连接接,把成千上万的线重新焊接。
1949年发明了可以存储程序的计算机,这些计算机使用机器语言编程,可存储信息和自动处理信息,存储和处理信息的方法开始发生革命性的变化。
第一代计算机体积大、运算速度低、存储容量小、可靠性低。
几乎没有什么软件配置,主要用于科学计算。
尽管如此,第一代计算机却奠定了计算机的技术基础,如二进制、自动计算及程序设计等,对以后计算机的发展产生了深远的影响。
其代表机型有:ENIAC、IBM650(小型机)、IBM709(大型机)等。
2. 第二代计算机(1958—1964)其主要特征是使用晶体管代替了电子管,内存储器采用了磁芯体,引入了变址寄存器和浮点运算部件,利用I/O处理机提高了输入输出能力。
这不仅使得计算机的体积缩小了很多,同时增加了机器的稳定性并提高了运算速度,而且计算机的功耗减小,价格降低。
在软件方面配置了子程序库和批处理管理程序,并且推出了Fortran、COBOL、ALGOL等高级程序设计语言及相应的编译程序,降低了程序设计的复杂性。
除应用于科学计算外,它还开始应用在数据处理和工业控制等方面。
数字系统2.1DATA TYPES不同类型的数据数据在计算机中,数据是使用二进制系统来表示的。
在这种系统中,位模式(一系列的0和1)被用来表示数。
代码不同的位模式集合被设计用于表示文本符号,每一个集合被称为代码。
表示符号的过程----编码。
编码与解码的例子2.2DATA INSIDETHE COMPUTER位(bit)----是存储在计算机中的最小数据单位;它是0或1。
字节Byte----通常长度为8的位模式被称为一个字节。
预备知识22=4 24=16 28=256 210=10241K= 210=1024 (Kilo)1M=1024K= 220(Mega)1G=1024M= 230 (Giga)1个二进制位:bit(比特)8个二进制位:Byte(字节)1Byte=8bit2个字节:Word(字)1Word=2Byte=16bit数制▪十进制:基数为10,逢十进一12.34 = 1×101 + 2 ×100 + 3 ×10-1 + 4 ×10-2▪二进制:基数为2,逢二进一11012 = 1 ×23 + 1 ×22 + 1 ×20 = 1310▪十六进制:基数为16,逢十六进一1001, 0001, 1000, 01115 1 8 7= 5 ×163+ 1 ×162+ 8 ×161+ 7 ×160▪八进制:基数为8,逢八进一数制之间的转换▪二进制↔十进制→1011B=11D←降幂法除法例:27D= ? B27 11 3 3 1-↓-↓-↓-↓-↓16 8 4 2 11 1 0 1 1∴27D=11011B▪二进制↔十六进制→0011 0101 1011 1111↓↓↓↓3 5 B F∴0011010110111111B=35BFH← A 1 9 C↓↓↓↓1010 0001 1001 1100∴A19CH=1010000110011100B▪十六进制↔十进制→BF3CH=11⨯163 + 15⨯162 + 3⨯161 + 12⨯160←降幂法除法例:399D= ? H399 143 15-↓-↓-↓256 16 1⨯⨯⨯1 8 F∴399D=18FH2.3REPRESENTINGDATA黑-白图像的位图图形表示方法彩色像素的表示方法矢量图—将图像分解成曲线和直线的组合,其中每一曲线或直线同数学公式表示。
第13章数值计算科学习题(答案)一、选择题1.B2. A3.D4. B5. C6.D7.B二、简答题1.数值分析有哪几种方法?各自的特点是什么?(1) 构造法在数值计算问题中,有许多是可以通过构造来证明其存在性的,实际上这个构造证明的过程最终给出了该问题的求解计算公式,该计算公式可以在计算机上编程实现。
(2) 离散法由于计算机只能处理离散的数据信息,对于涉及到的连续变量问题,只有利用数学方法,将连续问题离散化,以便于计算机的实现。
(3) 递推法将一些复杂的计算过程转换为简单的、多次重复的过程,就是递推法的基本思想,这对于计算机编程实现是非常便利的。
(4) 近似替代法对于无限过程的求解,数值计算通常采用截断的处理方法,在满足误差要求的前提下,用有限的计算来近似替代。
2.简述运筹学的研究步骤。
(1) 根据求解问题的目标,对问题进行分析和表述,抽象出问题本质,并构造合适的数学模型。
(2) 用已有的或寻求新的解法,对模型进行求解。
(3) 从以上两个步骤得到的可行方案中选出系统的最优解法。
(4) 对选择的模型进行检验,有必要的话,对模型进行修正。
(5) 布置实施方案,在现实系统中加以应用。
3.简述数学建模的步骤。
(1) 清楚问题的建模目的及建模对象的特征,尽量了解并搜集各种相关的信息。
(2) 抓住问题本质,建立合适的模型。
(3) 利用数学形式化方法,建立数学模型。
(4) 对模型求解。
(通常使用数值计算方法)(5) 对求解的结果进行分析,包括误差分析、稳定性分析、灵敏度分析等。
(6) 检验模型是否能较好地反映实际问题,并对模型加以修正。
(7) 把经过多次改进的模型及其求解应用于实际系统。
三、讨论题1.请你谈谈数值分析、数学建模与计算机模拟各自的主要用途以及它们之间的联系。
答案略。
2.结合自身的实际,谈谈你对数值计算科学的理解。
答案略。
第14章智能系统习题(答案)一.选择题1. D2. B3.B4.C5. CD6.B7.C8.ABC二.简答题1. 什么是人工智能?答:人工智能AI(Artificial Intelligence),又称为机器智能MI(Machine Intelligence),是研究、设计和应用智能机器或智能系统,用来模拟人类智能活动的能力,以延伸人类智能的科学。
第1章概述习题(答案)一.选择题1. D2. B3. CD4. C5. ABC6. A7. B8. B9. ABCD 10. ABCDE二.简答题1.什么是计算机系统?计算机系统是一种能够按照事先存储的程序,自动、高速地对数据进行输入、处理、输出和存储的系统,由计算机硬件系统和计算机软件系统两大部分组成。
2.请解释冯•诺依曼所提出的“存储程序”概念。
把程序和数据都以二进制的形式统一存放在存储器中,由机器自动执行。
不同的程序解决不同的问题,实现了计算机通用计算的功能。
3.控制器的主要功能是什么?控制器基本功能就是从内存中取出指令和执行指令,即控制器按程序计数器指出的指令地址从内存中取出该指令进行译码,然后根据该指令功能向有关部件发出控制命令,执行该指令。
另外,控制器在工作过程中,还要接受各部件反馈回来的信息。
4.简述CPU和主机的概念。
通常把运算器、控制器做在一个大规模集成电路块上称为中央处理器,又称CPU(Central Processing Unit)。
通常把内存储器、运算器和控制器合称为计算机主机,也可以说主机是由CPU与内存储器组成的,而主机以外的装置称为外部设备,外部设备包括输入/输出设备,外存储器等。
5.什么是计算机软件?计算机软件的分类有哪些?软件是指用来指挥计算机运行的各种程序的总和以及开发、使用和维护这些程序所需的技术文档。
计算机软件系统分为系统软件和应用软件。
计算机系统软件由操作系统、语言处理系统、以及各种软件工具等组成,指挥、控制计算机硬件系统按照预定的程序运行、工作,从而达到预定的目标。
应用软件是用户利用计算机软、硬件资源为解决各类应用问题而编写的软件,包括用户程序及其说明性文件资料。
6.计算机有哪些主要的特点?(1)运算速度快、精度高计算机的字长越长,其精度越高,现在世界上最快的计算机每秒可以运算几十万亿次以上。
一般计算机可以有十几位甚至几十位(二进制)有效数字,计算精度可由千分之几到百万分之几,是任何计算工具所望尘莫及的。
(2)具有逻辑判断和记忆能力计算机有准确的逻辑判断能力和高超的记忆能力。
能够进行各种逻辑判断,并根据判断的结果自动决定下一步应该执行的指令。
(3)高度的自动化和灵活性计算机采取存储程序方式工作,即把编好的程序输入计算机,机器便可依次逐条执行,这就使计算机实现了高度的自动化和灵活性。
7.计算机的分类有哪些?根据计算机工作原理和运算方式的不同,以及计算机中信息表示形式和处理方式的不同,计算机可分为数字式电子计算机(Digital Computer)、模拟式电子计算机(Analog Computer)和数字模拟混合计算机(Hybrid Computer)。
当今广泛应用的是数字计算机,因此,常把数字式电子计算机(Electronic Digital Computer)简称为电子计算机或计算机。
按计算机的用途可分为通用计算机(General Purpose Computer)和专用计算机(Special Purpose Computer )两大类。
通用计算机能解决多种类型问题,是具有较强通用性的计算机,一般的数字式电子计算机多属此类;专用计算机是为解决某些特定问题而专门设计的计算机,如嵌入式系统。
根据计算机的总体规模对计算机分类,可分为巨型机(Super Computer)、大/中型计算机(Mainframe)、小型计算机(Mini computer)、微型计算机(Micro computer)和网络计算机(Network Computer)五大类。
常见的微型机还可以分为台式机、便携机、笔记本电脑、掌上型电脑等多种类型。
8.简述计算机的基本运行方式。
计算机的基本运作方式可概括为所谓的“IPOS循环”。
IPOS循环即输入(Input)、处理(Processing)、输出(Output)和存储(Storage),它反映了计算机进行数据处理的基本步骤。
(1)输入接受由输入设备(如键盘、鼠标器、扫描仪等)提供的数据。
(2)处理对数值、逻辑、字符等各种类型的数据进行操作,按指定的方式进行转换。
(3)输出将处理所产生的结果等数据由输出设备(如显示器、打印机、绘图仪等)进行输出。
(4)存储计算机可以存储程序和数据供以后使用。
9.计算机有哪些主要的用途?(1)科学计算使用计算机来完成科学研究和工程技术中所遇到的数学问题的计算称为科学计算,也称为数值计算。
科学计算是使用计算机完成在科学研究和工程技术领域中所提出的大量复杂的数值计算问题,是计算机的传统应用之一。
(2)信息处理所谓信息处理就是使用计算机对数据进行输入、分类、加工、整理、合并、统计、制表、检索以及存储等,又称为数据处理。
例如座席预订与售票系统、零售业中的应用、办公自动化等。
信息处理已成为当代计算机的主要任务,是现代化管理的基础。
(3)实时控制(也称过程控制)实时控制也称过程控制,实时控制能及时地采集检测数据、使用计算机快速地进行处理并自动地控制被控对象的动作,实现生产过程的自动化。
(4)计算机辅助设计/辅助制造/辅助教学计算机辅助设计(Computer Aided Design——CAD)是使用计算机来辅助人们完成产品或工程的设计任务的一种方法和技术。
计算机辅助制造(Computer Aided Manufacturing——CAM)是使用计算机辅助人们完成工业产品的制造任务,能通过直接或间接地与工厂生产资源接口的计算机来完成制造系统的计划、操作工序控制和管理工作的计算机应用系统。
计算机辅助教学(Computer Aided Instruction——CAI)是把计算机用作教学媒体,使它充当指导者、工具和学习者角色,学生通过与计算机的对话进行学习的一种新型教学技术。
(5)人工智能人工智能(Artificial Intelligence——AI)就是指计算机模拟人类某些智力行为的理论、技术和应用。
(6)多媒体技术随着电子技术特别是通信和计算机技术的发展,人们已经有能力把文本、音频、视频、动画、图形和图像等各种媒体综合起来,构成“多媒体”(Multimedia)的概念。
10.简述计算机的发展趋势。
(1)微型化一方面,随着计算机的应用日益广泛,在一些特定场合,需要很小的计算机,计算机的重量、体积都变得越来越小,但功能并不减少。
另一方面,随着计算机在世界上日益普及,个人电脑正逐步由办公设备变为电子消费品。
人们要求电脑除了要保留原有的性能之外,还要有时尚的外观、轻便小巧、便于操作等特点,如平板电脑、手持电脑等。
今后个人计算机(Personal Computer)在计算机中所占的比重将会越来越大,使用也将会越来越方便。
(2)巨型化社会在不断发展,人类对自然世界的认识活动也越来越多,很多情况要求计算机对数据进行运算。
“巨型化”在这里并不是通常意义上的大小,主要是指机器的性能——运算速度等。
(3)网络化因特网(Internet)的建立正在改变我们的世界,改变我们的生活。
网络具有虚拟和真实两种特性,网上聊天和网络游戏等具有虚拟特性,而网络通信、电子商务、网络资源共享则具有真实的特性。
(4)智能化今后,计算机在生活中扮演的角色将会更加重要,计算机应用将具有更多的智能特性,能够帮助用户解决—些自己不熟悉或不愿意做的事,如智能家电、烹调等。
(5)新型计算机目前新一代计算机正处在设想和研制阶段。
新一代计算机是把信息采集、存储处理、通信和人工智能结合在一起的计算机系统。
11.简述计算学科的定义、计算学科的本质、计算学科的三个过程。
计算学科是对描述和变换信息的算法过程,包括对理论分析、设计、效率、实现和应用等进行的系统研究。
计算学科的研究包括了从算法与可计算性的研究到根据可计算硬件和软件的实际实现问题的研究。
计算学科的根本问题是“什么能被有效地自动进行?”。
计算学科的根本问题讨论的是能行性的有关内容,而凡是与能行性有关的讨论都是处理离散对象的。
计算学科的实质是学科方法论的思想,其关键问题是抽象、理论和设计三个过程相互作用的问题。
(1)理论理论是数学科学的根本。
应用数学家们都认为,科学的进展都是基于纯数学的。
应用数学用数学的方法推动经验科学和工程学的发展,同时又不断刺激对新数学的需要,为纯理论数学提出新的问题。
(2)抽象抽象(模型化)是自然科学的根本。
科学家们相信,科学进展的过程基本上都是形成假设,然后用模型化过程去求证。
(3)设计设计是工程的根本。
工程师们认为,工程进展基本上都是提出问题,然后通过设计去构造系统,以解决问题。
12.简述计算机科学与技术学科的定义。
计算机科学技术是研究计算机的设计与制造和利用计算机进行信息获取、表示、存储、处理、控制等的理论、原则、方法和技术的学科,包括科学与技术两方面。
科学侧重于研究现象、揭示规律;技术则侧重于研制计算机和研究使用计算机进行信息处理的方法与技术手段。
科学是技术的依据,技术是科学的体现;技术得益于科学,它又向科学提出新的课题。
13.简述计算机科学课程体系的核心内容。
计算学科课程体系的教学内容归结为14个知识体,包括:(1)离散结构(PS)计算学科是以离散型变量为研究对象,离散数学对计算技术的发展起着十分重要的作用。
随着计算技术的迅猛发展,离散数学越来越受到重视。
(2)程序设计基础(PF)《计算作为一门学科》报告指出了程序设计在计算学科的正确地位:程序设计是计算学科课程中固定练习的一部分,是每一个计算学科专业的学生应具备的能力,是计算学科核心科目的一部分,程序设计语言还是获得计算机重要特性的有力工具。
(3)算法与复杂性(AL)算法是计算机科学和软件工程的基础,现实世界中,任何软件系统的性能仅依赖于两个基本点方面,一方面是所选择的算法;另一方面是各不同层次实现的适宜性和效率。
(4)组织与体系结构(AR)计算机在计算中处于核心地位,如果没有计算机,计算学科只是理论数学的一个分支,应该对计算机系统的功能构件、以及他们的特点/性能和相互作用有一定的理解。
(5)操作系统(OS)操作系统定义了对硬件行为的抽象,程序员用它来对硬件进行控制。
操作系统还管理计算机用户间的资源共享。
(6)网络计算(NC)计算机和通信网络的发展,尤其是基于TCP/IP的网络的发展使得网络技术在计算学科中更加重要。
(7)程序设计语言(PL)程序设计语言是程序员与计算机交流的主要工具。
一个程序员不仅要知道如何使用一种语言进行程序设计,还应理解不同语言的程序设计风格。
(8)人-机交互(HL)人机交互重点在于理解人对交互式对象的交互行为,知道如何使用以人为中心的方法开发和评价交互软件系统,以及人机交互设计问题的一般知识。
(9)图形学和可视化计算(GV)该主领域的主要内容包括:计算机图形学、可视化、虚拟现实、计算机视觉等 4 个学科子领域的研究内容。