还剩4页未读,继续阅读
文本内容:
第1章复习题
1.解释计算机程序的概念计算机程序computerprograms,简称程序,是指计算机的指令序列程序通常分为源代码和可执行程序两大类
2.解释计算机软件的概念在计算机领域中,计算机软件computersoftware,简称为软件软件是指在计算机系统中执行特定任务的计算机程序、算法和文档的集合
3.什么是源代码程序?源代码是指以程序设计语言编写的、可读的语句和声明的集合,程序设计人员的工作就是使用程序设计语言编写源代码,源代码经过编译后转变为计算机可以执行的程序;
4.什么是可执行程序?可执行程序是指包含了计算机可以直接执行的指令的文件为了与源代码相区别,可执行程序又被称为二进制代码
5.什么是计算机软件技术?计算机软件技术是与软件的设计、实施和使用相关的多种技术的统称
6.什么是系统软件?系统软件systemsoftware指管理和控制计算机硬件、使计算机工作的软件
7.什么是操作系统?操作系统operatingsystem,OS是位于计算机系统中的硬件和软件之间的接口,负责管理和协调计算机硬件的操作和计算机有限资源的共享
8.列出3个典型的操作系统微软公司的Windows系列操作系统Unix和类Unix操作系统苹果公司的MacOSX操作系统Linux操作系统等
9.什么是编程软件?是一种软件开发人员用于创建、调试、维护其他程序和应用软件的软件工具
10.什么是应用软件?应用软件applicationsoftware是指在计算机上运行的、支持或改进软件用户工作的计算机程序或者说,应用软件可以直接完成终端用户的工作从某种意义上来讲,系统软件和编程软件都是为应用软件服务的,应用软件才是真正直接提高用户工作的
11.什么是软件架构?软件架构softwarearchitecture有时也称为软件体系结构,是对软件系统总体结构的抽象表示,主要描述软件系统的组件、组件的接口特征以及这些组件之间的关系软件架构的研究内容主要包括软件架构设计模式、软件架构描述语言、软件架构文档以及形式化方法第2章复习题
1.简述1GL/2GL/3GL/4GL/5GL语言的特点和主要语言1GL:直接用二进制的机器代码指令编写的、由处理器执行的程序就是机器语言程序2GL:汇编语言是指用符号代替数字机器代码指令和其他常量进行编程的程序设计语言3GL:第三代语言3GL是从2GL精炼而来的2GL侧重于改进语言的逻辑结构3GL主要是提高了语言的用户友好性许多常见的语言都是3GL例如FORTRAN、COBOL、BASIC、C、C++、VisualBasic、Java、C#等,都是典型的3GL4GL:4GL是针对特定目的的、面向问题和系统工程的程序设计语言4GL可以分为一般作用的语言例如Clipper、Foxpro、PowerBuilder等数据库查询语言例如SQL语言报表生成语言例如Metafont、OracleReport、NATURAL等语言数据操纵和统计分析语言例如MATLAB、SAS、SPSS、Stata等语言Web开发语言例如ColdFusion等5GL:目前,有关第五代语言5GL的话题处于讨论中一般认为,5GL关注的是约束条件和逻辑,而不是如何去实现算法例如,对于一个给定的问题,5GL侧重于写出解决这种问题需要的条件和约束,而不是关注如何编写算法来解决这种问题5GL主要用于解决人工智能领域中的问题
2.什么是脚本语言?脚本语言scriptinglanguage是一种嵌入在另一种语言中、可以控制应用程序的程序设计语言
3.解释概念语句、变量、表达式、运算符、赋值、注释语句在指令式程序设计语言中,语句是组成语言的最小的独立元素程序是计算机指令的序列,因此可以说程序是一个或多个计算机语句组成的序列语句本身是由许多语言元素组成的在语句中,常用的语言元素包括变量、常量、运算符、表达式、函数、赋值等变量变量是一种其值可变的标识符表达式表达式是常量、变量、运算符、函数调用等按照优先级规则组成的序列运算符运算符可以用来操作数据和比较信息等程序设计语言中的运算符是类似于数学运算符的集合常见的运算符有算术运算符、比较运算符、逻辑运算符、字符串运算符等类型赋值赋值是改变变量值的一种基本手段注释注释是程序中的有助于理解代码的提示和说明
4.基本数据类型包括哪些数据类型?基本数据类型包括整数类型、浮点数据类型、字符类型和字符串类型、布尔类型、枚举类型等
5.解释概念数组类型、记录类型、指针类型数组是描述一组具有相同数据类型的变量记录类型,又称为元组类型或结构类型,是一种定义多个内存位置连续的变量的数据类型如果变量的数据是存储单元的地址,该变量则为指针变量指针变量也是一种数据类型,其值通过地址指向另一个变量值
6.什么是程序控制结构?有哪些典型的程序控制结构?实际上,程序在执行过程中,可以根据需要改变程序的执行顺序程序有3种基本结构类型,即顺序结构、条件分支结构和循环结构
7.什么是子例程?一般地认为,子例程是某个主程序的一部分代码,该代码执行特定的任务并且与主程序中的其他代码相对独立第3章复习题
1.简述多媒体的概念多媒体是指通过计算机或其他媒介传播的文字、图形、图像、声音、视频、动画等多种媒体的组合
2.简述多媒体的特点与传统的数值相比,多媒体具有许多特性,包括信息载体的多样性、集成性、交互性、时间相关性、数据量大等
3.什么是有损压缩方法?什么是无损压缩方法?无损压缩方法losslesscompression是指还原后的数据与压缩前的原始数据是完全相同的,压缩过程中没有丢失原始数据的信息常见的无损压缩算法包括行程编码算法run-lengthencoding,RLE、LZW压缩算法Lempel-Ziv-WelchEncoding、BWT变换法Burrows-Wheelertransform,BWT、部分匹配预测法predictionbypartialmatching,PPM、动态马尔可夫压缩法dynamicMarkovcompression,DMC、Huffman编码法Huffman,coding、算术编码法arithmeticcoding、Golomb编码法Golombcoding、无损分布式信源编码压缩法losslessdistributedsourcecoding,无损DSC等有损压缩方法lossycompression是指还原后的数据与压缩前的原始数据不相同,数据中的部分信息在压缩过程中损失了常见的有损压缩算法主要有离散余弦变换法discretecosinetrsnsform,DCT、分形压缩法fractalcompression、小波压缩法waveletcompression、向量量化法vectorquantization、线性预测编码法linearpredictivecoding、有损分布式信源编码压缩法lossydistributedsourcecoding,有损DSC等
4.JPEG和MPEG分别是什么意思?JPEG是JointPhotographicExpertsGroup静态图像专家组的简称,是静态图像压缩方法,是Internet上使用最为广泛的图像格式数字视频音频的主要压缩标准是MPEGMovingPictureExpertsGroup,动态图像专家组
5.简述RLE的基本思想RLErun-lengthencoding,游程编码,变动长度编码法是一种简单的数据无损压缩方法一种压缩过的位图文件格式在RLE中,run定义为一组相同的字符对于那些包含了许多run的数据,例如相对来说简单的图像而言,RLE方法是非常有效的例如,字符串s=bbbbbjjjjjjaa中就有3个run第一个run是5个b,第二个run是6个j,第三个run是2个a这时字符串s的压缩结果是5b6j2a如果要传输的数据中有数字,例如,,这里有5个
1、11个
2、2个
5、3个3,则应该编码为511112533,为了区分数据和字符个数,这时需要使用ASCII码进行编码例如,如果run中有37个字母c,则可以表示为%c,字符%的ASCII码值是37;如果有43个3,则可以表示为+3,字符+的ASCII码值是
436.简述Huffman编码法的基本过程Huffman编码步骤统计字符出现的概率,按照概率从高到低排序,绘制huffman图,从高到低进行编码,概率高者编码短,概率低者编码长
7.简述动画的基本原理动画的基本原理是“视觉暂留”的生理学现象和“相似”的心理学现象
8.简述多媒体软件的开发过程多媒体软件开发过程是指多媒体软件的规划、需求分析、故事情节板绘制、脚本编写、软件结构设计、多媒体元素准备、创建动画程序、测试、试运行和运行的整个过程第4章复习题
1.简述算法的基本特征算法的5个基本特征有穷性finiteness有穷性是指任何算法在经过有限的步骤之后总会结束,步骤的数量是一个合理的数字确定性definiteness确定性是指算法的每一个步骤都是精确定义的,在任何情况下这些步骤都是严密的、清晰的输入input输入是指算法开始运算时给定的初始数据,这些输入是与特定的运算对象关联的输出output输出是指与输入相关的运算结果,反映了对输入数据加工后的情况可行性effectiveness可行性是指算法的每一个步骤都是可以实现的,即使人们用笔和纸进行手工运算,那么在有限的时间内也是可以完成的
2.列出4种算法表示方法表示算法的方式有多种,常用的方法包括自然语言、流程图、程序设计语言、形式化方法等
3.一般流程图有哪些图形元素?根据指定的程序绘制流程图在一般流程图中,主要的图形元素包括开始/结束标志、箭线、处理框、输入/输出框、条件判断框等
4.简述递归法的思想和特征递归法的主要思想是将一个初始问题分解成为比较小的、有着相同形式的子问题,直到子问题足够简单、能够被理解并解决为止,然后再将所有子问题的解组合起来得到初始问题的结果递归的特征1一个能够不使用递归方法可以直接处理的基本情况;2一个常用的方法,能够将一种特殊的情况化解为一种或多种规模较小的情况,持续下去,最终将问题转换为对基本情况的求解
5.解释下列搜索算法的概念顺序搜索、二分搜索、散列搜索顺序搜索sequencesearch是一种最基本的搜索算法,该算法在一组数据元素组成的集合中按照关键项搜索指定的数据元素二分搜索算法binarysearch是指在一个有序数据集中,假设数据元素递增排列,搜索项与数据集的中间位置的数据元素进行比较,如果搜索项小于中间位置的数据元素,则只搜索数据集的前半部分;否则,搜索数据集的后半部分如果搜索项等于中间位置的数据元素,则返回该中间位置的数据元素的地址,搜索成功结束散列搜索算法是一种非比较的搜索算法,对于某些数据量大的数据集来说,可以提高搜索效率在散列搜索算法中,需要重点解决3方面的问题如何选择散列函数、如何在散列表中组织数据、如何搜索数据
6.解释下列排序算法的概念冒泡排序、插入排序、选择排序冒泡排序bubblesort是一种简单的互换类排序算法,其基本思想是比较序列中的相邻数据项,如果存在逆序则进行互换,重复进行,直到在一次比较过程中没有互换发生为止插入排序insertionsort是一种将无序列表中的数据元素通过依次插入到已经排序好的列表中的算法选择排序算法selectionsort的主要思想是,扫描数据序列,找到最小的数据,将该数据交换到序列最前面的位置,然后对其余数据序列重复前面的步骤直到数据全部排序为止
7.什么是数据结构?数据结构的研究内容是什么?一般认为,数据结构是由数据元素根据某种逻辑关系组织起来以便有效使用的数据元素的集合作为计算机软件技术的一个重要领域,数据结构的研究内容主要包括3个方面数据的逻辑结构、数据的存储结构和数据的运算方式
8.什么是图?图graph是由一个顶点集V和一个边集E组成的数据结构,其中E是顶点连接对
9.什么邻接矩阵?什么是邻接表?首先介绍邻接矩阵方法设G是一个有nn0个顶点的图,VG={v1v2…vn},则邻接矩阵AG是一个n阶二维矩阵在该矩阵中,如果vi至vj有一条边,则ij项的值为1,否则为0,即邻接表方法设G是一个有nn0个顶点的图,VG={v1v2…vn}在邻接表中,每个顶点v都对应着一个链表,该链表的每个节点都包含一个顶点u,且vu∈EG因为图中有n个顶点,所以可以利用一个长度为n的数组A,Ai指向第i个顶点对应的链表的第一个节点,链表由顶点vi的全部邻接顶点组成
10.简述深度优先遍历和广度优先遍历算法的基本思想(结合图)最常见的遍历算法是深度优先遍历depth-firstsearch,DFS和广度优先遍历breadth-firstsearch,BFS深度优先遍历算法的基本思想是假设遍历过程中访问到顶点v,与顶点v邻接的顶点分别是w
1、w
2、…、wn下一步访问的顶点是w1,其他顶点等待访问顶点w1访问之后,再遍历所有与顶点w1相邻的顶点直到与顶点w1相关的所有顶点访问结束之后,再依次访问顶点w
2、…、wn,直到所有顶点访问结束为止广度优先遍历算法的基本思想是假设遍历过程中访问到顶点v,与顶点v邻接的顶点分别是w
1、w
2、…、wn下一步访问的顶点依次是w
1、w
2、…、wn,这些顶点访问之后,再依次访问与这些顶点相邻的顶点,直到所有顶点访问结束为止第5章复习题
1.简述数据库的三个范式的定义根据给定的示例,可以进行是否满足三个范式的判断,指出改进的建议如果表中的所有属性值都是不可再分解的原子值,那么称该表是满足第一范式firstnormalform,1NF的要求在满足第一范式的基础上,所有的非主键属性值全部依赖于主键值,不存在部分依赖现象,这时的表称为满足第二范式secondnormalform,2NF的要求在满足第二范式的基础上,如果所有的非主键属性都不存在传递依赖现象,则称该表满足第三范式thirdnormalform,3NF的要求
2.什么是操作异常现象?修改异常的含义是当我们修改了表中某一行的信息后,该表中另一行中相同的信息却没有被修改插入异常的含义是当我们向表中插入一行数据时,仅仅知道该行的一部分数据,另外一部分数据则不知道,结果这些已知的数据由于那些未知的数据而很难在表中正确地插入删除异常的含义是如果某些属性的值变为空,那么可能会丢失其他一些有用的信息(示例)
3.列出常见的5种数据库对象并简述其特点数据库中有许多对象,最基本的对象就是表,除此之外,视图、索引、存储过程、触发器等都是常见的数据库对象
4.什么是数据完整性?数据完整性是指确保存储在数据库中的数据的一致性和准确性的约束或规则数据完整性有3种基本类型,即域完整性、实体完整性和参考完整性
5.什么是数据库的安全性?数据库的安全性是保障数据库不受非法用户访问的方法和机制,是计算机安全性的一个重要组成部分第6章复习题
1.解释软件危机的概念软件危机softwarecrisis的概念用于描述快速增长的计算机能力和需要解决的日益复杂的需求问题之间的关系
2.解释软件工程的概念软件工程softwareengineering是指将系统的、规范的、可量化的方法应用于软件的开发、运行和维护,以及对这些方法所进行的研究软件工程的根本目标在于提高软件开发的生产效率和软件产品质量
3.列出软件开发的5个主要活动一般认为,软件开发的主要活动包括软件需求分析、软件设计、软件编码、软件测试和软件维护
4.什么是软件需求分析?软件需求分析softwarerequirementanalysis是软件开发中的主要活动之一,也是其他活动的基础,该活动的主要目的是确定软件系统应该为用户提供哪些功能来解决用户的需求
5.列出软件需求分析的6个主要任务软件需求分析活动又可以分为许多任务,主要包括调查研究、问题分析、确定目标、需求定义、需求分析、需求描述等
6.解释黑盒测试和白盒测试的概念黑盒测试又被称为功能测试、数据驱动测试或基于规格说明的测试,是通过使用整个软件或某种软件功能来严格地测试而并没有通过检查程序的源代码或者很清楚地了解该软件的源代码程序具体是怎样设计的测试人员通过输入他们的数据然后看输出的结果从而了解软件怎样工作白盒测试是通过程序的源代码进行测试而不使用用户界面这种类型的测试需要从代码句法发现内部代码在算法,溢出,路径,条件等等中的缺点或者错误,进而加以修正。