简答程序设计基础期末复习题.doc_第1页
简答程序设计基础期末复习题.doc_第2页
简答程序设计基础期末复习题.doc_第3页
简答程序设计基础期末复习题.doc_第4页
简答程序设计基础期末复习题.doc_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

简答 程序设计基础期末复习题一、名词解释:CAD,CAM,CAI,CPU,CASE。2、CAD:计算机辅助设计(Computer Aided Design)3、CAM:计算机辅助制造(Computer Aided Manufacturing)4、CAI:计算机辅助教学(Computer Aided Instruction)5、CPU:中央处理器6、CASE:计算机辅助软件工程二、简述计算机硬件与软件的关系。计算机硬件与软件的关系主要体现在以下三个方面:(1)互相依存。计算机硬件与软件的产生与发展本身就是相辅相成、互相促进的,二者密不可分。硬件是软件的基础和依托,软件是发挥硬件功能的关键,是计算机的灵魂。在实际应用中更是缺一不可,硬件与软件,缺少哪一部分,计算机都是无法使用的。(2)无严格界面。虽然计算机的硬件与软件各有分工,但是在很多情况下软硬件之间的界面是浮动的。计算机某些功能既可由硬件实现,也可以由软件实现。随着计算机技术的发展,一些过去只能用软件实现的功能,现在可以用硬件来实现,而且速度和可靠性都大为提高。(3)相互促进。无论从实际应用还是从计算机技术的发展看,计算机的硬件与软件之间都是相互依赖、相互影响、相互促进的。硬件技术的发展会对软件提出新的要求,促进软件的发展;反之,软件的发展又对硬件提出新的课题。三、简述计算机程序设计语言的分类和各类的特点。一般分为三类:机器语言(也称机器指令集),汇编语言和高级语言。机器语言是每台计算机出厂时,厂家都为它配备一套机器语言,不同的计算机,其机器语言通常是不同的。由于机器语言是面向具体机器的,所以其程序缺乏通用性,编写程序的过程繁琐复杂,易出错,错了又不易查找和修改,编出的程序可读性极差。汇编语言是机器语言的符号化形式。用汇编语言编写的程序(又称源程序)经汇编器加工处理后,就转换成可由计算机直接执行的目标程序。汇编语言提高了程序设计效率和计算机利用率。汇编语言仍属面向机器的一种低级语言,其程序的通用性和可读性较差。高级程序设计语言是指通用性好,不必对计算机的指令系统有深入的了解就可以编写程序。采用高级语言编写的程序在不同型号的计算机上只需做某些微小的改动便可运行,只要采用这些计算机上的编译程序重新编译即可。高级语言具有通用性,与具体的机器无关。四、冯诺伊曼原理的主要思想是什么?冯诺伊曼原理的主要思想就是存储程序控制原理。存储程序控制原理的基本内容是:l用二进制形式表示数据和指令;l将程序(数据和指令序列)预先存放在主存储器中,使计算机在工作时能够自动高速地从存储器中取出指令,并加以执行,这是存储程序控制的基本特点;l确立了计算机系统的5大基本部件:存储器、控制器、运算器、输入设备和输出设备,同时也规定了5大部件的基本功能。冯诺依曼型计算机的两大特征是程序存储和采用二进制。冯诺伊曼思想实际上是电子计算机设计的基本思想,奠定了现代电子计算机的基本结构,开创了程序设计的时代。五、何谓算法?算法有什么性质?算法就是为解决一个特定问题而采取的特定的有限的步骤。一个完整的计算机算法必须满足下述5个准则或标准:有穷性,确定性,可行性,输入性,输出性。具有上述5个特性才能称为算法,而其中最重要的是算法的有穷性,如果不具备有穷性的性质,仅具有另外4种性质,只能称为计算过程或计算方法,而不是算法。六、执行高级语言编写的程序一般要经过怎样的编译过程?高级语言源程序经编译后得到目标码程序,但它还不能立即装入机器执行,编译后得到的目标模块还需进行连接。连接程序找出需要连接的外部模块并到模块库中找出被调用的模块,调入内存并连接到目标模块上,形成可执行程序。执行时,把可执行程序加载到内存中合适的位置(此时得到的是内存中的绝对地址)就可执行产生运行结果。源程序目标程可执行程序结果编译连接执行七、高级语言解释执行的一般步骤是什么?解释执行有什么缺点?解释执行需要有一个解释程序,它将源代码程序逐句读入,然后直接分析语句的含义,立刻给出执行结果。由于解释执行时只看到一个语句,难于优化、执行效率较低。八、请简要介绍面向过程式语言中的三种程序设计的基本结构。顺序结构是指按先后顺序从前到后执行的语句序列。这些语句逻辑上可能有明确的顺序关系,即后一个程序语句依赖于前一个语句,也可能它们之间没有明确的顺序关系,即某些语句的先后顺序并不重要,一个语句逻辑上并不从属于另一些语句。选择结构是指根据判定条件控制一些语句是否执行的语句。选择结构可用if-then、if-then-else或case(或switch)等语句进行描述。当判定条件成立时需要执行一组语句,且不成立时不需要执行这些语句,那么应当采用if-then语句。当判定条件成立时需要执行一组语句,否则需要执行另一组语句时,可采用if-then-else语句。当根据表达式的取值情况在多个动作中选取其一执行时,可采用case语句。循环结构是指可重复执行一组语句(称为循环体)的程序语句。根据重复方式的不同,循环结构可分为while型循环、until型循环和for型循环。while型循环是在指定的条件(称为循环条件)成立时,重复执行循环体,其特点是执行循环体前先判定循环条件,因此可能一次也不执行循环体。until型循环将重复执行循环体,直到循环条件成立才结束该重复,其特点是每执行一次循环体后判定循环条件,因此至少执行一次循环体。for型循环将循环体重复执行给定次数,其特点是循环开始前可确定循环次数。九、什么是面向过程式语言?有什么特点?面向过程式语言,也叫命令式语言或强制式语言,它是通过指明一列可执行的运算及运算的次序来描述计算过程的语言。命令式语言以冯诺依曼式计算机体系结构为背景。机器语言与汇编语言是最早问世的命令式语言。FORTRAN,ALGOL,COBOL,PASCAL,C,Ada等高级语言也属过程式语言,其变量对应于存储单元,对变量的访问就是对相应存储单元的访问。各个语句在程序中的顺序以及转向语句等控制语句则明确规定了机器的执行步骤,这就是冯诺依曼式体系结构的思维方式在程序设计中的反映。过程式语言程序的本质是重复地、按步地计算低级(非抽象)值并将之赋给变量(对象),这就迫使程序人员去关心比较低级的细节,而这不适用于设计复杂算法。因此,几十年来过程式语言一直向着隐蔽低级机器属性、提高程序层次与抽象性的方向发展。十、结构化程序设计方法的主要技术是什么?结构化程序设计方法的主要技术是自顶向下、逐步求精。具体地说,就是在接受一个任务之后,纵观全局,先设想好整个任务分为几个子任务,每一个子任务又可以进行细分,直到不需要细分为止。这种方法就叫做自顶向下、逐步求精。采用这种方法考虑问题比较周全,结构清晰,层次分明。用这种方法也便于验证算法的正确性。在向下一层细分之前应检查本层设计是否正确,只有上一层是正确的才可以继续细分。如果每一层设计都没有问题,则整个算法就是正确的。由于每一层向下细分时都不太复杂,因此容易保证整个算法的正确性。检查时也是由上而下逐层检查,这样做思路清晰,可以有条不紊地一步一步地进行,既严谨又方便。十一、结构化程序设计的主要特征与风格是什么?结构化程序设计的主要特征与风格如下所述。(1)一个程序按结构化程序设计方式构造时,由三种基本控制结构:顺序结构、选择结构和循环结构构成。(2)有限制地使用goto语句。鉴于goto语句的存在使程序的静态书写顺序与动态执行顺序十分不一致,导致程序难读难理解,容易存在潜在的错误,难于证明正确性,有人主张程序中禁止使用goto语句,但有人则认为goto语句是一种有效设施,不应全盘否定而完全禁止使用。结构程序设计并不在于是否使用goto语句,因此作为一种折衷,允许在程序中有限制地使用goto语句。(3)往往藉助于体现结构化程序设计思想的所谓结构化程序设计语言来书写结构化程序,并采用一定的书写格式以提高程序结构的清晰性,增进程序的易读性。(4)它强调了程序设计过程中人的思维方式与规律,是一种自顶向下的程序设计策略,它通过一组规则、规律与特有的风格对程序设计细分和组织。对于小规模程序设计,它与逐步精化的设计策略相联系,即采用自顶向下、逐步求精的方法对其进行分析和设计;对于大规模程序设计,它则与模块化程序设计策略相结合,即将一个大规模的问题划分为几个模块,每一个模块完成一定的功能。十二、什么是软件?什么是软件工程?计算机系统中的程序及其文档称为软件。其中,程序是计算机任务的处理对象和处理规则的描述;文档是为了理解程序所需的阐述性资料。细言之,软件一词具有三层含义。一为个体含义,即指计算机系统中的程序及其文档;二为整体含义,即指在特定计算机系统中所有上述个体含义下的软件的总称,亦即计算机系统中硬件除外的所有成分;三为学科含义,即指在研究、开发、维护以及使用前述含义下的软件所涉及的理论、方法、技术所构成的学科。软件工程是应用计算机科学、数学及管理科学等原理,开发软件的工程。它借鉴了传统工程的原则、方法,以提高软件质量,降低开发成本为目的。其中,计算机科学、数学用于构造模型和算法,工程科学用于制订规范、设计范型、评估成本等,管理科学用于计划、资源、质量、成本等管理。软件工程是一门交叉性学科,迄今为止,软件工程的研究与应用已取得很大成就,大大缓解了软件危机,但是软件的开发还是一项艰巨的任务,对于软件的如何组织和开发还在不断地发展之中。十三、在软件工程过程中围绕着工程设计、工程支持和工程管理应当遵循什么基本原则?围绕工程设计、工程支持以及工程管理,提出了以下四条基本原则:第一条原则是选取适宜的开发模型。该原则与系统设计有关。在系统设计中,软件需求、硬件需求以及其它因素之间是相互制约、相互影响的,经常需要权衡。因此,必须认识需求定义的易变性,采用适宜的开发模型予以控制,以保证软件产品满足用户的要求。第二条原则是采用合适的设计方法。在软件设计中,通常要考虑软件的模块化、抽象与信息隐蔽、局部化、一致性以及适应性等特征。合适的设计方法有助于这些特征的实现,以达到软件工程的目标。第三条原则是提供高质量的工程支持。在软件工程中,软件工具与环境对软件过程的支持颇为重要。软件工程项目的质量与开销直接取决于对软件工程所提供的支撑质量和效用。第四条原则是重视开发过程的管理。软件工程的管理,直接影响可用资源的有效利用,生产满足目标的软件产品,提高软件组织的生产能力等问题。因此,仅当软件过程予以有效管理时,才能实现有效的软件工程。十四、什么是软件的生存周期?如何划分软件的生存周期?软件产品从形成概念开始,经过开发、使用和维护,直至最后退役的全过程称为软件生存周期。根据软件所处的状态、特征以及软件开发活动的目的、任务可以将生存周期划分为若干阶段。一般说来,软件生存周期包括软件定义、软件开发、软件使用与维护三个部分,并可进一步细分为可行性研究、需求分析、概要设计、详细设计、实现、组装测试、确认测试、使用、维护和退役十个阶段。十五、瀑布模型的主要思想和特点是什么?瀑布模型也称软件生存周期模型。根据软件生存周期各个阶段的任务,瀑布模型从可行性研究(或称系统需求分析)开始,逐步进行阶段性变换,直至通过确认测试并得到用户确认的软件产品为止。瀑布模型上一阶段的变换结果是下一阶段变换的输入,相邻的两个阶段具有因果关系,紧密相联。一个阶段工作的失误将蔓延到以后的各个阶段。为了保证软件开发的正确性,每一阶段任务完成后,都必须对它的阶段性产品进行评审,确认之后再转入下一阶段的工作。评审过程发现错误和疏漏后,应该反馈到前面的有关阶段修正错误、弥补疏漏,然后再重复前面的工作,直至某一阶段通过评审后再进入下一阶段,这种形式的瀑布模型是带有反馈的瀑布模型。瀑布模型在软件工程中占有重要的地位,它提供了软件开发的基本框架,这比依靠个人技艺开发软件好得多。它有利于大型软件开发过程中人员的组织和管理,有利于软件开发方法和工具的研究与使用,从而提高了大型软件项目开发的质量和效率。瀑布模型的主要特点是:阶段间的顺序性和依赖性,开发过程是一个严格的下导式过程,即前一阶段的输出是后一阶段的输入,每一阶段工作的完成需要确认,而确认过程是严格的追溯式过程,后一阶段出现了问题要通过前一阶段的重新确认来解决。因此,问题发现得越晚解决问题的代价就越高。瀑布模型的主要缺点是:在软件开发的初始阶段指明软件系统的全部需求是困难的,有时甚至是不现实的。软件开发是个知识密集型的开发活动,需要人们合作交流才能完成,但在瀑布模型中没有这方面的体现。随着软件开发项目规模的日益庞大,由此引发的问题显得更为严重。十六、快速原型法的主要思想和特点是什么?快速原型法是针对瀑布模型(即传统的生存周期法)提出来的一种方法。它的基本思想是回避(或暂时回避)传统的生存周期法中的一些难点,顺从用户需求出发,快速建立一个原型。使用户通过这个原型初步表达出自己的要求,在征求用户对原型意见的过程中,进一步修改、完善、确认软件系统的需求并达到一致的理解,这就大大避免了在瀑布模型冗长的开发过程中,看不见最终软件产品雏形的现象。通过反复修改、完善,逐步靠近用户的全部需求,最终形成一个完全满足用户要求的新体系。因此,快速原型法的最大特点是快捷,且避免了许多由于不同理解而造成的错误。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论