第1章 概 述
一.选择题
1. D 2. C 3. D 4. B 5. A 6. D 7. B 8. A 9. A
10. C 11. A 12. B 13. ABCD
- 世界上第一台电子数字计算机是 ENIAC
- 计算机系统必须具备的两部分是 硬件和软件
- 摩尔定律的内容是 微处理器的处理能力每18~24个月将增加1倍
- CAI 计算机辅助教学
- 计算机学科的根本问题是 什么能被有效的自动进行
二.简答题
1.举例说明石子计数的过程
答:早上放10头牛出去,就拿10颗小石子表示,晚上牛回来清数时,就以小石子的数量来逐个进行清点,看看是否一致。
2.简述计算机的发展阶段
答:计算机的出现是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)作为元器件代替晶体管等分立元件,用半导体存储器代替磁芯存储器,使用微程序设计技术简化处理机的结构,这使得计算机的体积和耗电量显著减小,而计算速度和存储容量却有较大提高,可靠性也大大加强。在软件方面则广泛地引入多道程序、并行处理、虚拟存储系统和功能完备的操作系统,同时还提供了大量的面向用户的应用程序。计算机开始走向标准化、模块化、系列化,此外,计算机的应用进入到许多科学技术领域。代表机型有IBM 360系列、富士通F230系列等。
(4) 第四代计算机(1972年至今)
其主要特征是使用了大规模和超大规模集成电路,使计算机朝着两个方向飞速向前发展。一方面,利用大规模集成电路制造多种逻辑芯片,组装出大型、巨型计算机,推动了许多新兴学科的发展。另一方面,利用大规模集成电路技术,将运算器、控制器等部件集成在一个很小的集成电路芯片上,从而出现了微处理器。完善的系统软件、丰富的系统开发工具和商品化的应用程序的大量涌现,以及通信技术和计算机网络的飞速发展,使得计算机进入了一个快速发展的阶段。
现在很多国家正在研制新一代的计算机,它将是微电子技术、光学技术、超导技术、电子仿生技术等多学科相结合的产物。它能进行知识处理、自动编程、测试和排错,以及用自然语言、图形、声音和各种文字进行输入和输出。新一代计算机的研究目标是打破计算机现有的体系结构,使得计算机能够具有像人那样的思维、推理和判断能力。已经实现的非传统计算技术有超导计算、量子计算、生物计算、光计算等。未来的计算机可能是超导计算机、量子计算机、生物计算机、光计算机、纳米计算机或DNA计算机等。
3. 简述我国计算机的发展历程。
答:(1) 华罗庚和我国第一个计算机科研小组
中国科学院华罗庚(1910—1985)是我国计算技术的奠基人和最主要的开拓者之一。当冯·诺依曼开创性地提出并着手设计EDVAC时,正在普林斯顿大学工作的华罗庚参观过他的实验室,并经常与他讨论有关的学术问题。1952年,我国大学院系进行调整,华罗庚从清华大学电机系物色了闵乃大、夏培肃和王传英3位学者,在他担任所长的中科院数学所内建立了我国第一个电子计算机科研小组。1956年,在筹建中科院计算技术研究所时,华罗庚担任筹备委员会主任。
(2) 第一代电子管计算机研制(1958—1964)
1957年,我国开始研制通用数字电子计算机,1958年8月1日该机研制成功,可以表演短程序运行,标志着我国第一台电子计算机的诞生。为纪念这个日子,该机定名为八一型数字电子计算机。该机在738厂开始小批量生产,改名为103型计算机(即DJS-1型),共生产了38台。
1958年5月,我国开始研制第一台大型通用电子计算机(104机),以苏联当时正在研制的БЭСМ-II为蓝本,在苏联专家的指导和帮助下,中科院计算所、四机部、七机部和部队的科研人员与738厂合作,于1959年国庆节前完成了研制任务。
在研制104机的同时,夏培肃院士领导的科研小组首次自行设计并于1960年4月研制成功一台小型通用电子计算机,即107机。1964年我国第一台自行设计的大型通用数字电子管计算机119机研制成功,平均浮点运算速度达到5万次/每秒。
(3) 第二代晶体管计算机研制(1965—1972)
1965年研制成功的我国第一台大型晶体管计算机(109乙机)。随后对109乙机加以改进,两年后又推出109丙机,运行了15年,有效算题时间10万小时以上,在我国两弹试验中发挥了重要作用,被用户誉为“功勋机”。
(4) 第三代基于中小规模集成电路的计算机研制(1973—20世纪80年代初)
1983年中科院计算所完成我国第一台大型向量机(757机),计算速度达到1000万次/每秒。同年,国防科技大学研制的银河-Ⅰ亿次巨型计算机,是我国高速计算机研制的一个重要里程碑。
(5) 第四代基于超大规模集成电路的计算机研制(20世纪80年代中期至今)
与国外一样,我国第四代计算机的研制也是从微机开始的,1983年12月电子部六所成功研制与IBM PC机兼容的DJS-0520微机。
1997年,国防科学技术大学成功研制银河-Ⅲ百亿次并行巨型计算机系统,系统综合技术指标达到20世纪90年代中期国际先进水平。
国家智能计算机研究开发中心与曙光公司于1997—1999年先后在市场上推出具有机群结构的曙光1000A、曙光2000-Ⅰ、曙光2000-Ⅱ超级服务器;2000年推出浮点运算速度为3000亿次/秒的曙光3000超级服务器;2011年推出浮点运算速度为1271万亿次/秒的曙光6000超级服务器。
2013年6月17日,国际超级计算机TOP500组织在德国正式发布了第四十一届世界大型超级计算机TOP500排行榜的排名,第一名为国防科学技术大学研制的天河二号,第十名为国防科学技术大学研制的天河一号。
2016年6月20日,在法兰克福(Frankfurt)世界超算大会上,国际超级计算机TOP500榜单显示,我国研制的“神威·太湖之光”超级计算机系统荣登榜单之首;2016年11月14日,在美国盐湖城公布的TOP500榜单中,“神威·太湖之光”以较大的运算速度优势轻松蝉联冠军;2016年11月18日,“神威·太湖之光”超级计算机的应用成果首次荣获“Gordon Bell”奖,实现了我国高性能计算应用成果在该奖项上零的突破。2017年11月13日,全球超级计算机500强榜单公布,“神威·太湖之光”以每秒9.3亿亿次的浮点运算速度第四次夺冠。2018年7月22日,“天河三号E级原型机系统”进入开放应用阶段。
4.举例说明计算机微型化的最新产品
答:列举当前的平板电脑,说明其特点即可。
5.计算机有哪些主要用途?
答:(1) 科学研究和科学计算
使用计算机来完成科学研究和工程技术领域所提出的大量复杂的数值计算问题,称为科学计算,也称为数值计算,是计算机的传统应用之一。科学计算通常的步骤为构造数学模型、选择计算方法、编制计算机程序、计算、分析结果,例如,求解具有几十个变量的方程组,解复杂的微分方程等。
(2) 信息传输和信息处理
信息传输是指在计算机内部的各部件之间、计算机与计算机之间、计算机与其他设备之间等进行数据传输。信息处理即信息管理,是使用计算机对数据进行输入、分类、加工、整理、合并、统计、制表、检索、存储等,又称为数据处理,其目的是为有各种需求的人们提供有价值的信息,作为管理和决策的依据。例如,人口普查资料的分类、汇总,股市行情的实时管理等。目前,计算机信息处理已广泛应用于办公自动化、企业管理、情报检索等诸多领域之中。
(3) 生产过程的自动化控制和管理自动化
使用计算机进行自动化控制和管理自动化可大大提高控制的实时性和准确性,提高劳动效率、产品质量,降低成本,缩短生产周期。过程控制是指用计算机对工业生产过程或某种装置的运行过程进行状态监测并实施自动控制。用计算机进行过程控制可以改进设备性能,提高生产效率,降低人们的劳动强度。将计算机信息处理与过程控制结合起来,便产生了计算机管理下的无人工厂,目前,过程控制被广泛用于操作复杂的钢铁工业、石油化工业、医药工业等生产中。
(4) 计算机辅助设计/辅助制造/辅助教学
计算机辅助设计(Computer Aided Design,CAD)是使用计算机来辅助人们完成产品或工程的设计任务的一种方法和技术。计算机辅助制造(Computer Aided Manufacturing,CAM)是使用计算机辅助人们完成工业产品的制造任务,能通过直接或间接地与工厂生产资源接口的计算机来完成制造系统的计划、操作工序控制和管理工作的计算机应用系统。计算机辅助教学(Computer Aided Instruction,CAI)是使用计算机作为教学媒体,学生通过与计算机对话进行学习的一种新型教学方法和技术。
(5) 计算机网络与Internet
自20世纪90年代以来,计算机网络技术得到了飞速发展,信息的处理和传递突破了时间和地域的限制,网络化和全球化成为不可抗拒的世界潮流,世界各国都在加紧进行信息基础建设。计算机网络是把分布在不同地域的独立的计算机系统用通信设施连接起来,以实现数据通信和资源共享。Internet是一个非常典型的广域网,它的业务范围主要有远程使用计算机、传送文件、收发电子邮件、资料查询等。Internet极大地促进了现代社会信息化、全球化的进程,给社会政治、经济、生活带来了深刻的影响。
(6) 多媒体技术
随着电子科学与技术特别是通信技术和计算机技术的发展,计算机多媒体系统不仅有计算机的存储记忆、高速运算、逻辑判断、自动运行的功能,还能将符号、文本、音频、视频、图形、动画、图像等多种媒体信息有机地集成于一体,构成多媒体(Multimedia),使人通过多个感官获取相关信息,可以提高信息的传播效率,同时由于多媒体的图形交互界面和窗口交互操作,使人机交互能力大大提高,从而实现信息的双向交流。
(7) 嵌入式系统
着信息化的发展,计算机和网络已经渗透到人们日常生活的每个角落。对每个人来说,不仅需要放在桌上处理文档、进行工作管理和生产控制的计算机,还需要从小到大的、各种使用嵌入式技术的电子产品,小到MP3(Moving Picture Experts Group Audio Layer III)、个人数据处理机(Personal Digital Assistant,PDA)等微型数字化产品,大到网络家电、智能家电、车载电子设备、数字仪器等。目前,各种各样的新型嵌入式系统(Embedded System)设备在应用数量上已经远远超过了通用计算机。
(8) 人工智能
工智能是指计算机模拟人类某些智力行为的理论、技术和应用。人工智能由不同的领域组成,如机器学习、计算机视觉、自然语言理解、神经网络、遗传算法、专家系统、机器翻译、机器人、定理自动证明等。
(9) 军事
在当今世界,许多科学的新发现、新成就大都首先应用于军事。第一台计算机正是为计算导弹的弹道轨迹而研制的,之后的每一代产品也几乎都是首先为军事服务的。目前,计算机在军事上的应用主要包括军队自动化指挥系统、计算机作战模拟、军事信息处理武器的自动控制、精确制导武器、军用机器人、数字化部队、后勤保障等。
(10) 娱乐
随着计算机、网络、多媒体、动画、计算机视觉等技术的不断发展,计算机能够以文字、声音、图形、图像等形式向人们提供最新的娱乐方式。计算机娱乐已经成为人们日常生活的一个重要组成部分,网络游戏(Online Game)、动漫(Animation & Comic)、网络文学(Network Novel)、MSN(Microsoft Service Network)、腾讯QQ(简称QQ)、微博(MicroBlog)、Twitter、微信(WeChat)、Facebook等改变了人们交流的方式。
6.简述计算机的发展趋势。
答:(1) 微型化
20世纪70年代以来,由于大规模和超大规模集成电路的飞速发展,微处理器芯片连续更新换代,微型计算机连年降价,加上丰富的软件和外部设备,操作简单,使微型计算机很快普及到社会各个领域并走进了千家万户。同时,个人计算机(Personal Computer,PC)正逐步由办公设备变为电子消费品。人们要求计算机除了保留原有的性能之外,还要有时尚的外观、轻便小巧、便于操作等特点。1976年,史蒂夫·乔布斯(Steve Jobs,1955—2011)、斯蒂夫·沃兹尼亚克(Stephen Wozniak,1950— )和罗·韦恩(Ron Wayne,1934— )等人创立苹果公司。苹果公司于2010年发布了iPad,它是一款介于手机和笔记本电脑之间的平板电脑。
(2) 巨型化
社会在不断发展,人类对自然世界的认识活动也越来越多,很多情况要求计算机对大量数据进行运算。“巨型化”在这里并不是通常意义上的大小,而是指高速运算、大存储容量和强大功能的巨型计算机。
(3) 网络化
因特网(Internet)的建立正在改变我们的世界,改变我们的生活。网络具有虚拟和真实两种特性,网上聊天和网络游戏等具有虚拟特性,而网络通信、电子商务、网络资源共享则具有真实的特性。
(4) 智能化
智能化是指事物在网络、大数据、物联网和人工智能等技术的支持下,所具有的能动地满足人的各种需求的属性,是现代人类文明发展的趋势。智能化使计算机在人们的生活中扮演着重要的角色,要求计算机能模拟人的感觉和思维能力,如智能家电、交通等。
(5) 新型计算机
新型计算机将由以处理数据信息为主,转向以处理知识信息为主(如获取知识、表达知识、存储知识、应用知识等),并有推理、联想、学习等人工智能方面的能力(如理解能力、适应能力、思维能力等),能帮助人类开拓未知的领域和获取新的知识。
7.简述计算学科的定义、计算学科的本质。
答:计算学科是指利用计算机再现、预测和发现客观世界运动规律和演化特征的全过程,包括对理论分析、设计、效率、实现、应用等进行的系统研究。计算学科的研究包括了从算法与可计算性的研究到根据可计算硬件和软件的实际实现问题的研究。
计算学科的根本问题是“什么能被有效地自动进行?”,讨论的是与可行性有关的内容,其处理的对象是离散的,因为非离散对象(连续对象)是很难进行处理的。
计算学科的实质是学科方法论的思想,其关键问题是抽象、理论和设计三个过程相互作用的问题。
8.简述计算机科学与技术学科的定义。
答:计算机科学与技术是研究计算机的设计与制造和利用计算机进行信息获取、表示、存储、处理、控制等的理论、原则、方法和技术的学科,包括科学与技术两方面。科学侧重于研究现象、揭示规律;技术则侧重于研制计算机和研究使用计算机进行信息处理的方法与技术手段。科学是技术的依据,技术是科学的体现;技术得益于科学,它又向科学提出新的课题。
9.简述计算机科学与技术学科的根本问题及研究范畴。
答:计算机科学与技术学科的根本问题是什么能被有效地自动化。问题的符号表示及其处理过程的机械化、严格化的固有特性,决定了数学是计算机科学与技术学科的重要基础之一,数学及其形式化描述、严密的表达和计算是计算机科学与技术学科所用的重要工具,建立物理符号系统并对其实施变换是计算机科学与技术学科进行问题描述和求解的重要手段。
计算机科学与技术的研究范畴包括计算机理论、硬件、软件、网络及应用等,按照研究的内容,也可以划分为基础理论、专业基础和应用三个层面。
计算机理论的研究包括离散数学、算法分析理论、形式语言与自动机理论、程序设计语言理论、私信程序设计方法学;计算机硬件的研究包括元器件与存储介质、微电子技术、计算机组成原理、微型计算机技术、计算机体系结构;计算机软件的研究包括程序设计语言的设计、数据结构与算法、程序设计语言翻译系统、操作系统、数据库系统、算法设计与分析、软件工程学、可视化技术;计算机网络的研究包括网络结构、数据通信与网络协议、网络服务、网络安全;计算机应用的研究及人-机工程包括计算机应用的研究、软件开发工具、完善既有的应用系统、开拓新的应用领域、人-机工程、研究人与计算机的交互和协同技术。
10.简述计算机科学课程体系的核心内容。
答:计算学科课程体系的教学内容归结为18个知识体,包括:
(1) 体系结构与组织(Architecture and Organization,AR)
计算机体系结构与组织是指根据属性和功能不同而划分的计算机理论组成部分及计算机基本工作原理、理论的总称。该领域的主要内容包括计算机体系结构的发展、数据的机器级表、非数值数据、数字逻辑与数字系统、汇编级计算机组成、存储系统的结构与组织、接口与通信等。
(2) 程序设计语言(Programming Languages,PL)
程序设计语言是用于书写计算机程序的语言,包含语法、语义和语用,是程序员与计算机交流的主要工具。该领域的主要内容包括程序设计语言概述、程序设计方法、类型系统、编译技术、运行时系统、静态分析、高级程序结构、逻辑式程序设计等。
(3) 软件开发基础(Software Development Fundamentals,SDF)
软件开发就是根据用户的要求,构建出有特定功能的软件系统,或者系统中软件部分的过程。该领域的主要内容包括程序设计基本概念、数据结构基础、软件开发方法等。
(4) 算法与复杂性(Algorithms and Complexity,AC)
算法是如何解决一类问题的明确规范,可以执行计算、数据处理、自动推理和其他任务,是计算机科学与技术和软件工程的基础。该领域的主要内容包括算法基础与设计、基础分析、算法策略、基础算法、基础自动机的可计算性及复杂度、高级计算复杂度、高级自动机理论及可计算性、高级算法及分析等。
(5) 信息管理(Information Management,IM)
信息管理是人们为了有效地开发和利用信息资源,以现代信息技术为手段,对信息资源进行计划、组织、领导和控制的社会活动。该领域的主要内容包括模型与信息系统、数据库系统、数据模型、索引、关系数据库、查询语言、事务处理、物理数据库设计、常用的数据库管理系统、数据库的发展、信息的存储与检索、多媒体系统等。
(6) 基于平台的开发(Platform-Based Development,PBD)
基于平台的开发是指特定软件平台上的软件设计与开发。该领域的主要内容包括平台、Web平台、移动平台、工业平台、游戏平台等。
(7) 软件工程(Software Engineering,SE)
软件工程是一门研究用工程化方法构建和维护有效、实用和高质量的软件的学科。该领域的主要内容包括软件工程概述、软件工程过程、软件项目管理、软件工具和环境、需求工程、软件设计、软件构建、软件验证与确认、软件演化、软件可靠性、形式化方法等。
(8) 操作系统(Operating System,OS)
操作系统是一组主管并控制计算机操作、运用和运行硬件、软件资源和提供公共服务来组织用户交互的、相互关联的系统软件程序。该领域的主要内容包括操作系统概述、操作系统的发展、操作系统的分类、操作系统的功能、操作系统的体系结构、调度和分发、安全和防护、文件系统、容错性、系统性能评估、内存管理等。
(9) 网络与通信(Networking and Communication,NC)
计算机和通信网络的发展,尤其是基于TCP/IP网络的发展使得网络技术在计算学科中更加重要。该领域的主要内容包括数据通信基础、计算机网络基础、网络应用程序、可靠数据传输、路由和转发、局域网、资源分配、移动性、社交网络、区块链、5G/6G网络等。
(10) 系统基础(Systems Fundamentals,SF)
底层硬件和软件基础设施以及在其上构建的应用程序被统称为“计算机系统”,计算机系统横跨操作系统、并行和分布式系统、通信网络以及计算机体系结构等子学科,这些子学科在各自的核心内容中越来越多地共享一些重要的共同基本概念。该领域的主要内容包括计算范式、跨层通信、状态机、并行性、评估技术、资源分配与调度技术、虚拟化、冗余下的可靠性、定量评估等。
(11) 并行与分布式计算(Parallel and Distributed Computing,PDC)
并行计算是指同时使用多种计算资源解决计算问题的过程。分布式计算就是在两个或多个软件互相共享信息,这些软件既可以在同一台计算机上运行,也可以在通过网络连接起来的多台计算机上运行。该领域的主要内容包括并行基础、并行分解、并行算法、通信和协同、并行体系结构、并行性能、分布式系统、云计算、语义学和形式化模型等。
(12) 信息保障与安全(Information Assurance and Security,IAS)
信息保障与安全是在信息系统的整个生命周期中,通过对信息系统的风险分析,制定并执行相应的安全保障策略。该领域的主要内容包括信息安全的基本概念、安全策略和管理、网络安全、密码学、Web安全、平台安全、数字取证等。
(13) 离散结构(Discrete Structures,DS)
计算学科是以离散型变量为研究对象,离散结构是现代数学的一个重要学科,它所涉及的概念、方法和理论,被大量应用于计算机科学与技术的研究。该领域的主要内容包括集合、关系与函数、基础逻辑、证明方法、计数基础、图和树、离散概率等。
(14) 计算科学(Computational Science,CS)
计算科学是一个与数学模型构建、定量分析方法以及利用计算机来分析和解决科学问题的研究领域,主要对各个科学学科中的问题进行计算机模拟和其他形式的计算。该领域的主要内容包括建模与仿真、处理、数值分析、数字图书馆等。
(15) 图形学和可视化(Graphics and Visualization,GV)
计算机图形学是一种使用数学算法将二维或三维图形转化为计算机显示器的栅格形式的科学,而可视化则是利用计算机图形学和图像处理技术,将数据转换成图形或图像在屏幕上显示出来,再进行交互处理的理论、方法和技术。该领域的主要内容包括图形学的基本概念、图形系统、基本绘制、几何建模、高级绘制、计算机动画、可视化等。
(16) 人机交互(Human-Computer Interaction,HCI)
人机交互研究计算机技术的设计和使用,重点是人(用户)与计算机之间的接口。该领域的主要内容包括人机交互技术基础、人机交互模型、人机系统交互界面的构架、人机界面的设计、数据交互、语音交互、图像交互、行为交互、4D打印和人机交互的发展等。
(17) 智能系统(Intelligent Systems,IS)
智能系统是指能产生人类智能行为的计算机系统,不仅可自组织性与自适应性地在传统的冯·诺依曼的计算机上运行,而且也可自组织性与自适应性地在新一代的非冯·诺依曼结构的计算机上运行。该领域的主要内容包括人工智能系统、知识表达及推理方法、搜索技术、自然语言处理、机器学习方法、机器人学、人工智能的应用等。
(18) 社会问题与专业实践(Social Issues and Professional Practice,SP)
人们需要懂得计算机科学与技术学科基本的文化、社会、法律和道德问题,需要认识软、硬件销售商和用户的基本法律权利,还应意识到这些权利的道德价值观。该领域的主要内容包括社会环境、分析工具、职业道德、知识产权、隐私和公民自由、专业交流、可持续性、计算经济性、安全政策、法律和计算机犯罪等。
三.讨论题
1.计算机的产生是20世纪最伟大的成就之一,具体体现在哪些方面?
答案略。
2.在信息社会,如何才能在计算机产业中做出自己的贡献?
答案略。
-
第2章 计算机体系结构与组织
数制的表示
进制的转换
反码与补码
冯·诺依曼机的基本组成
现代计算机的基本结构是由冯·诺依曼提出的
计算机系统的组成
一. 选择题
1. D 2. D 3. A 4. D 5. C 6. C 7. B 8. D 9. C
10. B 11.A 12. C 13. A 14. C. 15. B 16. B 17. ABC 18. C
19. A 20. A 21. C 22. D 23. A 25. C 26. A 27. B
- 计算机的组成包括 输入输出设备 运算器 存储器 控制器
- 中央处理器包括 运算器和控制器
- 源码变成反码和补码切记正数不用变 负数符号位不变
- 冯诺依曼的主要贡献是 提出了存储程序的概念
- 冯诺依曼机基本工作方式的特点是 按地址访问并顺序执行指令
二. 简答题
1.试简单叙述计算机采用二进制的原因。
答:计算机只认识二进制编码形式的指令和数据。因此,包括数字、字符、声音、图形、图像等信息都必须经过某种方式转换成二进制的形式,才能提供给计算机进行识别和处理。在计算机中采用二进制,是因为物理上实现容易。由于二进制只有两个状态0和1,这正好与物理器件的两种状态相对应,例如电压信号的高与低,门电路的导通与截止等;而十进制电路则需要用十种状态来描述,这将使得电路十分复杂,处理也十分困难。因此,采用二进制将使得计算机在物理上实现简单,且具有可靠性高、处理简单、抗干扰能力强等优点。
2.什么是定点数,它分为哪些种类?
答:所谓定点数,就是指计算机在运算过程中,数据中小数点的位置固定不变。其中小数点的位置是由计算机设计者在机器的结构中指定一个不变的位置,而不一定都必须具有小数点的指示装置。定点数一般有小数和整数两种表示形式。定点小数是把小数点固定在数据数值部分的左边,符号位的右边;定点整数则把小数点固定在数据数值部分的右边。
3.简要叙述声音的编码过程。
答:计算机获取声音信息的过程即是声音信号数字化的处理过程。经过数字化处理后的数字声音信息才能被计算机所识别和处理。声音被计算机处理的过程主要经过音频信号的采样、量化和编码几个过程。
4. 简述计算机有哪些特点?
答:(1)运算速度快、精度高
计算机的字长越长,其精度越高,目前世界上最快的计算机每秒可以运算千万亿次以上。
(2)具有逻辑判断和记忆能力
计算机有准确的逻辑判断能力和超强的记忆能力,能够进行各种逻辑判断,并根据判断的结果自动决定下一步应该执行的指令。
(3)高度的自动化和灵活性
计算机采取存储程序方式工作,即把编好的程序输入计算机,机器便可依次逐条执行,这就使计算机实现了高度的自动化和灵活性。每台计算机提供的基本功能是有限的,这是在设计和制造时就决定了的。但计算机可以在人们精心编写的程序下,用这些有限的功能,快速、自动地完成多种多样的基本功能序列,从而实现计算机的通用性,达到计算机应用的各种目的。
5.什么是计算机系统?
答:计算机系统是一种能够按照事先存储的程序,自动、高速地对数据进行输入、处理、输出和存储的系统,由计算机硬件系统和计算机软件系统两大部分组成。
6. 简述计算机硬件系统的五大部分。
答:① 运算器
运算器又称算术逻辑单元(Arithmetic Logic Unit,ALU),是计算机对数据进行加工处理的部件,它的主要功能是对二进制数进行加、减、乘、除等算术运算和与、或、非等基本逻辑运算,实现逻辑判断。运算器是在控制器的控制之下实现其功能的,运算结果由控制器发出的指令送到内存储器中。
② 控制器
控制器主要由指令寄存器、译码器、程序计数器和操作控制器等组成,控制器是用来控制计算机各部件协调工作,并使整个处理过程有条不紊地进行。它的基本功能就是从内存中取出指令和执行指令,即控制器按程序计数器指出的指令地址从内存中取出该指令进行译码,然后根据该指令功能向有关部件发出控制命令,执行该指令。另外,控制器在工作过程中,还要接受各部件反馈回来的信息。
通常把运算器、控制器集成在一个大规模集成电路板上称为中央处理器,又称CPU(Central Processing Unit)。
③ 存储器
存储器是计算机的记忆装置,用于存放原始数据、中间数据、最终结果和处理程序。为了对存储的信息进行管理,把存储器划分成存储单元,每个单元的编号称为该单元的地址。各种存储器基本上都是以1个字节作为一个存储单元。存储器内的信息是按地址存取的,如要访问存储器中的某个信息,就必须知道它的地址。向存储器里存入信息也称为“写入”,写入新的内容将覆盖原来的内容。从存储器里取出信息也称为“读出”,信息读出后并不破坏原来存储的内容,因此信息可以重复读出,多次利用。
通常把内存储器、运算器和控制器合称为计算机主机,也可以说主机是由CPU与内存储器组成的,而主机以外的装置称为外部设备,外部设备包括输入/输出设备、外存储器等。
④输入和输出设备
输入和出设备简称I/O(Input/Output)设备。用户通过输入设备将程序和数据输入计算机,输出设备将计算机处理的结果(如数字、字母、符号和图形)显示或打印出来。常用的输入设备有:键盘、鼠标器、扫描仪、数字化仪等;常用的输出设备有:显示器、打印机、绘图仪等。
7. 请解释冯•诺依曼所提出的“存储程序”概念。
答:把程序和数据都以二进制的形式统一存放在存储器中,由机器自动执行。不同的程序解决不同的问题,实现了计算机通用计算的功能。
8.控制器的主要功能是什么?
答:控制器基本功能就是从内存中取指令和执行指令,即控制器按程序计数器指出的指令地址从内存中取出该指令进行译码,然后根据该指令功能向有关部件发出控制命令,执行该指令。另外,控制器在工作过程中,还要接受各部件反馈回来的信息。
9.简述CPU和主机的概念。
答:通常把运算器、控制器做在一个大规模集成电路块上称为中央处理器,又称CPU(Central Processing Unit)。
通常把内存储器、运算器和控制器合称为计算机主机,也可以说主机是由CPU与内存储器组成的,而主机以外的装置称为外部设备,外部设备包括输入/输出设备,外存储器等。
10.什么是计算机软件?计算机软件的分类有哪些?
答:软件是指用来指挥计算机运行的各种程序的总和以及开发、使用和维护这些程序所需的技术文档。
计算机软件系统分为系统软件和应用软件。计算机系统软件由操作系统、语言处理系统、以及各种软件工具等各种软件程序组成,指挥、控制计算机硬件系统按照预定的程序运行、工作,从而达到预定的目标。应用软件是用户利用计算机软、硬件资源为解决各类应用问题而编写的软件,包括用户程序及其说明性文件资料。
11.计算机有哪些主要的特点?
答:(1)运算速度快、精度高
计算机的字长越长,其精度越高,现在世界上最快的计算机每秒可以运算几十万亿次以上。一般计算机可以有十几位甚至几十位(二进制)有效数字,计算精度可由千分之几到百万分之几,是任何计算工具所望尘莫及的。
(2)具有逻辑判断和记忆能力
计算机有准确的逻辑判断能力和高超的记忆能力。能够进行各种逻辑判断,并根据判断的结果自动决定下一步应该执行的指令。
(3)高度的自动化和灵活性
计算机采取存储程序方式工作,即把编好的程序输入计算机,机器便可依次逐条执行,这就使计算机实现了高度的自动化和灵活性。
12. 简述计算机系统的主要技术指标。
答:评价计算机的性能指标有很多,通常人们从计算机的字长、时钟周期和主频、运算速度、内存容量、数据输入输出最高速率等技术指标来评价计算机系统。
(1) 字长
在计算机中,用若干二进制位表示一个数或一条指令,前者称为数据字,后者称为指令字。字长的直接影响计算机的功能强弱、精度高低和速度快慢。计算机处理数据时,一次可以运算的数据长度称为一个“字”(Word),字的长度称为字长。一个字可以是一个字节(Byte,简称B),也可以是多个字节。常用的字长有8位(bit)、16位、32位、64位等。如某一类计算机的字由4个字节组成,则字的长度为32位,相应的计算机称为32位机。
(2) 时钟周期和主频
计算机的中央处理器对每条指令的执行是通过若干个微指令操作来完成的,这些微指令操作是按时钟周期的节拍来“动作”的,时钟周期的微秒数反映出计算机的运算速度。有时也用时钟周期的倒数——时钟频率(兆频),即人们常说的主频来表示。一般说来,主频越高(时钟周期越短),计算机的运算速度越快。但是,主频并不能全面准确地反映计算机的运算速度,而每秒钟执行百万条指令数(MIPS)指标则能较全面准确地反映计算机的运算速度。近十年来,微计算机的主频提高很快,例如,IBM PC/XT微机的CPU主频为4.77MHz,而Pentium 4 CPU的主频己超过1GMHz,并且在不断提高。
(3) 运算速度
计算机的运算速度是衡量计算机水平的一项主要指标,它取决于指令执行时间。运算速度的计算方法多种多样,目前常用单位时间内执行多少条指令来表示,而计算机执行各种指令所需时间不同。因此,常根据在一些典型题目计算中,各种指令执行的频度以及每种指令的执行时间来折算出计算机的等效速度。
(4) 内存容量
存储器的容量反映计算机记忆信息的能力,它常以字节为单位表示。存储器的容量越大,则存储的信息越多,计算机的功能越强。
计算机中的操作大多是与内存交换信息,但内存的存取速度相对CPU的算术和逻辑运算的速度要低1~2个数量级。因此,内存的读写速度也是影响计算机运行速度的主要因素之一。
为了度量信息存储容量,将8位二进制位(8bits)称为1个字节,字节是计算机中数据处理和存储容量的基本单位。1024个字节称为1K字节(1KB),1024K个字节称1兆字节(1MB),1024M个字节称为1G字节(1GB),1024G个字节称为1T字节(1TB),现在微型计算机主存容量大多数在兆字节以上。
(5) 数据输入输出最高速率
主机与外部设备之间交换数据的速率也是影响计算机系统工作速度的重要因素。由于各种外部设备本身工作的速度不同,常用主机所能支持的数据输入输出最大速率来表示。
13.计算机的分类有哪些?
答:根据计算机工作原理和运算方式的不同,以及计算机中信息表示形式和处理方式的不同,计算机可分为数字式电子计算机(Digital Computer)、模拟式电子计算机(Analog Computer)和数字模拟混合计算机(Hybrid Computer)。当今广泛应用的是数字计算机,因此,常把数字式电子计算机(Electronic Digital Computer)简称为电子计算机或计算机。
按计算机的用途可分为通用计算机(General Purpose Computer)和专用计算机(Special Purpose Computer )两大类。通用计算机能解决多种类型问题,是具有较强通用性的计算机,一般的数字式电子计算机多属此类;专用计算机是为解决某些特定问题而专门设计的计算机,如嵌入式系统。
根据计算机的总体规模对计算机分类,可分为巨型机(Super Computer)、大/中型计算机(Mainframe)、小型计算机(Mini computer)、微型计算机(Micro computer)和网络计算机(Network Computer)五大类。
常见的微型机还可以分为台式机、便携机、笔记本电脑、掌上型电脑等多种类型。
14.简述计算机软件系统的分类。
答:软件是指能在计算机上运行的各种程序,包括各种有关的文档。通常将软件分为系统软件和应用软件两大类。
(1)系统软件 (c语言)
可以把软件分成若干层,最内层是对硬件的扩充与完善,而外层则是对内层的再次扩充与完善。一般把靠近内层、为方便使用和管理计算机资源的软件,称为系统软件。系统软件通常是负责管理、控制和维护计算机的各种软硬件资源,并为用户提供一个友好的操作界面,以及服务于一般目的的上机环境。系统软件包括操作系统、计算机的监控管理程序、高级程序设计语言的编译和解释程序以及系统服务程序等。操作系统在系统软件中处于核心地位,其他的系统软件在操作系统的支持下工作;高级程序设计语言的编译和解释程序,将软件工程师编写的软件“翻译”成为计算机能够“理解”的机器语言;系统服务程序为计算机系统的正常运行提供服务。
(2)应用软件
应用软件是针对某个应用领域的具体问题而开发和研制的程序,它由专业人员为各种应用目的而开发。应用软件必须在系统软件的支持下才能工作,它具有很强的实用性和专业性,正是由于应用软件的开发和使用,才使得计算机的应用日益渗透到社会的各行各业。应用软件可以由用户自己开发,也可在市场上购买。
常用的应用软件有:文字处理软件,如WPS、Word等;电子表格软件,如Excel、Lotus等;图形处理软件,如 3DMAX等;课件制作软件,如PowerPoint、Authorware等;多媒体处理软件,如RealPlay、MediaPlayer等。
15.列出你所常用的系统软件和应用软件。
答案略。
16.简述计算机的基本工作方式。
计算机的基本工作方式可概括为“IPOS循环”,即输入(Input)、处理(Processing)、输出(Output)和存储(Storage),它反映了计算机进行工作的基本步骤。
(1) 输入。接收由输入设备(如键盘、鼠标器、扫描仪等)提供的数据。
(2) 处理。操作数值、逻辑、字符等各种类型的数据,按指定的方式进行转换。
(3) 输出。将处理所产生的结果等给输出设备(如显示器、打印机、绘图仪等)输出。
(4) 存储。计算机可以存储程序和数据供以后使用。
17.存储器的分类有哪些?
(1) 按存储介质,可将存储器分为半导体存储器、磁存储器和光存储器。
(2) 按工作方式,可将存储器分为随机存取存储器、只读存储器、顺序存取存储器和直接存取存储器等。
(3) 按信息的可保存性,可将存储器分为易失性存储器和非易失性存储器。
(4) 按在计算机中的作用,可将存储器分为主存储器、辅助存储器和高速缓冲存储器等。
18.存储器的功能是什么?
答:现代计算机是以存储器为中心的计算机系统,存储器是计算机的重要组成部分。当利用计算机完成某项任务时,首先把解决问题的程序和所需数据存于存储器中,在执行程序时再由存储器快速地提供给处理机。显然,存储器的功能是存储信息,被存储的信息包括程序信息和数据信息等。
19.简述存储器的三级存储体系分层结构。
在计算机系统中存储层次可分为高速缓冲存储器、主存储器、辅助存储器三级。高速缓冲存储器用来改善主存储器与中央处理器的速度匹配问题。辅助存储器用于扩大存储空间。
(1) 高速缓冲存储器
存在于主存与CPU之间的一级存储器, 由静态存储芯片(SRAM)组成,容量比较小但速度比主存高得多, 接近于CPU的速度。在计算机存储系统的层次结构中,是介于中央处理器和主存储器之间的高速小容量存储器。它和主存储器一起构成一级的存储器。高速缓冲存储器和主存储器之间信息的调度和传送是由硬件自动进行的。
(2) 主存储器
计算机硬件的一个重要部件,其作用是存放指令和数据,并能由中央处理器(CPU)直接随机存取。现代计算机是为了提高性能,又能兼顾合理的造价,往往采用多级存储体系。即由存储容量小,存取速度高的高速缓冲存储器,存储容量和存取速度适中的主存储器是必不可少的。
主存储器是按地址存放信息的,存取速度一般与地址无关。32位(比特)的地址最大能表达4GB的存储器地址。这对多数应用已经足够,但对于某些特大运算量的应用和特大型数据库已显得不够,从而对64位结构提出需求。
(3) 外储存器
辅助存储器又称外存储器(简称外存)。指除计算机内存及CPU缓存以外的储存器,此类储存器一般断电后仍然能保存数据。常见的外存储器有硬盘、软盘、光盘、U盘等。
三. 讨论题
1. 为什么计算机使用二进制,而不使用人们生活中的十进制来表示数据信息。
答案略。
2. 网络计算机有许多优点,请结合其特点谈谈我国发展网络计算机的前途。
答案略。
第3章 程序设计语言
一、选择题
1. A 2. A 3. D 4. A 5. AB
6. C. 7. D. 8. B 9. D 10. D
11. A 12. B 13. ABD 14. D 15. C
16. A 17. D 18. D 19. D 20. A
-
源程序:
源程序指未编译的按照一定的程序设计语言规范书写的文本文件,是一系列人类可读的计算机语言指令。
源程序不能直接在计算机上执行,需要用“编译程序”将源程序编译为二进制形式的代码。
目标程序:
源程序经过“编译程序”编译所得到的二进制代码称为目标程序
目标程序指源程序经编译可直接被计算机运行的机器码集合,在计算机文件上以
.obj
作扩展名可执行程序
可执行程序:将所有编译后得到的目标模块连接装配起来,在与函数库相连接成为一个整体,生成一个可供计算机执行的目标程序,成为可执行程序。
简单来说,可执行程序是目标程序与库函数连接,形成的完整的可在操作系统下独立执行的程序
可执行程序的扩展名为“.exe”(在dos/windows环境下)。
二、简答题
1.简述程序的概念。
答:一个程序就是能够实现特定功能的一组指令序列的集合。或者程序=算法+数据结构。
2.简述程序设计语言的发展阶段。
答:经历了机器语言、汇编语言和高级语言三个发展阶段。
机器语言又称面向机器的语言,是特定的计算机硬件系统所固有的语言,是CPU唯一能够真正不经过翻译而直接识别和执行的语言。相比而言,其他任何语言编写的程序都必须最终转换成机器语言以后才能在CPU上执行。
由于二进制编码形式的机器指令不便于记忆和使用,人们很快引入了便于记忆、易于阅读和理解、由英文单词或其缩写符号表示的指令,称为汇编指令,又称符号指令或助记符。利用汇编指令编写得到的程序称为汇编语言程序。
通过引入汇编语言,在一定程度上解决了低级语言程序设计的问题,之后又出现了程序的“可移植性”问题,即程序员编写的源程序如何从一台计算机方便地转移到另一台计算机上执行。为了解决这个问题,人们引入了高级语言。
高级语言是一种利用意义比较直观的各种“单词”和“公式”,按照一定的“语法规则”来编写程序的语言,又称为程序设计语言或算法语言。高级语言之所以“高级”,是因为高级语言把很多硬件上复杂费解的概念抽象化了,从而使得程序员可以绕开复杂的计算机硬件的问题、无需了解计算机的指令系统,就能完成程序设计的工作。
3.简述程序设计过程的一般步骤。
答:程序设计的过程一般有四个步骤。
(1)分析问题
在着手解决问题之前,应该通过分析,充分理解问题,明确原始数据、解题要求、需要输出的数据及形式等。
(2)设计算法
算法是解题的过程。首先集中精力于算法的总体规划,然后逐层降低问题的抽象性,逐步充实细节,直到最终把抽象的问题具体化成可用程序语句表达的算法。这是一个自上而下、逐步细化的过程。
(3)编码
利用程序设计语言表示算法的过程称为编码。
(4)调试程序
调试程序包括编译和连接等操作。编译程序将源程序转换为目标程序,它对程序员编写的源程序进行语法检查,程序员根据编译过程中的错误提示信息,查找并改正源程序的错误后再重新编译,直到没有语法错误为止。大多数程序设计语言还要使用连接程序把目标程序与系统提供的库文件进行连接以得到最终的可执行文件。在连接过程中若程序使用了错误的内部函数名,将会引起连接错误。对于经过编译和连接,并最终运行结束的程序,程序员还要对程序执行的结果进行分析,只有得到正确结果的程序才是所需的程序。
4.简述机器语言和汇编语言的共同特点。
答:汇编语言具有一个本质上与机器语言一一对应的指令系统。大多数情况下,一条汇编指令直接对应一条机器指令,少数汇编指令对应几条机器指令,所以,汇编语言的实质和机器语言是相同的。与机器指令一样,汇编指令直接针对计算机硬件进行操作,要求程序员具有较为深厚的计算机专业知识;每一条指令只能实现一个非常细微的操作(例如移动、自增),因而源程序一般比较冗长、复杂、容易出错。
5.简述程序设计语言的基本构成元素。
答:程序设计语言的语法元素主要有:字符集、表达式、语句、标识符、关键字和保留字、注释等组成。
6.结构化程序设计的思想是什么?
答:结构化程序设计的基本思想就是采用自顶向下、逐步求精的设计方法和单入口单出口的控制结构。
7.简述高级语言程序的运行过程。
答:使用高级语言编写程序的一般过程可以归纳为以下几个步骤:
(1) 使用文本编辑工具,逐条编写源程序的语句。保存源程序的文件时,文件的后缀名与所用的高级语言有关。
(2) 编译源程序文件,生成目标文件,文件后缀名通常为obj。
(3) 链接目标文件,生成可执行文件,文件后缀名通常为exe。
(4) 在计算机上运行可执行程序,并进行调试和维护。
程序的执行环境由操作系统提供,一般分为命令行环境和图形用户界面环境。在DOS与大多数Unix类操作系统中,提供的就是命令行用户界面,用户需要在系统命令提示符后面输入各种操作命令以实现需要的功能;在Windows操作系统中,提供的是图形用户界面,用户可以通过点击鼠标等操作完成希望的功能。“界面就是程序”反映了在程序设计中为用户提供良好的操作界面的重要性。用户使用界面的好坏直接影响着程序的质量,要树立以人为本的思想,尽量为用户提供便利。
8.简述编译程序的概念。
答:编译程序是把高级语言程序(源程序)作为一个整体来处理,在应用源程序执行之前,就将程序源代码“翻译”成目标代码(机器语言),编译后与系统提供的代码库链接,形成—个完整的可执行的机器语言程序(目标程序代码)。
9.用图示法表示编译程序的框架。
答:编译程序的框架如图所示:
10.简述源程序转化为计算机能够识别的指令的过程。
答:该转化过程即为编译的基本过程,包括词法分析;语法分析;中间代码生成;代码优化;目标代码生成等五个阶段,各阶段有具体的任务。
11.词法分析的任务是什么?
答:作为编译过程的第一个阶段,其任务是从左到右一个字符,一个字符地对源程序进行扫描,读入源程序,对构成源程序的字符流进行扫描和分解,通过词法分析从而识别出一个个单词(也称单词符号或符号)。
12.语法分析的任务是什么?
答:语法分析是编译过程的第二个阶段,任务是在词法分析的基础上将单词序列分解成各类语法短语,如“程序”、“语句”、“表达式”等等。
13.简述语义处理的功能。
答:编译过程中的语义处理实现两个功能:
(1) 审查每个语法结构的静态语义,即验证语法结构合法的程序是否真正有意义,有时把这个工作称为静态语义分析或静态审查。
(2) 如果静态语义正确,则语义处理要执行真正的翻译,要么生成程序的一种中间表示形式(中间代码),要么生成实际的目标代码。
14.简述中间代码的概念。
答:所谓“中间代码”是一种结构简单、含义明确的记号系统,这种记号系统可以设计为多种多样的形式,重要的设计原则为两点:一是容易生成;二是容易将它翻译成目标代码。
15.目标代码生成阶段的任务是什么?
答:目标代码生成阶段的任务是把中间代码变换成特定机器上的绝对指令代码或可重定位的指令代码或汇编指令代码。这是编译的最后阶段,它的工作与硬件系统结构和指令含义有关,这个阶段的工作很复杂,涉及到硬件系统功能部件的运用、机器指令的选择、各种数据类型变量的存储空间分配以及寄存器和后援寄存器的调度等。
16.计算机执行用高级语言编写的程序有哪些途径?它们之间的主要区别是什么?
答:主要有编译、解释等方式,也有两种方式的混合使用的形式。
编译是使用编译器将高级语言编写的源程序转换成计算机可以执行的机器语言可执行程序,也可以理解为用编译器产生可执行程序的动作。编译方式是一次编译,然后执行程序可以反复多次执行。
解释是另一种将高级语言转换为可执行程序的方式。与编译不同,解释性语言的程序不需要编译,省了道工序,解释性语言在运行程序的时候才翻译,每个语句都是执行的时候才翻译。这样解释性语言每执行一次就要翻译一次,效率比较低。
近来随着网络的发展,为了实现跨平台但同时又保证一定的效率,出现了编译、解释混合的方式,先用伪编译形成效率较高中间代码,再用语言虚拟机进行解释执行,以屏蔽掉硬件的差异。
17.基本块的特点有哪些?
答:基本块由一系列的语句组成,这些语句具有如下特点。
(1) 整个程序的在执行指令时只能从第一条语句进入该基本块,不能够以某种方式跳入该基本块的中间。
(2) 基本块内的语句在执行时必须从最后一条语句离开,不能够执行到一半跳转到其它的基本块
17.静态分析的不确定性指的是什么?
(1) 静态分析对内存泄露和并发错误的诊断较差。要检查此类错误,你需要虚拟化执行部分程序。执行是件很困难的事情。此类算法需要耗费过多的内存和处理时间。静态分析通常会在诊断简单案例时进行自我限制。使用动态分析工具来检查内存泄露和并发错误会更加有效。
(2) 静态分析工具会警告你碎片的存在。事实上,代码是正确的。这种现象称为误报。只有程序员才能理解分析器报告的是真正的错误还是误报。审查误报是必要的,这需要耗费一定的时间和精力,而且会影响解决那些真正存在错误的代码片段的注意力。
18.什么是元编程?
元编程是指某类计算机程序的编写,这类计算机程序编写或者操纵其他程序(或者自身)作为它们的数据,或者在运行时完成部分本应在编译时完成的工作。 元编程是用来产生代码和操纵代码的程序,在运行时创建和修改代码而非编程时,这种程序叫做元程序。而编写这种程序就叫做元编程。
19.什么是自由变量?什么是约束变量?
Prolog中把无值的变量称为自由变量,有值的变量称为约束变量。一个变量取了某值就说该变量约束于某值,或者说该变量被某值实例化了。在程序运行期间,一个自由变量可以被实例化而成为约束变量,反之,一个约束变量也可被解除其值而成为自由变量。
三、讨论题
1. 分析面向对象与面向过程的区别,它们各自有什么有特点?
答案略。
2. 作为一名计算机专业的学生,程序设计语言是大学学习的重要内容之一,而程序设计语言的更新很快,如何才能学好程序设计语言?
答案略。
3. 根据你的理解,谈谈在学习程序设计语言的过程中,最重要的注意事项是什么?
答案略。
第4章 软件开发基础
一、选择题
1. A 2.D 3. A 4. A 5. D 6. C
7. B 8. C 9. D 10. B 11. C 12. B
- 结构化方法不包括系统测试阶段的 结构化测试
- 归并法 不术语软件测试策略
二、简答题
1. 什么是数据结构?数据的物理结构有哪些?
答:数据结构是指数据元素之间的相互关系的集合,包括了数据的逻辑结构、物理结构以及数据的运算。
数据的物理结构主要有四种,分别是顺序结构、链表结构、索引结构及散列结构。
(1) 顺序结构:是把所有元素存放在一片连续的存储单元中,逻辑上相邻的元素存储在物理位置相邻的存储单元中,由此得到的存储表示称为顺序存储结构。
(2) 链表结构:对逻辑上相邻的元素不要求其物理位置相邻,元素间的逻辑关系通过附设的指针域来表示,由此得到的存储表示称为链式存储结构。
(3) 索引结构:每个数据结构建立索引表,每个数据元素占用表中的一项,每个表项通常包含关键字和地址指针。其中的关键字是能够惟一标志一个数据元素的数据项。
(4) 散列结构:通过构造相应的散列函数,由散列函数的值来确定元素存放的地址。
2. 从互联网上面搜索选择结构的使用方式。
答案略。
3. 简述模块化方法的原理。
答:模块化方法是一种传统的软件开发方法,该方法通常是将待开发软件划分为一些功能相对独立的模块,模块与模块之间定义相应的接口,各个模块是可以分别单独开发、调试、运行和测试的,然后,再将多个模块组合起来,进行软件的整体测试,从而完成整个软件的开发。
在自上而下、逐步细化的过程中,把复杂问题分解成一个个简单问题的最基本的方法就是模块化,按照功能或层次结构把一个问题划分为几个模块,然后对每个模块做进一步细化。一个复杂的问题可以划分为多个简单问题的组合,这样的划分包括两个方面:一方面是把问题细化为若干模块组成的层次结构;另一方面是把每一个模块的功能进一步细化,分解成为一个个更小的子模块,直到分解成一个个程序语句为止。模块化便于问题的分析,同时也有利于程序设计以及软件工程中的组织与合作,按照模块作为工作划分的依据,各个模块可以独立地进行开发、测试和修改。
4. 什么是统一建模语言?
答:统一建模语言(UML)是非专利的第三代建模和规约语言。UML是一种开放的方法,用于说明、可视化、构建和编写一个正在开发的、面向对象的、软件密集系统的制品的开放方法。UML展现了一系列最佳工程实践,这些最佳实践在对大规模,复杂系统进行建模方面,特别是在软件架构层次已经被验证有效。
5. 简述语法错误和语义错误的区别。
答:语义错误又称逻辑错误,在编译阶段不会被发现。往往是运行结果错误,代码的逻辑有问题,但是编译一般会运行正常。
语法错误在编程环境下,在编译期会被发现。在编程语言中,语法错误一定只在编译期时出现,编译器所有语法都正确,才能够正确编译;例如编写代码时,少了一个括号就相当于一个语法错误。
三、讨论题
1. 在进行程序设计时,语言的选择尤为重要,根据你对程序设计语言的了解,谈谈你对程序设计的认识。
答案略。
2. 如何才能选择一个好的数据结构进行程序设计。
答案略。
3. 软件开发人员为什么需要学习和了解软件开发工具?
答案略。
第5章 算法与复杂性
一、选择题
1. A 2. A 3. C 4. D 5. A
6. A 7. D 8.C 9.C 10.C
11.B 12.B 13.B 14.D 15.B
16.A 17.A
二、简答题
1. 什么是算法,算法的描述工具有哪些?
答:“算法(Algorithm)是一组明确的、可以执行的步骤的有序集合,它在有限的时间内终止并产生结果”。算法的特性有:自然语言、流程图、伪代码。
2. 什么是算法的时间复杂度和空间复杂度,如何表示?
答:时间复杂度是与求解问题规模、算法输入相关的函数,该函数表示算法运行所花费的时间。记为,T(n),其中,n代表求解问题的规模。
算法的空间复杂度(Space complexity)度量算法的空间复杂性、即执行算法的程序在计算机中运行所占用空间的大小。简单讲,空间复杂度也是与求解问题规模、算法输入相关的函数。记为,S(n),其中,n代表求解问题的规模。
时间复杂度和空间复杂度同样,引入符号“O”来表示T(n)、S(n)与求解问题规模n之间的数量级关系。
3. 用图示法表示语言处理的过程。
答:语言处理的过程如图所示:
4. 简述递归算法的基本过程。
答:一般来说,递归需要有边界条件、递归前进段和递归返回段。当边界条件不满足时,递归前进;当边界条件满足时,递归返回。
5. 简述算法设计的策略。
6. 简述递归算法的基本思想
答:递归算法就是不断调用自身,直到得到想要的结果。其思路是把一个大问题转化为规模很小的子问题,这些子问题性质一样,可以采用同一种方式处理,通过解决小问题来达到解决大问题的目的。
- 简述分析贪心算法与动态规划算法的异同。
答:贪心算法和动态规划算法都要求问题具有最优子结构性质,这是两类算法的一个共同点。动态规划算法通常以自底向上的方式解各自问题,而贪心算法则通常解自顶向下的方式进行,以迭代的方式做出相继的贪心选择,每做一次贪心选择就将所求问题简化为规模更小的子问题。
8. 什么是P问题和NP问题?
答:P类问题(Polynomial Problems):所有能用多项式时间算法计算得到结果的问题,称为多项式问题,也就是P(polynomial)。
NP类问题(Non-Deterministic Polynomial Problems):NP问题是指存在多项式算法能够验证的非决定性问题;
三、讨论题
1. 算法是程序设计的基础,没有好的算法,就不可能写出好的程序,但是,学习算法涉及到很多交叉学科的知识,怎样才能把这些知识融会贯通,写出优秀的程序?
答案略。
2.算法设计非常复杂,如何才能设计优秀的算法?
答案略。
3. 现在想要完全验证某些复杂程序(如自动驾驶中的控制算法)的正确性几乎是不可能的。当这些程序对人们的生命财产安全造成损害时,程序的开发者是否应该对错误负责?
答案略。
第6章 信息管理
一.选择题
1.C 2.D 3.C 4.B 5.A
6.C 7.A 8.C 9. D
二.简答题
1.简要说明一个DBMS的组成部分。
答:DBMS通常由四部分组成,也是DBMS要完成的功能:
(1)数据定义语言DDL及其翻译处理程序:定义数据库中的数据对象。
(2)数据操纵语言DML及其编译(或解释)程序:实现对数据库的查询、插入、删除、修改等操作。
(3)数据库运行控制程序:实现对数据库的统一管理和控制,从而保证数据的安全性、完整性,并对数据并发访问进行控制,完成数据库的故障恢复等功能。
(4)实用程序:完成数据库的建立与维护、数据格式的转换与通信、数据库的转储等功能。
2.使用数据库系统有什么好处?
答:采用数据库系统管理数据具有如下好处:
(1)数据结构化
(2)数据共享性高、冗余度低
( 3)数据独立性高
(4)数据存取粒度小
(5)数据由DBMS集中管理
(6)为用户提供了友好的接口因此,在目前的数据管理中均采用数据库系统进行管理,这也是由于数据库系统与人工管理或文件管理相比更加有优势。
3.请简述什么是超文本和超媒体技术?
答:超文本是一种信息管理技术,也是一种电子文献形式。超文本不是顺序的而是一个非线性的网状结构,它把文本按其内部固有的独立性和相关性划分成不同的基本信息块,称为节点(Node)。以节点作为信息的单位。一个节点就可以是一个信息块,也可以是若干节点组成一个信息块。在超文本数据库内部,节点之间用链(Link)连接起来形成网状结构。超文本主要是以文字的形式表示信息,建立的链接关系主要是文句之间的链接关系;超媒体除了可以使用文本外,还可以使用图形、图像、声音、动画或影视片段等多种媒体来表示信息,建立的是文本、图形、图像、声音、动画、影视片段等媒体之间的链接关系。
答:数据库管理系统位于用户与操作系统之间的一层数据管理软件
(1)数据定义功能:DBMS提供数据定义语言(DDL),用户可以通过DDL定义数据对象
(2)数据组织、存储和管理
(3)数据操纵功能:DBMS提供数据操纵语言(DML),实现对数据库的增删改查
(4)数据库的事务管理和运行管理功能:这是DBMS运行时的核心部分,包括并发控制,安全性检查,完整性约束条件的检查和执行,发生故障后的恢复。
(5)数据库的建立和维护功能:包括数据库初始数据的输入及转换,数据库的转储与恢复,数据库的重组和性能的监视与分析等。
答:(1)人工管理阶段:
1)数据不保存
2)数据不共享
3)数据不具有独立性
4)应用程序管理数据
(2)文件系统阶段:
1)数据长期保存
2)数据共享性差、冗余度大
3)数据独立性差:物理独立性逻辑独立性均差
4)由文件系统管理数据
(3)数据库系统阶段;
1)数据结构化
2)数据的共享性高、冗余度低、易扩充
3)数据独立性高
4)由DBMS统一运行管理和控制
答:概念:又称信息模型,从用户的观点来对数据和信息建模。
作用:
(1)用于信息世界的建模
(2)是现实世界到机器世界的一个中间层次
(3)是数据库设计的有力工具
(4)是数据库设计人员与用户交流的语言
三.讨论题
1. 信息系统是提供信息、辅助人们对环境进行控制和决策的系统。借助数据仓库,人们利用一些相关技术来实现使用信息系统,谈谈你所了解的信息管理技术。
答案略。
2. 近年来,数据挖掘引起了信息产业界的极大关注,其主要原因是存在大量数据,可以广泛使用,结合你的经历谈谈数据挖掘技术在生活中的应用。
答案略。
3. 在当今时代,每天产生的海量数据促使企业数据库的数据承载量不断增加,企业的各项数据都能得以完整保存。谈谈智能化数据库给当今社会带来的影响有哪些?
答案略。
第7章 基于平台的开发
一、选择题
1. A 2. A 3. A 4. D 5. B
6. B 7. C 8. C
二、简答题
1. 静态网页和动态网页的区别?
答:静态网页是不能随时改动的,静态是一次性写好放在服务器上浏览的,如果想改动必须在页面上改动,然后再上传服务器覆盖原来的页面,这样才能更新信息, 比较麻烦使用者不能随时修改。动态网页是可以随时修改内容的,有前后台之分,管理员可以在后台随时更新网站内容,前台页面也会随之改变。
2. 简述SaaS和传统软件产品的区别。
答:(1) 开发模式和交互模式的区别。SaaS是厂家先把软件安装在自己的服务器上,然后其他使用者只需通过互联网接入便可,无需耗费磁盘以及服务器空间等资源;而传统软件是通过磁盘等固体介质或者软件下载安装传播的,并且软件需要安装到使用者的电脑上,这使得其开发模式非常的耗用资源。
(2) 盈利模式的区别。传统软件生产商最主要的盈利模式便是通过销售软件产品来盈利;而SaaS则是租赁制。
(3) 部署时间快慢的区别。传统软件在部署方面往往需要花上较长的时间才能为公司专门定制一套真正适用的系统;而SaaS部署时间就很快,有的软件比如针对报销审批这一特定功能的部署甚至只需要一周。
(4) 适用时间和空间的区别。传统软件的使用时间和空间,很多都受限于服务器或者软件安装的地址;而SaaS类软件只需要你有网络即可随时随地使用。
(5) 数据安全性的区别。传统的软件是安装在用户自己的服务器下,相关的数据可控,所以安全性高;而SaaS的数据是存放在厂商服务器上的,数据的隐私性以及安全性都将受到较大的考验。所以在安全性这块,SaaS是处于劣势的。
(6) 环境需求变化的区别。
3. 简述Objective-C和C语言的区别。
答:(1)性质不同
Objective-C,通常写作ObjC或OC和较少用的Objective C或Obj-C,是扩充C的面向对象编程语言。C语言是一门面向过程、抽象化的通用程序设计语言,广泛应用于底层开发。
(2)特点不同
Objective-C是非常实用的语言。它是一个用C写成很小的运行库,令应用程序的尺寸增加很小,和大部分OO系统使用极大的VM执行时间会取代了整个系统的运作相反。C语言是一种结构化语言,它有着清晰的层次,可按照模块的方式对程序进行编写,十分有利于程序的调试,且C语言的处理和表现能力都非常的强大。
4. 请简述 CSS 和 HTML 的关系。
答:HTML是网页内容的载体。内容就是网页制作者放在页面上想要让用户浏览的信息,可以包含文字、图片、视频等。CSS样式是表现。就像网页的外衣。比如,标题字体、颜色变化,或为标题加入背景图片、边框等。所有这些用来改变内容外观的东西称之为表现。
三、讨论题
1. 近年来游戏平台不断扩大,为游戏的开发提供了便利。试讨论你所熟知的游戏平台以及它们的特点。
答案略。
2. 随着互联网技术的不断发展,编程语言百花齐放,试简述你所熟知的编程的语言,并简述其特点。
答案略。
3. 讨论Web标准对软件开发的影响。
答案略。
4. 讨论给定工业平台给开发者带来的约束。
答案略。
第8章 软件工程
一、选择题
1. D 2. B 3. C 4. B 5. C 6. D
7. B 8. C 9. C 10. C 11. B 12. CD
二、简答题
1. 什么叫软件工程?
答:软件工程是研究大规模程序设计的方法、工具和管理的一门工程科学,也就是运用系统的、规范的和可定量的方法来开发、运行和维护软件的系统工程。软件工程是—门交叉学科,涉及到计算机科学、管理科学、工程学和数学。软件工程的理论、方法、技术都是建立在计算机科学的基础上,它是用管理学的原理、方法来进行软件生产管理;用工程学的观点来进行费用估算、制定进度和实施方案;用数学方法来建立软件可靠性模型以及分析各种算法和性质。软件工程是指导计算机软件开发和维护的工程学科。
2. 简述软件工程过程。
答:软件工程过程包含如下7个过程。
(1) 获取过程:获取过程为需方按合同获取一个系统、软件产品或服务的活动。
(2) 供应过程:供应过程为供方向需方提供合同中的系统、软件产品或服务所需的活动。
(3) 开发过程:开发过程为开发者和机构为了定义和开发软件或服务所需的活动。引过程包括需求分析、设计、编码、集成、测试、软件安装和验收等活动。
(4) 操作过程:操作过程为操作者和机构为了在规定的运行环境中为其用户运行一个计算机系统所需要的活动。
(5) 维护过程:维护过程为维护者和机构为了管理软件的修改,使它处于良好运行状态所需要的活动。
(6) 管理过程:管理过程为软件工程过程中各项管理活动,包括项目开始和范围定义;项目管理计划;实施和控制,评审和评价;项目完成。
(7) 支持过程:支持过程对项目的生存周期过程给予支持。它有助于项目的成功并能提高项目的质量。
3. 简述软件生存周期。
答:软件生存周期是指一个软件从提出开发要求开始直到该软件报废为止的整个时期。通常,软件生存周期包括可行性分析和项目开发计划、需求分析、概要设计、详细设计、编码、测试、维护等活动,可以将这些活动以适当方式分配到不同阶段去完成。
4. 简述需求分析的作用。
答:需求分析是介于系统分析和软件设计阶段之间的桥梁。一方面,需求分析以系统规格说明和项目规划作为分析活动的基本出发点,并从软件角度对它们进行检查与调整;另一方面,需求规格说明又是软件设计、实现、测试直至维护的主要基础。
良好的分析活动有助于避免或尽早剔除早期错误,从而提高软件生产率,降低开发成本,改进软件质量。
5. 简述软件质量保证的含义。
答:软件的质量保证就是向用户及社会提供满意的高质量的产品,确保软件产品从诞生到消亡为止的所有阶段的质量活动,即确定、达到和维护需要的软件质量而进行的所有有计划、有系统的管理活动。
6. 简述软件验证和确认的区别。
答:(1) 关注点不同。软件验证的关注点为生产活动的输出是否正确地满足其输入;软件确认的关注点为产品或产品组件是否能够在其预期的环境中满足其预期的应用。
(2) 导向不同。软件验证以过程为导向;软件确认以结果为导向。
(3) 收尾不同。软件验证的收尾是对选定的工作产品实施同行评审;软件确认的收尾是对选定的工作产品实施用户确认。
7. 简述容错软件的含义。
答:容错软件的定义,有以下4种:
(1) 规定功能的软件,在一定程度上对自身错误的作用(软件错误)具有屏蔽能力,则称此软件为具有容错功能的软件,即容错软件。
(2) 规定功能的软件,在一定程度上能从错误状态自动恢复到正常状态,则称之为容错软件。
(3) 规定功能的软件,在因错误而发生错误时,仍然能在一定程度上完成预期的功能,则把该软件称为容错软件。
(4) 规定功能的软件,在一定程度上具有容错能力,则称之为容错软件。
8. 简述集成测试的策略。
答:集成测试的策略通常分为两种:非增量式集成测试策略和增量式集成测试策略。非增量式集成测试策略是在最短的时间内把所有的系统组件一次性集成到被测系统中,并通过最少的用例来验证整个系统,不考虑各组件之间的相互依赖性或者可能存在的风险;增量式集成测试策略有自顶向下集成、自底向上集成以及三明治集成等,该策略最大的特点是:支持故障隔离、定位问题。
9. 简述形式化方法的优点。
答:形式化方式指的是将离散数学的方法用于解决软件工程领域的问题,主要是建立精确的数学模型以及对模型的分析活动。在软件开发中运用数学模型有很多优点,例如能够解决规格说明的二义性,提高精确性,还能使软件相关问题的本质在不同抽象层次被显示出来。
三、讨论题
1. 软件是计算机的灵魂,用软件工程的方法来保证软件开发过程的顺利进行有哪些好处?
答案略。
2. 学习了软件工程后,你觉得在哪些方面的收获最大?
答案略。
3. 讨论不同类型的软件重用的优点和缺点。
答案略。
第9章 操 作 系 统
一.单项选择题
1. D 2. D 3. D 4. D 5. C
6. D 7. B 8. C 9. B 10. D
11. A 12. D 13. A 14. D 15. D
二.简答题
1. 操作系统安全性的主要包括哪些内容?
答:安全策略:描述一组用于授权使用其计算机及信息资源的规则。
安全模型:精确描述系统的安全策略,它是对系统的安全需求,以及如何设计和实现安全控制的一个清晰、全面的理解和描述。
安全机制:实现安全策略描述的安全问题,它关注如何实现系统的安全性,包括认证机制(Authentication)、授权机制(Authorization)、加密机制(Encryption)、审计机制(Audit)和最小特权机制(Least Privilege)等。
2. 操作系统通常有哪些类型?分别有什么特点?
答:最常见的是按照操作系统的性质来划分的类型:分为批处理操作系统、分时操作系统、实时操作系统、网络操作系统、嵌入式操作系统。
批处理系统的主要特点是系统吞吐量大、系统资源利用率较高、平均作业周转时间(作业从提交到结果输出的时间)较长,系统无交互力。
分时系统中往往支持多道程序执行,尽管如此,各运行任务具有独立性,互不影响;由于将处理机分时使用,使得用户与系统的及时交互成为可能,因此,分时系统具有较好的交互性;同时,系统资源利用率也得到了很大的提高。
实时系统具有事件驱动的特点,往往是由外部事件来触发系统的响应;实时系统要求的响应时间很短,以便及时响应事件,从而保证整个系统的实时性和高可靠性。
网络操作系统要求组成网络的各台计算机物理分散且高度自治,各计算机都有各自的软、硬件资源,系统的主要目的是共享网络资源、信息交换和协作。
嵌入式操作系统具有普通计算机具有的通常功能,但同时具有实时系统的特征,通常是更小的具有一定硬件控制功能的系统。
3. 网络操作系统的功能有哪些?
网络操作系统与通常的操作系统有所不同,它除了具有通常操作系统应具有的处理机管理、存储器管理、设备管理和文件管理外,还应具有以下两大功能:提供高效、可靠的网络通信能力;提供多种网络服务功能,如远程作业录入并进行处理、文件转输、电子邮件、远程打印等服务功能。
4. 系统性能评价目的是什么?
(1) 在一定的价格范围内选择性能最好的系统(或方案),以达到较好的性价比。
(2) 对已有系统的性能缺陷进行改进,以便提高其运行效率。
(3) 对未来设计的系统进行性能预测,在性能成本方面实现最佳设计或配置。
5. 什么是并发?并行与并发的区别与联系是什么?
答:并发通常指多个任务可以在同一个时间段内同时执行,即允许多个任务在宏观上并行,微观上仍然是串行的(对于单CPU系统而言)。
并行指的是多个任务真正意义上的同时执行,换言之,多个任务可以在同一个时刻同时执行。
并发系统只能够是宏观上并行、微观上串行执行;而并行则在微观执行上也是并行的。只有在多处理机系统中,任务的并行执行才是可能的。并行系统往往也可以支持任务的并发执行。
6. 操作系统的设计要素主要需要考虑哪些方面?
答:操作系统的设计要素除了考虑操作系统结构外,还要考虑可靠性、共享性、随机性、吞吐量、可移植性、安全性。
7. 目前主流操作系统有哪些?它们的特点是什么?
答:目前主流操作系统有Windows、UNIX 、Linux等。
Windows操作系统特点:统一的窗口和操作风格、丰富的应用程序与应用开发工具、事件驱动程序的运行方式、多任务的图形化用户界面、支持网络及多媒体技术、丰富的应用程序接口、广泛的硬件支持。
UNIX操作系统特点:多用户、多任务、分时,有友好的用户接口,可装卸的树型结构文件系统,设备文件化,较强的可移植性。
Linux操作系统特点:友好的用户接口,超强的可移植性,灵活的模块化设计,强大的通信及网络功能,强大的健壮性。
8. 罗列出你所常用的输入输出设备,它们的作用分别是什么?
答案略。
9. 你目前使用的计算机操作系统是什么?它的特点是什么?
答案略。Windows、Linux、Unix、Mac OS等。
10. 为计算机设计操作系统要达到什么目的?设计时应考虑哪些目标?
答:操作系统是一种系统程序,其目的是为其他程序的执行提供一个良好的环境。它有两个主要设计目标:一是使计算机系统使用方便,二是使计算机系统能高效地工作。
11. 何谓分布式操作系统?
答:分布式操作系统指的是物理上分布且通过通信线路连接起来的多个自治的计算机系统构成的一个完整的系统,主要负责管理分布式处理系统资源和控制分布式程序运行,通过共享资源、加强通信、负载平衡来提高系统的效率。
12. 简述操作系统的层次结构。
答:操作系统分为系统层、管理层和应用层。内层为系统层,具有初级中断处理、外部设备驱动、处理机调度以及实时进程控制和通信的功能。系统层外是管理层,包括存储管理、I/O处理、文件存取、作业调度等。起初,操作系统只是设计成能够执行重复操作的任务,这些任务以管理文件、运行程序和从用户接收命令为中心。文件是存放于硬盘、软盘、磁带等存储设备上的电子数据或程序。大多数用户需要计算机执行诸如从磁盘驱动器上读取和写入文件或在打印机上打印文件等任务。如果没有操作系统,用户需要生成并运行一个程序以完成这些工作。然而,在操作系统中,用户则可以通过简单地向操作系统发送一条指令来执行这种任务。在操作系统中已经包含了从磁盘读取文件的重复操作的设计。
最外层是应用层,是接收并解释用户命令的接口,这个用户接口允许用户与操作系统交互。有些操作系统的用户界面只允许输入命令行,而有些则可以通过菜单和图标来实现。操作系统也管理应用软件,这些应用软件是用于编辑文档或科学计算等任务的一些特殊的应用程序。编辑器就是一个典型的应用程序例子,用它可以编辑文档,改变或增加文本。编辑器本身是一个包含一系列指令的程序,要使用这个程序,应首先把它加载到计算机内存中,然后它的指令被执行。操作系统控制着所有程序和应用软件的加载和执行。
13. 什么是文件系统,文件系统由哪几部分组成?
答:系统中负责管理和存储文件信息的软件机构称为文件管理系统,简称文件系统。文件系统由三部分组成:与文件管理有关的软件、被管理的文件以及实施文件管理所需的数据结构。
14. Unix进程与通常操作系统的进程有何不同?
答案略。
三.讨论题
1. 在平时使用的操作系统中,如何认识进程?为什么在操作系统中要引入这个概念而不用程序这个概念?
答案略。
2. 操作系统是否功能越强大、使用越简单就越好?为何现实世界有多种不同的操作系统存在,为什么不统一为一个操作系统,这样不是会省去很多麻烦吗?
答案略。
3. 你使用的计算机是什么系统,在这个系统中,多个程序是怎样进行运行的,会出现冲突吗?
答案略。
4. 嵌入式操作系统有哪些优势?
答案略。
第10章 网 络 与 通 信
一.选择题
1. B 2. B 3. A 4. C 5. A
6. A 7. ABCD 8. B 9. D 10. C
11. B 12. B 13. D 14. D 15. B
16. C 17. B 18. B
二.简答题
1.ISP和ICP所提供的服务有哪些?
答:互联网服务提供商(Internet Service Provide,ISP)指的是面向公众提供下列信息服务的经营者:一是接入服务,即帮助用户接入互联网;二是导航服务,即帮助用户在互联网上找到所需要的信息;三是信息服务,即建立数据服务系统、收集、加工、存储信息、定期维护更新,并通过网络向用户提供信息内容服务。根据提供覆盖面积大小以及拥有IP地址数目的不同,ISP也分为不同层次的ISP即主干ISP、地区ISP和本地ISP。
互联网内容提供商(Internet Content Provider,ICP)即向广大用户综合提供互联网信息业务和增值业务的运营商。ICP是经国家主管部门批准的正式运营企业,享受国家法律保护。ICP提供的产品就是网络内容服务,包括搜索引擎、虚拟社区、电子邮箱、新闻娱乐等。ICP可以允许专线、拨号上网等各种方式访问该服务提供商的服务器,提供各种类型的信息服务
2.什么是主机,路由器和交换机?
答:主机是由两台以上的计算机及终端设备组成的,其中部分主机充当服务器,部分主机充当客户机,处在网络边缘部分就是连接在互联网上的所有主机,这些主机又称为端系统。端系统的拥有者可以是个人,也可以是单位,当然也可以是某个互联网服务提供商。边缘部分利用核心部分所提供的的服务,使众多主机之间能够互相通信并交换或共享信息。
路由器是连接两个或多个网络的硬件设备,在网络间起网关的作用,是读取每一个数据包中的地址然后决定如何传送的专用智能性的网络设备。路径的选择就是路由器的主要任务,路径选择包括两种基本的活动,即最佳路径的判定和网间信息包的传送(交换)。
交换机就是一种可以作为网桥的设备,用来进行报文交换的机器。它和集线器最重要的区别为集线器是物理层设备,采用广播的形式来传输信息。交换机多为链路层设备(二层交换机),能够进行地址学习,采用存储转发的形式来交换报文。它和路由器的区别在于路由器有DDN、ADSL等接口,而交换机只有以太网接口。
3.简述分组交换。
答:分组交换采用存储转发的技术,把来自用户的信息暂存于存储装置中,并划分为多个一定长度的分组,每个分组前边都加上固定格式的分组标记(Lable),用于指明该分组的发端地址、收端地址及分组序号等,然后再根据地址转发分组。分组在各交换节点之间传送比较灵活,交换节点不必等待整个报文的其他分组到齐,而是一个分组、一个分组地转发。这样可以大大压缩节点所需的存储容量,也缩短了网路时延。另外,较短的报文分组比长的报文可大大减少差错的产生,提高了传输的可靠性。但分组交换也有缺点,分组存储转发时,会产生时延;携带控制信息会增加开销(Overhead);分组交换网还需要专门的管理和控制机制。
4.什么是 Socket 套接字?Socket 套接字作用什么,可以将其分为哪几种?
答:网络套接字(Socket)是一个抽象层,应用程序可以通过它发送或接收数据,可对其进行像对文件一样的打开、读写和关闭等操作。套接字允许应用程序将I/O插入到网络中,并与网络中的其他应用程序进行通信。
分为流式套接字、数据报套接字和原始套接字三种套接字。
5.简述动态路由和静态路由的区别。
答:动态路由是指路由器能够自动地建立自己的路由表,并且能够根据实际情况的变化适时地进行调整。即路由器能够根据路由器之间的交换的特定路由信息自动地建立自己的路由表,并且能够根据链路和节点的变化适时地进行自动调整。当网络中节点或节点间的链路发生故障,或存在其它可用路由时,动态路由可以自行选择最佳的可用路由并继续转发报文。
静态路由一种路由的方式,路由项由手动配置,而非动态决定。与动态路由不同,静态路由是固定的,不会改变,即使网络状况已经改变或是重新被组态。一般来说,静态路由是由网络管理员逐项加入路由表。
6.简述TCP/IP协议的体系结构。
答:TCP/IP(传输控制协议/网际协议)是Internet赖以存在的基础,Internet中计算机之间通信必须共同遵循的TCP/IP通信规定。TCP/IP的体系结构如图所示。
TCP/IP的体系结构图
(1)网络接口层是TCP/IP协议的最底层,用于负责网络层与硬件设备间的联系。这一层的协议非常多,包括逻辑链路和媒体访问控制。
(2)网际层主要解决的是计算机到计算机之间的通信问题,包括的功能有处理来自传输层的分组发送请求,收到请求后将分组装入IP数据报,填充报头,选择路径,然后将数据发往适当的接口;处理数据报;处理网络控制报文协议,即处理路径、流量控制、阻塞等。
(3)传输层用于解决计算机程序到计算机程序之间的通信问题。
(4)应用层提供一组常用的应用程序给用户。在应用层,用户调节访问网络的应用程序,应用程序与传输层协议配合,发送或接收数据。
7.简述IP地址。
答:每台计算机或路由器都有一个由授权机构分配的号码,称为IP地址。IP地址能够惟一地确定Internet上每台计算机。由32位二进制数组成地址称为IPv4地址,在实际应用中,将这32位二进制数分成4段,每段包含8位二进制数。
8.Internet提供的主要服务有哪些?
答:Internet提供的主要的服务有:WWW服务、电子邮件服务、文件传输服务、远程登录服务。
9.简述域名系统。
答:由于IP地址很难记忆,为了使用和记忆方便,因特网还采用了域名管理系统,简称DNS(Domain Name System)。域名系统与IP地址的结构一样,也是采用层次结构。任何一个连接在因特网上的主机或路由器,都有一个惟一的层次结构的名字,即域名。域名的结构由若干个分量组成,顶级域名放在最右面,各分量之间用“.”隔开:···.三级域名.二级域名.顶级域名。
10.TCP/IP的核心理念是什么?
答:TCP/IP的核心思想就是“网络互联”,将使用不同低层协议的异构网络,在传输层、网络层建立一个统一的虚拟逻辑网络,以此来屏蔽所有物理网络的硬件差异,从而实现网络的互联。
11.经典以太网与原始以太网的区别是什么?
答:经典以太网是以太网的原始形式,运行速度从3Mbps到10Mbps不等;而交换式以太网正是广泛应用的以太网,可运行在100Mbps、1000Mbps和10000Mbps那样的高速率,分别以快速以太网、千兆以太网和万兆以太网的形式呈现。
12.简述蜂窝网络。
答:蜂窝网络主要由以下三部分组成:移动站、基站子系统和网络子系统。移动站就是网络终端设备,比如手机或者一些蜂窝工控设备。基站子系统包括日常见到的移动基站、无线收发设备、专用网络、无数的数字设备等,可以把基站子系统视为无线网络与有线网络之间的转换器。网络子系统主要是放置计算机系统设备,交换机、程控交换机楼宇自控中心设备,音响输出设备,闭路电视控制装置和报警控制中心等。常见的蜂窝网络的类型包括分布式蜂窝网络和蜂窝移动电话。
14.定下列 IP 地址中哪些是无效的,并说明其无效的原因。
131.255.255.18 127.21.19.109 220.103.256.56
240.9.12.12 192.5.91.255 129.9.255.254 10.255.255.254
答:131.255.255.18 192.5.91.255 129.9.255.254这三个IP无效。不符合IP地址的命名范围。
15.介质访问控制的作用是什么?常用的介质访问控制方法有哪些?
答: 在一个单一共享广播信道, 两个或者两个以上结点同时传输会产生干扰,发生冲突,若结点同时接收到两个或者多个信号,接收失败。
介质访问控制协议采用分布式算法决定结点如何共享信道,即决策结点何时可以传输数据,必须基于信道本身,通信信道共享协调信息。
介质访问控制(MAC)协议按实现方式的不同可以划分为三大类:信道划分介质访问控制协议,随机介质访问控制协,轮询介质访问控制协议。
三.讨论题
1.OSI/RM规定的计算机网络体系结构有七层模型结构,而TCP/IP只有四层或五层模型,试讨论它们的异同点。为什么会有这些变化?
答案略。
2.结合你对计算机网络的认识,谈谈计算机网络(特别是Internet)给人们的生活带来了哪些变化?这些变换有正面的和负面的影响,你是怎样认识的?和同学、老师、周围的人们进行交流,看看他们有什么想法?
答案略。
3.结合你对区块链的认识,谈谈区块链技术在未来的发展趋势。
答案略。
4.结合你对5G网络的认识,谈谈6G网络还能有哪些发展方向?
答案略
第11章 系统基础
一.选择题
1. C 2. B 3. B 4. B 5. B 6. A
7. D 8. C 9. A 10. C
二. 简答题
1.计算范式中计算是指什么,范式是指什么,计算范式怎么理解?
答:计算是指使用计算机硬件对输入数据进行处理,获得输出。范式一般指一种风格,具有特定的特点计算范式就是和某种用于执行计算任务的硬件结构相适应的计算风格。
2. 什么是时间上的并行与空间上的并行?
答:时间上的并行指的是流水线技术;而空间上的并行值的是多个处理机并发的执行计算,即通过网络将两个以上的处理机连接起来,达到同时计算同一个任务的不同部分,或者单个处理及无法解决的大型问题。
3. 流水线的冲突有哪些?如何解决?
答:有数据冲突、控制冲突、结构冲突,解决方案:
(1) 数据冲突的解决方案
① 通过定向技术减少数据冲突引起的停顿。
② 设置流水线互锁机制。
③ 依靠编译器解决数据冲突。
(2) 控制冲突的解决方案
一旦在流水线的译码段ID检测到分支指令,就暂停执行后边的所有指令,直到分支指令到达MEM段、确定是否成动并计算出新的PC值为止。
(3) 结构冲突的解决方案
① 可以在前一个指令访问存储器时,将流水线停顿一个时钟,推迟后面取指令的操作,停顿周期称为“流水线气泡”。
② 在流水线处理机中设置相互独立的指令。
4.评估的性能指标有哪些?
答: 时钟频率(主频)、高速缓存、运算速度、运算精度、内存的存储容量、存储器的存取周期、响应时间等。
5. 如何提高并行性?
答:(1) 时间重叠:相邻处理过程在时间上错开,轮流重叠使用同一套硬件的各部分。(2) 资源重复:重复设置硬件资源提高可靠性和性能。(3) 资源共享:让多个用户按照一定的时间顺序轮流使用同一套资源,提高资源利用率。
6.状态机的四要素是什么?
答:(1) 现态:是指当前所处的状态。(2) 条件:又称为“事件”,当一个条件被满足,将会触发一个动作,或者执行一次状态的迁移。(3) 动作:条件满足后执行的动作。动作执行完毕后,可以迁移到新的状态,也可以仍旧保持原状态。动作不是必需的,当条件满足后,也可以不执行任何动作,直接迁移到新状态。(4) 次态:条件满足后要迁往的新状态。“次态”是相对于“现态”而言的,“次态”一旦被激活,就转变成新的“现态”了。
“现态”和“条件”是因,“动作”和“次态”是果。
7. 虚拟化技术的分类有哪些?
答:(1)网络虚拟化
网络虚拟化通常包括虚拟局域网和虚拟专用网。虚拟局域网是其典型的代表,它可以将一个物理局域网划分成多个虚拟局域网,或者将多个物理局域网中的节点划分到一个虚拟局域网中,这样提供一个灵活便捷的网络管理环境,使得大型网络更加易于管理,可以通过集中配置不同位置的物理设备来实现网络的最优化。
虚拟专用网帮助管理员维护IT环境,防止来自内网或者外网中的威胁,使用户能够快速、安全地访问应用程序和数据。目前虚拟专用网在大量的办公环境中使用。
(2)存储虚拟化
存储虚拟化就是为主机创建物理存储资源的过程。通过虚拟化技术,多个存储介质模块(如硬盘、RAID)通过一定的手段集中管理起来,所有的存储模块在一个存储池中得到统一管理。Redundant Array of independent Disk,(RAID)技术是虚拟化存储技术的雏形,目前使用的存储还有Network Attached Storage(NAS)和Storage Area Network(SAN)。
(3)桌面虚拟化
桌面虚拟化技术,维基百科上给出的定义是:“Desktopvirtualization(或者成为Virtual Desktop Infrastructure)是一种基于服务器的计算模型,并且借用了传统的瘦客户端的模型,但是让管理员与用户能够同时获得两种方式的优点:将所有桌面虚拟机在数据中心进行托管并统一管理;同时用户能够获得完整PC的使用体验。桌面虚拟化最大的好处在于能够使用软件从集中位置来配置PC及其它客户端设备,这样方便了企业用户集中管理计算机,运维部门可以在数据中心加强对应用软件、系统补丁、杀毒软件的管理和控制。
(4)表示层虚拟化
在本地计算机显示和操作远程计算机桌面,在远程计算机执行存储信息和程序,一般通过终端服务来实现。
(5)应用虚拟化
在一台计算机上显示和操作计算机桌面,在另一台计算机上执行程序和存储信息。
目前在微软的虚拟化产品线中,已经有了服务器虚拟化、应用虚拟化、桌面虚拟化、表示层虚拟化产品:
8. 什么是冗余编码?
答:冗余码是一种所用符号数或信号码元数比表示信息所必需的数目多的代码,应用了冗余加密技术,即利用了纠错码的编码原理,在加密的文件中加入了大量的冗余信息,从而达到加密的目的。
三. 讨论题
1. 讨论流水线技术对计算机性能的影响。。
答案略。
2. 如何评价一台计算机的性能?
答案略。
第12章 并行和分布式系统
一、选择题
1. D 2. A 3. C 4. A
5. BCD 6. D 7. A
8. B 9. C 10. D
二、简答题
1. 什么叫并行处理?
答:并行处理(Parallel Processing)是计算机系统中能同时执行两个或多个处理的一种计算方法。并行处理可同时工作于同一程序的不同方面。为使用并行处理,首先需要对程序进行并行化处理,也就是说将工作各部分分配到不同处理进程或线程中。
2. 什么叫并行算法?
答:并行算法就是用多台处理机联合求解问题的方法和步骤,其执行过程是将给定的问题首先分解成若干个尽量相互独立的子问题,然后使用多台计算机同时求解它,从而最终求得原问题的解。
并行算法就是在并行机上用很多个处理器联合求解问题的方法和步骤。实际上,在自然界中并行是客观存在的普遍现象,关键问题在于能不能很好的利用。由于人们的思维能力以及思考问题的方法对并行不太习惯,且并行算法理论不成熟,所以总是出现了需求再来研究算法,不具有导向性,同时实现并行算法的并行程序性能较差,往往满足不了人们的需求。
3. 并行计算机是什么?
答:并行计算机是由一组处理单元组成的,这组处理单元通过相互之间的通信与协作,以更快的速度共同完成一项大规模的计算任务。因此,并行计算机的两个最主要的组成部分是计算节点和节点间的通信与协作机制。
4. 简述并行算法的访存模型。
答:并行计算机有五种访存模型:均匀访存模型(UMA)、非均匀访存模型(NUMA)、全高速缓存访存模型(COMA)、一致性高速缓存非均匀存储访问模型(CC-NUMA)和非远程存储访问模型(NORMA)。
5. 简述分布式系统的分类。
答:按地理环境衡量耦合度,分布式系统可以分为机体内系统、建筑物内系统、建筑物间系统和不同地理范围的区域系统等,它们的耦合度依次由高到低按应用领域的性质决定。
面向计算任务的分布并行计算机系统和分布式多用户计算机系统,要求尽可能高的耦合度,以便发展成为能分担大型计算机和分时计算机系统所完成的工作。
面向管理信息的分布式数据处理系统,耦合度可以适当降低。
面向过程控制的分布式计算机控制系统,耦合度要求适中,当然对于某些实时应用,其耦合度的要求可能很高。
6. 简述并行体系结构。
答:并行体系结构是指许多指令能同时进行的体系结构,一般从时间和空间两方面考虑。
并行体系结构出现主要因为随着各个领域对高性能计算的要求越来越高,尤其是多媒体领域大数据量高实时性的需求,使得传统的单处理器体系结构已经很难适应大规模并行计算的需求,于是多处理器并行体系结构逐渐成为研究的热点。
多种级别的并行度现在已经成为计算机设计的推动力量,而能耗和成本则是主要约束条件。应用程序中主要有两种并行:数据级并行(DLP),它的出现是因为可以同时操作许多数据项;任务级并行(TLP),它的出现是因为创建了一些能够单独处理但大量采用并行方式执行的工作任务。
指令级并行在编译器的帮助下,利用流水线之类的思想适度开发数据级并行,利用推理执行之类的思想以中等水平开发数据级并行。向量体系结构和图形处理器(GPU)将单条指令并行应用于一个数据集,以开发数据级并行。线程级并行在一种紧耦合硬件模型中开发数据级并行或任务级并行,这种模型允许在并行线程之间进行交互。请求级并行在程序员或操作系统指定的大量去耦合任务之间开发并行。
7. 简述并行计算模型的作用。
答:并行计算模型是算法设计者与体系结构研究者之间的一个桥梁,是并行算法设计和分析的基础。它屏蔽了并行机之间的差异,从并行机中抽取若干能反映计算特性的可计算或可测量的参数,并按照模型所定义的计算行为构造成本函数,以此进行算法的复杂度分析。
并行计算模型的第一代是共享存储模型,如SIMD-SM和MIMD-SM的一些计算模型,模型参数主要是CPU的单位计算时间。第二代是分布存储模型。在这个阶段,人们逐渐意识到对并行计算机性能带来影响的不仅仅是CPU,还有通信。
8. 简述分布式系统的优缺点。
答:(1)优点
资源共享。若干不同的节点通过通信网络彼此互联,一个节点上的用户可以使用其他节点上的资源,如分布式系统允许设备共享,使众多用户共享昂贵的外部设备,如彩色打印机;允许数据共享,使众多用户访问共用的数据库;可以共享远程文件,使用远程特有的硬件设备(如高速阵列处理器),以及执行其他操作。
加快计算速度。如果一个特定的计算任务可以划分为若干个并行运行的子任务,则可把这些子任务分散到不同的节点上,使它们同时在这些节点上运行,从而加快计算速度。另外,分布式系统具有计算迁移功能,如果某个节点上的负载太重,则可把其中一些作业移到其他节点去执行,从而减轻该节点的负载。这种作业迁移称为负载平衡。
可靠性高。分布式系统具有高可靠性。如果其中某个节点失效了,则其余的节点可以继续操作,整个系统不会因为一个或少数几个节点的故障而全体崩溃。因此,分布式系统有很好的容错性能。系统必须能够检测节点的故障,采取适当的手段,使它从故障中恢复过来。系统确定故障所在的节点后,就不再利用它来提供服务,直至其恢复正常工作。如果失效节点的功能可由其他节点完成,则系统必须保证功能转移的正确实施。当失效节点被恢复或者修复时,系统必须把它平滑地集成到系统中。
通信方便、快捷。分布式系统中各个节点通过一个通信网络互联在一起。通信网络由通信线路、调制解调器和通信处理器等组成,不同节点的用户可以方便地交换信息。在低层,系统之间利用传递消息的方式进行通信,这类似于单CPU系统中的消息机制。单CPU系统中所有高层的消息传递功能都可以在分布式系统中实现,如文件传递、登录、邮件、Web浏览和远程过程调用( Remote Procedure Call,RPC)。
分布式系统实现了节点之间的远距离通信,为人与人之间的信息交流提供了很大方便,不同地区的用户可以共同完成一个项目,通过传送项目文件,远程登录进入对方系统来运行程序,如发送电子邮件等,协调彼此的工作。
尽管分布式系统具备众多优势,但它也有自身的缺点:主要是可用软件不足,系统软件、编程语言、应用程序以及开发工具都相对很少。此外,还存在通信网络饱和或信息丢失和网络安全问题,方便的数据共享同时意味着机密数据容易被窃取。虽然分布式系统存在这些潜在的问题,但其优点远大于缺点,而且这些缺点也正得到克服。
9. 简述云计算的特点。
答:云计算的可贵之处在于高灵活性、可扩展性和高性比等,与传统的网络应用模式相比,其具有如下优势与特点:
(1) 虚拟化技术
虚拟化突破了时间、空间的界限,是云计算最为显著的特点,虚拟化技术包括应用虚拟和资源虚拟两种。众所周知,物理平台与应用部署的环境在空间上是没有任何联系的,正是通过虚拟平台对相应终端操作完成数据备份、迁移和扩展等。
(2) 动态可扩展
云计算具有高效的运算能力,在原有服务器基础上增加云计算功能能够使计算速度迅速提高,最终实现动态扩展虚拟化的层次达到对应用进行扩展的目的。
- 按需部署
计算机包含了许多应用、程序软件等,不同的应用对应的数据资源库不同,所以用户运行不同的应用需要较强的计算能力对资源进行部署,而云计算平台能够根据用户的需求快速配备计算能力及资源。
- 灵活性高
目前市场上大多数IT资源、软件、硬件都支持虚拟化,比如存储网络、操作系统和开发软、硬件等。虚拟化要素统一放在云系统资源虚拟池当中进行管理,可见云计算的兼容性非常强,不仅可以兼容低配置机器、不同厂商的硬件产品,还能够外设获得更高性能计算。
- 可靠性高
服务器故障也不影响计算与应用的正常运行,单点服务器出现故障可以通过虚拟化技术将分布在不同物理服务器上面的应用进行恢复或利用动态扩展功能部署新的服务器进行计算。
- 性价比高
将资源放在虚拟资源池中统一管理在一定程度上优化了物理资源,用户不再需要昂贵、存储空间大的主机,可以选择相对廉价的PC机组成云,一方面减少费用,另一方面计算性能不逊于大型主机。
- 可扩展性
用户可以利用应用软件的快速部署条件来为简单快捷的、将自身所需的已有业务以及新业务进行扩展,如计算机云计算系统中出现设备的故障,对于用来说,无论是在计算机层面上,亦或是在具体运用上均不会受到阻碍,可以利用计算机云计算具有的动态扩展功能来对其他服务器开展有效扩展。这样一来就能够确保任务得以有序完成。在对虚拟化资源进行动态扩展的情况下,同时能够高效扩展应用,提高计算机云计算的操作水平。
10. 简述云计算的应用。
答:较为简单的云计算技术已经普遍应用于现如今的互联网服务中,最常见的就是网络搜索引擎和网络邮箱。其他的包括存储云、医疗云、教育云、金融云等。
三、讨论题
1. 并行算法的基本设计技术有哪些?它们的基本思想是什么?
答案略。
2. 学习并行和分布式计算后,你觉得在哪些方面的收获最大?
答案略。
3. 对于云计算的应用,你有哪些看法,请举例说明。
答案略。
4. 分布式系统具体应用在哪些场景?
答案略。
第13章 信息保障与安全
一、选择题
1. D 2. A 3. D 4. A 5. D
11. D 12. A 13. B 14. D 15. D
二、简答题
1. 防火墙的实现技术有哪两类?防火墙存在的局限性又有哪些?
答:防火墙的实现从层次上可以分为两类:数据包过滤和应用层网关,前者工作在网络层,而后者工作在应用层。防火墙存在的局限性主要有以下七个方面:
(1) 网络上有些攻击可以绕过防火墙(如拨号)。
(2) 防火墙不能防范来自内部网络的攻击。
(3) 防火墙不能对被病毒感染的程序和文件的传输提供保护。
(4) 防火墙不能防范全新的网络威胁。
(5) 当使用端到端的加密时,防火墙的作用会受到很大的限制。
(6) 防火墙对用户不完全透明,可能带来传输延迟、瓶颈以及单点失效等问题。
答:信息安全是建立在网络基础上的现代信息系统,其安全定义较为明确,那就是:保护信息系统的硬件软件及其相关数据,使之不偶然或是恶意侵犯而遭受破坏,更改及泄露,保证信息系统能够连续正常可靠的运行。
3. 信息安全有哪些常见的威胁?信息安全的实现有哪些主要技术措施?
答:常见威胁有非授权访问、信息泄露、破坏数据完整性,拒绝服务攻击,恶意代码。信息安全的实现可以通过物理安全技术,系统全技术,网络安全技术,应用安全技术,数据加密技术,认证授权技术,访问控制技术,审计跟踪技术,防病毒技术,灾难恢复和备技术
答:SQL注入攻击就是用户在能够控制SQL查询、更新、插入、删除等语句的参数的情况下,攻击者通过构造特殊的输入字符串使后端程序错误地识别SQL查询语句中的代码与数据部分从而导致数据库管理系统输出了非预期的结果的一种行为。
答:网络蠕虫是一种可以通过网络(永久连接网络或拨号网络)进行自身复制的病毒程序。一旦在系统中激活,蠕虫可以表现得象计算机病毒或细菌。可以向系统注入特洛伊木马程序,或者进行任何次数的破坏或毁灭行动。普通计算机病毒需要在计算机的硬件或文件系统中繁殖,而典型的蠕虫程序会在内存中维持一个活动副本。蠕虫是一个独立运行的程序,自身不改变其他的程序,但可以携带一个改变其他程序功能的病毒。
答:(1)收集(Collection),该过程主要用于获取数字证据。
(2)检查(Examination),该过程主要使用各种方法来识别和提取数据。该步骤可分为制备、提取和鉴定。
(3)分析(Analysis),在该过程中收集的数据主要用于证明(或反驳)审查员正在建立的案例。
(4)报告(Reporting),数据和分析会在该过程中被合成为一种可以被外行人理解的形式。
7. 简述主动攻击与被动攻击的特点,并列举主动攻击与被动攻击现象。
答:主动攻击是攻击者通过网络线路将虚假信息或计算机病毒传入信息系统内部,破坏信息的真实性、完整性及系统服务的可用性,即通过中断、伪造、篡改和重排信息内容造成信息破坏,使系统无法正常运行。被动攻击是攻击者非常截获、窃取通信线路中的信息,使信息保密性遭到破坏,信息泄露而无法察觉,给用户带来巨大的损失。
8. 简述对称密钥密码体制的原理和特点。
答:对称密钥密码体制,对于大多数算法,解密算法是加密算法的逆运算,加密密钥和解密密钥相同,同属一类的加密体制。它保密强度高但开放性差,要求发送者和接收者在安全通信之前,需要有可靠的密钥信道传递密钥,而此密钥也必须妥善保管。
答:常见的应用程序漏洞有SQL注入、跨站脚本攻击(Cross Site Scripting,CSS)、跨站域请求伪造(Cross Site Request Forgery,CSRF)等。
10. 什么是蜜罐技术?蜜罐的特点是什么?
答:蜜罐技术通过一个由网络安全专家精心设置的特殊系统来引诱黑客,并对黑客进行跟踪和记录。
蜜罐的特点:
(1)它不是一个单一的系统,而是一个网络,是一种高度相互作用的蜜罐,装有多个系统和应用软件。
(2)所有放置在蜜罐网内的系统都是标准的产品系统,即真实的系统和应用软件,都不是仿效的。
三、讨论题
1. 怎样构建有效的信息安全防护体系?
答案略。
答案略。
第14章 离 散 结 构
一.单项选择题
1.D 2.C 3.B 4.C 5.B
6.B 7.B 8.A 9.A
二.解答题
1. 令x和y是正整数,P(x):x 是奇数,Q(x):x是素数,R(x,y):x+y 是偶数。写出下列汉语命题的符号化命题公式:
(1)所有正整数都是奇数。
(2)有的正整数是素数。
(3)对任意正整数x,存在正整数y,其和为偶数。
(4)存在正整数y,对任意正整数x,其和为偶数。
解:(1) ∀xP(x)
(2) ∃yQ(y)
(3) ∀x∃y R(x, y)
(4) ∀y∃x R(x, y)
2. 令p:2是素数,q:3是素数,r:4是素数。用汉语写出小列命题:
(1)((
p)∧q)Þ r
(2)r Þ (p∨q)
解:(1)如果2不是素数,且3是素数,则4是素数。
(2)如果4是素数,则或2是素数,或3是素数。
3. 求扔一个骰子所得点数的期望值。
解:Ex[X]=
×1+
×2+
×3+
×4+
×5+
×6=
4. 直接计算古典概率型有哪些计算方法?并举例说明。
解:对任意事件A有:P(A)=A中的样本点数/总样本点数=M/N
袋中取球问题、排序问题等。
三.讨论题
1. 联系现实生活中的实际及大家了解的计算机领域研究的问题,看看哪些问题的解决与图密切相关。
答案略。
2. 随着信息时代的到来,工业革命时代以微积分为代表的连续数学占主流的地位已经发生了变化,谈谈离散数学的重要性。
答案略。
第15章 计算科学
一、选择题
1. B 2. C 3. D 4. A 5. B 6. C
二、简答题
1.请描述仿真过程的步骤。
答:仿真的过程大致可分为以下四个步骤:
(1) 系统分析:明确问题并提出总体方案。首先要把被模拟的系统内容表达清楚,弄清仿真的目的和系统边界(即所研究的问题涉及的范围,包括要把所研究的系统与影响系统的环境区分开来)确定问题的目标函数和可控变量,并加以数量化,找出系统的实体、属性和活动,描述子系统和总系统的关系。
(2) 模拟构造:包括建立模型、收集数据、编写程序、程序验证和模型确认等。建立模型就是选择合适的仿真方法,确定系统的初始状态,设计整个系统的仿真流程图。然后根据需要收集、整理数据,用通用语言或方针语言编写、调试程序。
(3) 模拟运行和改进:首先确定一些具体的运行方案,如初始条件、参数、步长等,然后输入数据,运行程序,将得出的仿真结果与实际系统比较,进一步分析和改进模型,知道符合实际系统要求为止。
(4) 设计格式输出仿真结果:包括提供文件的清单,记录重要的中间结果,输出格式要有利于用户了解整个仿真过程,分析和使用仿真结果。
2.数值计算方法的误差有哪几种?
答:在科学计算中误差来源一般有以下四个方面:模型误差、观测误差、截断误差和舍入误差等。
(1) 模型误差:在建立数学模型过程中,要将复杂的现象抽象归结为数学模型,往往要忽略一些次要因素的影响,而对问题做一些简化。这样建立起来的数学模型实际上必定只是所研究的复杂客观现象的一种近似的描述,它与真实客观存在的实际问题之间有一定的差别,这种误差称为模型误差。
(2) 观测误差:在建模和具体运算过程中所用的数据往往是通过观测和测量得到的,受观测方式、仪器精度以及外部观测条件等多种因素限制,不可能获得精确值,由此产生的误差称为观测误差。
(3) 截断误差:在不少数值运算中常遇到超越计算,它们需用极限或无穷过程来求得。然而计算机却只能完成有限次算数运算和逻辑运算,因此需将解题过程化为一系列有限的算术运算和逻辑运算,因此要对某种无穷过程进行截断。这种用有限过程代替无限过程所引起的误差称为截断误差。
3.简述内容管理。
答:“内容”一词,源于出版媒体业,书报杂志、唱片影带里的创作,叫做内容,所以早期的内容管理CM(Content Management),偏向出版产品的管理,以储存、流程、元数据(Metadata)为要件来制作系统。内容管理是指对组织机构内部多种格式和媒体类型的信息资源的组织、分类、管理等有序化过程,包括对数据、信息、知识的管理,常常作为数字图书馆或企业知识管理的一个组成部分。
4.简述模式识别。
答:所谓模式识别的问题就是用计算的方法根据样本的特征将样本划分到一定的类别中去。模式识别就是通过计算机用数学技术方法来研究模式的自动处理和判读,把环境与客体统称为“模式”。随着计算机技术的发展,人类有可能研究复杂的信息处理过程,其过程的一个重要形式是生命体对环境及客体的识别。模式识别以图像处理与计算机视觉、语音语言信息处理、脑网络组、类脑智能等为主要研究方向,研究人类模式识别的机理以及有效的计算方法。
三、讨论题
1.谈谈数值分析、数学建模与计算机模拟各自的主要用途及其联系。
答案略。
2.结合自身的实际,谈谈你对数值计算科学的理解。
答案略。
3.描述几种你所了解的使用计算机交互和数据处理的方法。
答案略。
第16章 图形学和可视化
一.选择题
1. AC 2. A 3.D 4. ABC 5.B
6. B 7. ABC 8.C 9.ABCD 10.A
二.简答题
1.什么是计算机图形学?计算机图形学主要研究的内容有哪些?
答:计算机图形学是研究怎样用数字计算机生成、处理和显示图形的一门学科。
计算机图形学主要研究的内容有:三维景物的表示、三维场景的显示、基于图像和图形的混合绘制技术、自然景物仿真、图形用户接口、虚拟现实、动画技术、可视化技术、几何和图形数据的存储(包括数据压缩和解压缩)、图形硬件、图形标准、图形交互技术等。
2. 什么是真实感绘制,什么是非真实感绘制,非真实感绘制的方法有哪些??
答:真实感图形绘制是通过综合运用数学、物理学、计算机科学和心理学等知识,在计算机图形输出设备上生成像彩色照片那样的具有真实感的图形的技术。
非真实感绘制是指利用计算机生成不具有照片般真实感而具有手绘风格图形的技术。
非真实感绘制方法主要有基于笔刷模型的非真实感绘制方法、基于流体模拟的非真实感绘制方法和基于纹理合成的非真实感绘制方法
3. 简述计算机动画的概念,它经历了哪几个阶段的发展?
答:计算机动画是指采用图形与图像的处理技术,借助于编程或动画制作软件生成一系列的景物画面,其中当前帧是前一帧的部分修改。计算机动画是采用连续播放静止图像的方法产生物体运动的效果。
60年代:二维计算机辅助动画系统
70年代:三维图形与动画的基本技术的开发
80年代:优化70年代出现的模型和阴影技术
90年代:动力学仿真技术、三维仿真演员系统
4. 计算机图形学主要应用在哪些方面?你对哪些领域比较熟悉?
答:计算机辅助设计、可视化技术、虚拟现实、计算机动画与艺术等。
三.讨论题
1.计算机可视化自1987年提出以来,在工程和计算机领域得到了广泛的应用和发展,谈谈你身边的计算机可视化的应用及可视化给人们的生活带来的变化。
答案略。
答案略。
第17章 人机交互
一、选择题
1. ABC 2. D 3. D 4. C 5. D 6. ABCD 7. ABCD 8. ABCD
二、简答题
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) 声音数据输入交互;
(9) 图像数据输入。
三、讨论题
1. 如何才能设计友好的人机界面?
答案略。
2. 多媒体计算机技术逐渐进入人们的生活,多媒体在娱乐方面的应用必将在很大程度上改变人们的生活方式,谈谈多媒体技术对人们的生活会带来哪些变化。
答案略。
第18章 智能系统
一.选择题
7. D 8. B 9. C 10. A 11. A 12. C
二. 简答题
1. 什么是人工智能?
答:人工智能AI(Artificial Intelligence),又称为机器智能MI(Machine Intelligence),是研究、设计和应用智能机器或智能系统,用来模拟人类智能活动的能力,以延伸人类智能的科学。它是一门综合了计算机科学、生理学、控制论、信息论、神经生理学、语言学、哲学的交叉学科。
2. 人工智能的主要研究和应用领域是什么?其中哪些是新的研究热点?
答:目前,人工智能已进入人们的工作和生活中,它的主要应用领域包括:专家系统、 决策支持系统、自然语言处理、组合调度和指挥、智能机器人、逻辑推理和定理证明、模式识别、自动程序设计等领域。新的研究热点有自然语言处理、游戏生成、视频生成、注意力机制等。
3. 知识表示的方法有哪些?
答:知识表示是对知识的一种描述,在人工智能中主要是指适用于计算机的一种数据结构。在人工智能中,常用的知识表示方法有:一阶谓词逻辑表示法、产生式知识表示法、框架表示法、语义网络表示法、过程表示法、脚本表示法、面向对象表示法、Petri网表示法等等。
4. 经典的推理技术有哪些?
答:推理是人类求解问题的主要思维方法,其任务是利用知识,因而与知识的表示方法有密切关系。经典的推理主要有确定性推理,包括归约推理、消解演绎推理和规则演绎推理等推理方法。它们建立在经典逻辑基础上,运用确定性知识进行精确推理,也是一种单调性推理。
5. 简述爬山算法和模拟退火算法的区别。
答:爬山算法是完完全全的贪心法,每次都选择一个当前最优解,因此只能搜索到局部的最优值。模拟退火算法也是一种贪心算法,但是它的搜索过程引入了随机因素,以一定的概率来接受一个比当前解差的解,因此有可能会跳出这个局部的最优解,达到全局的最优解。
6. 简述监督学习、无监督学习和半监督学习的区别。
答:监督学习算法利用标签实例进行训练,无监督学习使用无历史标签的相反数据,而半监督学习同时使用了标签和无标签数据进行训练。
7. 什么是维度灾难?
答:在机器学习中经常会碰到一些高维的数据集,而在高维数据情形下会出现数据样本稀疏、距离计算等困难,这类问题是所有机器学习方法共同面临的严重问题,称之为“维度灾难”。
8. 常见的机器学习方法有哪些?
答:监督学习、无监督学习、半监督学习、强化学习等。
9. 简述机器人的特点。
答:(1)通用性: 机器人的通用性取决于其几何特性和机械能力,通用性指的是某种执行不同的功能和完成多样的简单任务的实际能力。通用性也因为机器人具有可变的几何结构,即根据 生产工作需要进行变更的几何结构。
(2)适应性: 机器人的适应性是指其对环境的自适应能力,即所设计的机器人能够自我执 行未经完全指定的任务,而不管任务执行过程中所发生的没有预计到的环境变化。
(3)智能性: 智能机器人应具有各种智能特性和功能。
10. 举五个生活中用到智能的例子。
11. 什么是自然语言处理?常用的自然语言处理技术有哪些?
答:自然语言处理是指利用人类交流所使用的自然语言与机器进行交互通讯的技术。通过人为的对自然语言的处理,使得计算机对其能够可读并理解。常用的自然语言处理技术有:机器翻译、语音识别、信息抽取和文本分类等。
三. 讨论题
1. 举一两个例子说明你感兴趣的人工智能研究领域。
答案略。
2. 讨论自然语言处理技术在日常生活中的应用。
答案略。
- 人工智能会带来的失业问题和对人类造成的威胁吗?谈谈你的看法。
答案略。
第19章 社会问题与专业实践
一、选择题
1. D 2. B 3. D 4. C 5. B
6. D 7. D 8. D 9. CD 10. C
二、简答题
1.简述计算的社会寓意。
答:计算机的广泛使用为社会带来了巨大的经济利益,同时也对人类社会生活的各个方面产生了深远的影响。不少社会学家和计算机科学家正在密切关注着计算机时代所特有的社会问题,如计算机化对人们工作和生活方式、生活质量的影响,计算机时代软件专利和版权、商业机密的保护,公民的权利和计算机空间的自由,计算的职业道德和计算机犯罪等。实际上,如何正确地看待这些影响和这些新的社会问题并制订相应的策略已经引起了越来越多计算职业人员和公众的重视。
2.简述情境感知。
答:情境感知简单说就是通过传感器及其相关的技术使计算机设备能够“感知”到当前的情境,它将成为一种新生代智能手机或可穿戴设备应用软件,它可以依靠收集到的信息对你的行为进行更细致的“猜测”,从而帮助你完成日常工作。
3.简述伦理学的定义。
答:伦理学是哲学的一个分支,它是规范人们生活的规则和原理,包括风俗、习惯和道德规范等。法律是具有国家或地区强制力的行为规范,道德是控制我们行为的规则、标准。伦理学是道德的哲学,是对道德规范的讨论、建立和评价。计算机伦理学是应用伦理学的一个分支,它是在开发和使用计算机相关技术和产品、IT系统时的行为规范和道德指引。
4.简述职业道德的四个特点。
答:忠于职守、乐于奉献;实事求是、不弄虚作假;依法行事、严守秘密。公正透明、服务社会。
答:为社会的进步和人类生活的幸福做出贡献;不要伤害别人;诚实以获得他人的信赖;公平、无歧视地对待他人;尊重别人的知识产权和获取经济利益的权利;使用别人的知识产权时给予对方适当的荣誉;尊重别人的隐私权;尊重机密性;
6.简述专业精神。
答:专业精神是指对工作是否执著于专业的规范、要求、品质化程序等。就是在专业技能的基础上发展起来的一种对工作极其热爱和投入的品质,具有专业精神的人对工作有一种近乎疯狂的热爱,他们在工作的时候能够达到一种忘我的境界。
7.简述人体工程学。
答:人体工程学是综合各门有关人的科学成果的基础上研究人生活及劳动活动,按照人的特性,设计和改善并优化“人-机-环境”系统的科学。
8.简述计算机用户应遵守的道德。
答:自觉抵制软件盗版和信息剽窃;对计算机访问必须经过授权;使用计算机网络时应该自律。
9.简述知识产权的定义及分类。
答:目前,在世界范围内尚没有一个统一的从知识产权的内涵出发的知识产权定义。我国的《知识产权法教程》对知识产权的定义为:知识产权指的是人们可以就其智力创造的成果依法享有的专有权利。
知识产权有两类:一类是著作权(也称为版权、文学产权),另一类是工业产权(也称为产业产权)。
10.保护隐私的技术有哪些?
答:现在,有许多保护隐私的技术可供因特网用户使用。这些技术大致可以分为两类:
(1) 建立私人信息保护机制的技术
如Cookies管理、提供匿名服务、防火墙和数据加密技术等。Cookies管理技术允许用户管理Web站点放置在其硬盘上的Cookies。Cookies管理技术使用户可以选择禁用或有条件使用Cookie,以避免其私人信息泄露。提供匿名服务的技术通过代理或其他方式为用户提供了匿名访问和使用因特网的能力,使用户在访问和使用因特网的时候隐藏其身份和属于个人隐私的信息。不过,不同的技术和隐私保护工具对私人信息保护的强度是不同的,而在防范别有用心的人蓄意获取他人隐私的行为上尤其不同。
(2) 增强隐私政策的透明性
这类保护隐私的技术虽然不直接提供保护私人信息的能力,但能够增加Web站点隐私政策的透明性,加强用户在隐私政策上与站点的交流,从而有利于隐私保护,如P3P(Privacy Preferences Project)标准。在能够使用P3P的Web站点上,用户访问该站点之前,浏览器首先把该站点的隐私政策翻译成机器可识别的形式,然后把它传递给用户,这样用户就可以基于该信息决定是否进入该网站。
11.在计算机技术中如何进行有效的专业交流?
答:总结技术材料;团队沟通;与利益相关者沟通;协作工具。
12.简述网络效应。
答:网络效应也称网络外部性或需求方规模经济、需求方的范围经济。是指产品价值随着购买这种产品及其兼容产品的消费者的数量增加而不断增加。例如电信系统,当人们都不使用电话时,安装电话是没有价值的,而电话越普及,安装电话的价值就越高。
答:加强教育、提高计算机安全意识、预防计算机犯罪;健全惩治计算机犯罪的法律体系;发展先进的计算机安全技术、保障信息安全;实施严格的安全管理。
三、讨论题
1.社会问题与专业实践是2020知识体系的重要组成部分,但是很多高校都没有专门为计算机专业的学生开设这方面的课程,作为读者,你觉得应该怎样掌握这些知识?掌握这些知识对自己的人生会有哪些积极的影响?
答案略。
2.谈谈计算机在环境问题上的应用,如能源、污染、资源使用、回收再利用、餐饮管理、农业及其他。
答案略。
3.计算机技术改变了人们的生活方式的同时,也解放了劳动力,促进了经济发展。近年来,软件与信息外包成为全球经济新的增长点,作为计算机专业的学生,谈谈外包产业发展对就业环境会产生哪些影响?
答案略。
4. 如何利用所学的计算机知识预防计算机犯罪并与计算机犯罪作斗争?
答案略。