全国计算机等级考试一本通 二级Visual FoxPro 2016年无纸化考试专用(txt+pdf+epub+mobi电子书下载)


发布时间:2020-09-05 06:55:01

点击下载

作者:全国计算机等级考试命题研究中心,未来教育教学与研究中心

出版社:人民邮电出版社

格式: AZW3, DOCX, EPUB, MOBI, PDF, TXT

全国计算机等级考试一本通 二级Visual FoxPro 2016年无纸化考试专用

全国计算机等级考试一本通 二级Visual FoxPro 2016年无纸化考试专用试读:

前言

全国计算机等级考试由教育部考试中心主办,是国内影响最大、参加考试人数最多的计算机水平考试。此类考试的目的在于以考试督促考生学习,因此该考试的报考门槛较低,考生不受年龄、职业、学历等背景的限制,任何人都可以根据自己学习和使用计算机的实际情况,选择不同级别的考试。

全国计算机等级考试专业研究机构——未来教育教学与研究中心历时12年,累计对7万多名考生的备考情况进行了跟踪研究。从对考生的调查得知,考生备考计算机等级考试的时间比较短,因为从报名到参加考试只有近4个月的时间,留给考生的复习时间比较有限,而且传统的计算机辅导书大多以选择题或操作题为主,许多考生存在选择题或操作题其中一项偏弱的情况。因此,为满足广大考生的需要,未来教育教学与研究中心策划、编写了本丛书。本书为其中一本,面向二级Visual FoxPro科目,旨在帮助考生提高备考效率。

本书具有以下几个方面的特点。

1.针对选择题和操作题

计算机等级考试二级Visual FoxPro包括选择题和操作题两种考查形式。本书在对无纸化真考题库进行深入分析和研究后,总结出选择题和操作题的考点,将选择题和操作题串连知识点讲解,帮助考生更好地掌握考点。

2.章前考点总结

要在有限的时间内掌握所有的知识点,考生会感到无从下手。本书通过对无纸化真考题库进行分析,总结得出各考点的考核概率,并对考点的难易程度进行评价,帮助考生了解考试的重点与难点。

3.内容讲解易学易懂

本书的编写力求将复杂问题简单化,将理论难点通俗化,提高读者的复习效率。

根据无纸化真考题库总结考点,精讲内容。

通过极具代表性的例题讲解知识点,深入浅出地讲解复杂的概念和理论知识。

采用大量插图,简化解题步骤。

提供大量习题,巩固所学知识,以练促学,学练结合。

4.考前模拟训练

为了帮助考生了解考试形式,熟悉考试题型,掌握命题规律,本书特意安排了考试指南和无纸化真考试题样题,以贴近考试试卷的形式,供考生进行模拟练习。

5.智能考试模拟软件

为了更好地帮助考生复习,让考生用最短的时间得到最大收获,本书提供了配套光盘。配套光盘具有以下几大功能模块。

综合自测:考生在进行了系统的学习后,可通过此模块进行练习加以巩固强化。

真考题库:本书及配套软件提供全套无纸化真考题库,共14套选择题,101套操作题,配套答题软件提供100%真考环境,其操作界面、答题步骤、评分标准与真考完全一致。

名师讲义:通过多媒体的形式,以例题串讲考试大纲要求掌握的知识点,根据自己的薄弱环节,进行有针对性的复习。

机考环境介绍:提供有效的教学模块,全程演绎考试环境及必备的基础知识,让学习变得更轻松。

本书既可以作为计算机等级考试二级 Visual FoxPro的自学用书,也可以作为计算机等级考试二级Visual FoxPro培训班的教学参考和辅导用书。

本书由梁义涛担任主编,其中第1~9章由河南工业大学梁义涛老师编著。尽管我们精益求精,书中也难免存在疏漏之处,恳请广大读者批评指正。考生在学习过程中,可以访问未来教育考试网(www.eduexam. cn),及时获得最新考试信息及下载资源。如有疑问可以发送邮件至ncreedu@sina.com,我们将会给您满意的答复。

最后,衷心希望本书的出版对您的学习和应试有所帮助,祝愿您顺利通过考试。编者第0章考试指南

俗话说“知己知彼,百战不殆”。考生在备考之前,需要了解相关的考试信息,然后进行有针对性的复习,方可起到事半功偌的效果。为此,特安排了本章,帮助考生在最短的时间内了解到最实用的信息。本章介绍了考试环境及流程。各部分内容具体如下。

考试环境简介:介绍考试环境、考试题型及其分值等。

考试流程演示:主要是介绍真实考试的操作过程,以免考生不了解答题过程而造成失误。0.1 考试环境简介

根据教育部考试中心《关于全国计算机等级考试体系调座的通知(教试中心函〔2013〕29号)》文件对计算机等级考试的调座规定,对考试系统的硬件环境和软件环境均进行升级。

1.硬件环境

考试系统所需要的硬件环境见表0.1。表0.1

2.软件环境

考试系统所需要的软件环境见表0.2。表0.2

3.软件适用环境

本书配套的软件在教育部考试中心规定的最新考试环境下进行了严格的测试,适用于中文版Windows7操作系统。

4.题型及分值

全国计算机等级考试二级Visual FoxPro考试满分为100分,共有4种考查题型,即选择题(40小题,共40分)、基本操作题(4小题,共18分)、简单应用题(2小题,共24分)和综合应用题(1小题,18分)。

5.考试时间

全国计算机等级考试二级Visual FoxPro考试时间为120分钟,考试时间由考试系统自动计时,考试时间结束后,考试系统自动将计算机锁定,考生不能继续进行考试。0.2 考试流程演示

考生的考试过程分为登录、答题、交卷等阶段。

1.登录

在实际答题之前,需要进行考试系统的登录。一方面,这是考生姓名的记录凭据,系统要验证考生的“合法”身份;另一方面,考试系统也需要为每一位考生随机抽题,生成一份二级Visual FoxPro考试的试题。(1)启动考试系统。双击桌面上的“考试系统”快捷方式,或从开始菜单的“程序”中选择“第?(?为考次号)次NCRE”命令,启动“考试系统”,出现“登录界面”窗口,如图0.1所示。(2)输入准考证号。单击图0.1中的“开始登录”按钮或按回车键进入“身份验证”窗口,如图0.2所示。图0.1图0.2(3)考号验证。考生输入准考证号,单击图0.2中的“登录”按钮或按回车键后,可能会出现两种情况的提示信息。

如果输入的准考证号存在,将弹出“验证信息”窗口,要求考生对准考证号、姓名及身份证号进行验证,如图0.3所示。如果准考证号错误,单击“重输考号”按钮重新输入;如果准考证号正确,单击“开始考试”按钮继续。

如果输入的准考证号不存在,考试系统会显示相应的提示信息,并要求考生重新输入准考证号,直到输入正确或单击“确认”按钮退出考试系统为止,如图0.4所示。图0.3图0.4(4)登录成功。当考试系统抽取试题成功后,屏幕上会显示二级Visual FoxPro的考试须知,考生单击“开始考试并计时”按钮,开始考试并计时,如图0.5所示。图0.5

2.答题(1)试题内容查阅窗口。登录成功后,考试系统将自动在屏幕中间生成试题内容查阅窗口,至此,系统已为考生抽取一套完座的试题,如图0.6所示,单击其中的“选择题”“基本操作题”“简单应用题”或“综合应用题”按钮,可以分别查看各题型的题目要求。

当试题内容查阅窗口中显示上下或左右滚动条时,表示该窗口中的试题尚未完全显示,因此,考生可用鼠标操作显示余下的试题内容,防止因漏做试题而影响考试成绩。图0.6(2)考试状态信息条。屏幕中间出现试题内容查阅窗口的同时,屏幕顶部显示考试状态信息条,其中包括:①考生的准考证号、姓名、考试剩余时间;②可以随时显示或隐藏试题内容查阅窗口的按钮;③退出考试系统进行交卷的按钮。“隐藏窗口”字符表示屏幕中间的考试窗口正在显示着,当单击“隐藏窗口”字符时,屏幕中间的考试窗口就被隐藏,且“隐藏窗口”字符串变成“显示窗口”,如图0.7所示。图0.7(3)启动考试环境。在试题内容查阅窗口中,单击“答题”菜单下的“启动Visual FoxPro6.0”菜单命令,即可启动Visual FoxPro的考试环境,考生可以在此环境下答题。(4)考生文件夹。考生文件夹是考生存放答题结果的唯一位置。考生在考试过程中所操作的文件和文件夹绝对不能脱离考生文件夹,同时绝对不能随意删除此文件夹中的任何与考试要求无关的文件及文件夹,否则会影响考试成绩。考生文件夹的命名是系统默认的,一般为准考证号的前2位和后6位。假设某考生登录的准考证号为“2728999999000001”,则考生文件夹为“K:\考试机机号\27000001”。

3.交卷

考试过程中,系统会为考生计算剩余考试时间。考试时间用完后,系统会锁住计算机并提示输入“延时”密码。这时考试系统并没有自行结束运行,它需要输入延时密码才能解锁计算机并恢复考试界面,考试系统会自动再运行5分钟,在此期间可以单击“交卷”按钮进行交卷处理。如果没有进行交卷处理,考试系统运行到5分钟时,又会锁住计算机并提示输入“延时”密码,这时还可以使用延时密码。只要不进行“交卷”处理,可以“延时”多次。注意,只有监考人员才能使用“延时”的功能。

如果考生要提前结束考试并交卷,则在屏幕顶部显示的窗口中单击“交卷”按钮,考试系统将弹出如图0.8所示的信息提示。此时,考生如果单击“确认”按钮,则退出考试系统进行交卷处理,单击“取消”按钮则返回考试界面,继续进行考试。图0.8

如果进行交卷处理,系统首先锁住屏幕,并显示“系统正在进行交卷处理,请稍候!”,当系统完成交卷处理时,在屏幕上显示“交卷正常,请输入结束密码:”,这时只要输入正确的结束密码就可结束考试。注意:只有监考人员才能输入结束密码。第1章公共基础知识

本章为计算机等级考试二级的公共基础知识。本章主要内容有数据结构与算法、程序设计基础、软件工程基础和数据库设计基础。希望大家根据本章内容的学习,参考“真考链接”的相关指导,能尽快通过计算机等级考试。1.1 数据结构与算法考点1 算法

真考链接

考核概率为45%。考生要熟记该考点的内容,尤其是算法的概念,以及时间复杂度和空间复杂度的概念。

1.算法的基本概念

算法是指一系列解决问题的清晰指令。(1)算法的基本特征。

可行性:针对实际问题而设计的算法,执行后能够得到满意的结果,即必须有一个或多个输出。注意:即使在数学理论上是正确的,如果在实际的计算工具上不能执行,则该算法也是不具有可行性的。

确定性:是指算法中每一步骤都必须是有明确定义的。

有穷性:是指算法必须能在有限的时间内做完。

拥有足够的情报:一个算法是否有效,还取决于为算法所提供的情报是否足够。(2)算法的基本要素。

算法一般由以下两种基本要素构成。

对数据对象的运算和操作;

算法的控制结构,即运算和操作时间的顺序。

算法中对数据的运算和操作:算法就是按解题要求从指令系统中选择合适的指令组成的指令序列。因此,计算机算法就是计算机能执行的操作所组成的指令序列。不同的计算机系统,指令系统是有差异的,但一般的计算机系统中都包括的运算和操作有4类:算术运算、逻辑运算、关系运算和数据传输。

算法的控制结构:算法中各操作之间的执行顺序称为算法的控制结构。算法的功能不仅取决于所选用的操作,还与各操作之间的执行顺序有关。基本的控制结构包括顺序结构、选择结构和循环结构。(3)算法设计的基本方法。

算法设计的基本方法有列举法、归纳法、递推法、递归法、减半递推技术和回溯法。

2.算法复杂度

算法的复杂度主要包括时间复杂度和空间复杂度。(1)算法的时间复杂度。

所谓算法的时间复杂度是指执行算法所需要的计算工作量。

一般情况下,算法的工作量用算法所执行的基本运算次数来度量,而算法所执行的基本运算次数是问题规模的函数,即:算法的工作量=f(n)

其中n表示问题的规模。该表达式表示随着问题规模n的增大,算法执行时间的增长率和f(n)的增长率相同。

在同一个问题规模下,如果算法执行所需的基本运算次数取决于某一特定输入时,可以用两种方法来分析算法的工作量:平均性态分析和最坏情况分析。(2)算法的空间复杂度。

算法的空间复杂度一般是指执行这个算法所需要的内存空间。算法执行期间所需要的存储空间包括以下3个部分:

算法程序所占的空间;

输入的初始数据所占的存储空间;

算法执行过程中所需要的额外空间。

在实际操作中,为了减少算法所占的存储空间,通常采用压缩存储的技术,用于减少不必要的额外空间。考点2 数据结构的基本概念

1.数据结构的定义

数据结构是指相互有关联的数据元素的集合,即数据的组织形式。

真考链接

考核概率为45%。该知识点属于熟记内容,考生要熟记数据结构的定义、分类,能区分线性结构与非线性结构。(1)数据的逻辑结构。

所谓数据的逻辑结构,是指反映数据元素之间逻辑关系(即前后件关系)的数据结构。它包括两个要素:数据元素的集合和数据元素之间的关系。(2)数据的存储结构。

数据的逻辑结构在计算机存储空间中的存放形式称为数据的存储结构(也称为数据的物理结构)。数据结构的存储方式包括顺序存储方法、链式存储方法、索引存储方法和散列存储方法。而采用不同的存储结构,其数据处理的效率是不同的。因此,在进行数据处理时,选择合适的存储结构是很重要的。

数据结构研究的内容主要包括以下3个方面。

数据集合中各数据元素之间的逻辑关系,即数据的逻辑结构;

在对数据进行处理时,各数据元素在计算机中的存储关系,即数据的存储结构;

对各种数据结构进行的运算。

2.数据结构的图形表示

数据元素之间最基本的关系是前后件关系。前后件关系即每一个二元组,都可以用图形来表示。用中间标有元素值的方框表示数据元素,一般称为数据结点,简称为结点。对于每一个二元组,用一条有向线段从前件指向后件。

图形表示数据结构具有直观易懂的特点,在不引起歧义的情况下,前件结点到后件结点连线上的箭头可以省略。例如,树型结构中,通常都是用无向线段来表示前后件关系的。

3.线性结构与非线性结构

根据数据结构中各数据元素之间前后件关系的复杂程度,一般将数据结构分为两大类型,即线性结构和非线性结构。

如果一个非空的数据结构满足有且只有一个根结点,并且每个结点最多有一个直接前驱和一个直接后继,则称该数据结构为线性结构,又称线性表。如果不满足上述条件的数据结构则称为非线性结构。

小提示

需要注意的是,在一个线性结构中插入或删除任何一个结点后还应该是线性结构,否则,不能称为线性结构。

真题精选

下列叙述中正确的是( )。

A)程序执行的效率与数据的存储结构密切相关

B)程序执行的效率只取决于程序的控制结构

C)程序执行的效率只取决于所处理的数据量

D)以上三种说法都不对【答案】 A【解析】在计算机中,数据的存储结构对数据的执行效率有较大影响,如在有序存储的表中查找某个数值比在无序存储的表中查找的效率高很多。考点3 线性表及其顺序存储结构

真考链接

考核概率为45%。该知识点属于了解性内容,考生需要了解线性表的基本概念。

1.线性表的基本概念

数据结构中,线性结构又称为线性表,线性表是最简单也是最常用的一种数据结构。12n

线性表是由n(n≥0)个数据元素a,a,…,a组成的一个有限序列,表中的第一个元素外,有且只有一个前件;除了最后一个元素外,有且只有一个后件。

线性表或者是个空表,或者可以表示为:12in(a,a,…,a,…,a)i

其中,a(i=1,2,…,n)是线性表的数据元素,也称为线性表的一个结点。

每个数据元素在不同情况下其具体含义各不相同,它可以是一个数或一个字符,也可以是一个具体的事物,甚至是更复杂的信息。但是需要注意的是同一线性表中的数据元素必定具有相同的特性,即属于同一数据对象。

小提示

非空线性表具有以下一些结构特征。

只有一个根结点,即头结点,它无前件;

有且只有一个终结点,即尾结点,它无后件;

除头结点与尾结点外,其他所有结点有且只有一个前件,也有且只有一个后件。结点个数n称为线性表的长度,当n=0时,称为空表。

2.线性表的顺序存储结构

将线性表中的元素逐个存储在一片相邻的存储区域中。这种顺序表示的线性表也称为顺序表。

线性表的顺序存储结构具有以下两个基本特点。

元素所占的存储空间必须是连续的。

元素在存储空间的位置是按逻辑顺序存放的。

从上述特点也可以看出,线性表是用元素在计算机内物理位置上的相邻关系来表示元素之间逻辑上的相邻关系。只要确定了首地址,线性表内任意元素的地址都可以方便地计算出来。

3.线性表的插入运算

线性表的插入运算中,在第i个元素之前插入一个新元素,完成插入操作主要有以下3个步骤。(1)把原来第n个结点至第i个结点依次往后移一个元素位置。(2)把新结点放在第i个位置上。(3)修正线性表的结点个数。

小提示

一般会为线性表开辟一个大于线性表长度的存储空间,经过多次插入运算,可能出现存储空间已满的情况,如果此时仍继续插入运算,将会产生错误,此类错误称为“上溢”。

如果需要在线性表末尾进行插入运算,则只需在表的末尾增加一个元素即可,不需要移动线性表中的元素。

如果在第一个位置插入新的元素,则需要移动表中所有的数据。

4.线性表的删除运算

在线性表的删除运算中,删除第i个位置的元素,则要从第i+1个元素开始,直到第n个元素之间共n-i个元素依次向前移一个位置,完成删除运算主要有以下几个步骤。(1)把第i个元素之后(不包括第i个元素)的n-i个元素依次前移一个位置。(2)修正线性表的结点个数。

综上所述,如果删除运算在线性表的末尾进行,即删除第n个元素,则不需要移动线性表中的元素。如果要删除第1个元素,则需要移动表中所有的数据。

小提示

由线性表的上述性质可以看出,线性表的顺序存储结构适用于小线性表,或者建立之后元素不常变动的线性表,而不适用于需要经常进行插入和删除运算的线性表和长度较大的线性表。

真题精选【例1】下列有关顺序存储结构的叙述,不正确的是( )。

A)存储密度大

B)逻辑上相邻的结点物理上不必邻接

C)可以通过计算机直接确定第i个结点的存储地址

D)插入、删除操作不方便【答案】B【解析】顺序存储结构要求逻辑上相邻的元素物理地址上也相邻,所以只有选项B叙述错误。【例2】在一个长度为n的顺序表中,向第i个元素(1≤i≤n+1)的位置插入一个新元素,需要从后向前依次移动( )个元素。

A)n-i       B)i       C)n-i-1       D)n-i+1【答案】D【解析】根据顺序表的插入运算的定义知道,在第i个位置上插入inx,从a到a 都要向后移动一个位置,所以共需要移动n-i+1个元素。考点4 栈和队列

真考链接

考核概率为90%,此部分属于必考知识点。该考点较为基础,考生要理解栈和队列的概念和特点,掌握栈和队列的运算。

1.栈及其基本运算(1)栈的基本概念。

栈实际上也是线性表,只不过是一种特殊的线性表。在这种特殊的线性表中,其插入运算与删除运算都只在线性表的一端进行。

在栈中,允许插入与删除的一端称为栈顶(top),另一端称为栈底(bot-tom)。若栈中没有元素称为空栈。栈也被称为“先进后出”表,或“后进先出”表。(2)栈的特点。

根据栈的上述定义,栈具有以下特点。

栈顶元素总是最后被插入的元素,也是最早被删除的元素。

栈底元素总是最早被插入的元素,也是最后才能被删除的元素。

栈具有记忆作用。

在顺序存储结构下,栈的插入和删除运算都不需要移动表中其他数据元素。

栈顶指针top动态反映了栈中元素的变化情况。(3)栈的顺序存储及其运算。

栈的状态如图1.1所示。图1.1

根据栈的状态,可以得知栈的基本运算有以下3种。

入栈运算:在栈顶位置插入一个新元素。

退栈运算:取出栈顶元素并赋给一个指定的变量。

读栈顶元素:将栈顶元素赋给一个指定的变量。

2.队列及其基本运算(1)队列的基本概念。

队列是指允许在一端进行插入,而在另一端进行删除的线性表。允许插入的一端称为队尾,通常用一个称为尾指针(rear)的指针指向队尾元素;允许删除的一端称为排头,通常用一个头指针(front)指向头元素的前一个位置。

因此,队列又称为“先进先出”(First In First Out,FIFO)的线性表。插入元素称为入队运算,删除元素称为退队运算。

队列的基本结构如图1.2所示。图1.2(2)循环队列及其运算。

所谓循环队列,就是将队列存储空间的最后一个位置绕到第一个位置,形成逻辑上的环状空间,供队列循环使用。

在循环队列中,用尾指针(rear)指向队列的尾元素,用头指针(front)指向头元素的前一个位置。因此,从头指针(front)指向的后一个位置,直到尾指针(rear)指向的位置之间所有的元素均为队列中的元素。循环队列的初始状态为空,即rear=front。

循环队列的基本运算主要有两种:入队运算与退队运算。

入队运算是指在循环队列的队尾加入一个新的元素。

退队运算是指在循环队列的排头位置退出一个元素,并赋给指定的变量。

小提示

栈是按照“先进后出”或“后进先出”的原则组织数据的,而队列则是按照“先进先出”或“后进后出”的原则组织数据。这就是栈和队列的不同。

真题精选【例1】下列对队列的叙述正确的是( )。

A)队列属于非线性表          B)队列按“先进后出”原则组织数据

C)队列在队尾删除数据         D)队列按“先进先出”原则组织数据【答案】D【解析】队列是一种特殊的线性表,它只能在一端进行插入,在另一端进行删除。允许插入的一端称为队尾,允许删除的另一端称为队头。队列又称为“先进先出”或“后进后出”的线性表,体现了“先到先服务”的原则。【例2】下列关于栈的描述正确的是( )。

A)在栈中只能插入元素而不能删除元素

B)在栈中只能删除元素而不能插入元素

C)栈是特殊的线性表,只能在一端插入或删除元素

D)栈是特殊的线性表,只能在一端插入元素,而在另一端删除元素【答案】C【解析】栈是一种特殊的线性表。在这种特殊的线性表中,其插入和删除操作只能在线性表的一端进行。考点5 线性链表

真考链接

考核概率为35%。考生要熟记线性链表的概念和特点,以及顺序表和链表的优点、缺点等。

1.线性链表的基本概念

线性表的链式存储结构称为线性链表。

为了存储线性链表中的每一个元素,一方面要存储数据元素的值,另一方面要存储各数据元素之间的前后件关系。为此,在链式存储方式中,每个结点由两部分组成:一部分称为数据域,用于存放数据元素值;另一部分称为指针域,用于存放下一个数据元素的存储序号,即指向后件结点。链式存储结构既可以表示线性结构,也可以表示非线性结构。

线性表链式存储结构的特点是用一组不连续的存储单元存储线性表中的各个元素。因为存储单元不连续,所以数据元素之间的逻辑关系就不能依靠数据元素的存储单元之间的物理关系来表示。

2.线性链表的基本运算

线性链表主要包括以下几种运算。

在线性链表中包含指定元素的结点之前插入一个新元素;

在线性链表中删除包含指定元素的结点;

将两个线性链表按要求合并成一个线性链表;

将一个线性链表按要求进行分解;

逆转线性链表;

复制线性链表;

线性链表的排序;

线性链表的查找。

3.循环链表及其基本运算(1)循环链表的定义。

在单链表的第一个结点前增加一个表头结点,队头指针指向表头结点,在最后一个结点的指针域的值由NULL改为指向表头结点,这样的链表称为循环链表。循环链表中,所有结点的指针构成了一个环状链。(2)循环链表与单链表的比较。

对单链表的访问是一种顺序访问,从其中某一个结点出发,只能找到它的直接后继,但无法找到它的直接前驱。而且对于空表和第一个结点的处理必须单独考虑,空表与非空表的操作不统一。

在循环链表中,只要指出表中任何一个结点的位置,就可以从它出发访问到表中其他所有的结点。由于表头结点是循环链表所固有的结点,因此,即使在表中没有数据元素的情况下,表中也至少有一个结点存在,从而使空表和非空表的运算统一。

真题精选

下列叙述中正确的是( )。

A)线性链表是线性表的链式存储结构      B)栈与队列是非线性结构

C)双向链表是非线性结构           D)只有根结点的二叉树是线性结构【答案】A【解析】根据数据结构中各数据元素之间前后关系的复杂程序,可将数据结构分为两大类型:线性结构与非线性结构。如果一个非空的数据结构满足下列两个条件:①有且只有一个根结点;②每个结点最多有一个前驱,也最多有一个后继,则称该数据结构为线性结构,也叫做线性表。若不满足上述条件,则称之为非线性结构。线性表、栈与队列、线性链表都是线性结构,而二叉树是非线性结构。考点6 树和二叉树

真考链接

考核概率为100%,本节内容属于必考知识点,特别是关于二叉树的遍历。本知识点是数据结构的重要部分,考生要熟记该考点内容,尤其是二叉树的概念及其相关术语,并掌握二叉树的性质以及二叉树的3 种遍历方法。

1.树的基本概念

树是一种简单的非线性结构,直观地来看树是以分支关系定义的层次结构。树是由n(n≥0)个结点构成的有限集合,当n=0时,树称为空树;当n≠0时,树中的结点应该满足以下两个条件:

有且仅有一个没有前驱的结点称之为根;12}

其余结点分成m(m>0)个互不相交的有限集合T,T…Trm12}rmm,其中每一个集合又都是一棵树,称T,T…Tm为根结点的子树。

在树的结构中主要涉及下面几个概念。

每一个结点只有一个前件,称为父结点;没有前件的结点只有一个,称为树的根结点,简称树的根。

每一个结点可以有多个后件,称为该结点的子结点。没有后件的结点称为叶子结点。

一个结点所拥有的后继个数称为该结点的度。

所有结点最大的度称为树的度。

树的最大层次称为树的深度。

2.二叉树及其基本性质(1)二叉树的定义。

二叉树是一种非线性结构,是一个有限的结点集合,该集合或者为空,或者由一个根结点及其两棵互不相交的左右二叉子树组成。当集合为空时,称该二叉树为空二叉树。

二叉树具有以下特点。

二叉树可以为空,空的二叉树没有结点,非空二叉树有且只有一个根结点。

每一个结点最多有两棵子树,且分别称为该结点的左子树与右子树。(2)满二叉树和完全二叉树。

满二叉树:除最后一层外,每一层上的所有结点都有两个子结点,k-1即在满二叉树的第k层上有2个结点,且深度为m的满二叉树中有m2-1个结点。

完全二叉树:除最后一层外,每一层上的结点数都达到最大值;在最后一层上只缺少右边的若干结点。

满二叉树与完全二叉树的关系:满二叉树一定是完全二叉树,但完全二叉树不一定是满二叉树。(3)二叉树的主要性质。k-1

一棵非空二叉树的第k层上最多有2个结点(k≥1)。m

深度为m的满二叉树中有2-1个结点。

对任何一棵二叉树,度为0的结点(即叶子结点)总是比度为2的结点多一个。2

具有n个结点的完全二叉树的深度k为[log n]+1。

3.二叉树的存储结构

在计算机中,二叉树通常采用链式存储结构,用于存储二叉树中各元素的存储结点由数据域和指针域组成。由于每一个元素可以有两个后件(即两个子结点),所以用于存储二叉树的存储结点的指针域有两个:一个指向该结点的左子结点的存储地址,称为左指针域;另一个指向该结点的右子结点的存储地址,称为右指针域。因此,二叉树的链式存储结构也称为二叉链表。

对于满二叉树与完全二叉树可以按层次进行顺序存储。

4.二叉树的遍历

二叉树的遍历是指不重复地访问二叉树中的所有结点。二叉树的遍历主要是针对非空二叉树的,对于空二叉树,则结束返回。

二叉树的遍历有前序遍历、中序遍历和后序遍历。(1)前序遍序(DLR)。

首先访问根结点,然后遍历左子树,最后遍历右子树。(2)中序遍历(LDR)。

首先遍历左子树,然后访问根结点,最后遍历右子树。(3)后序遍历(LRD)。

首先遍历左子树,然后遍历右子树,最后访问根结点。

小提示

已知一棵二叉树的前序遍历序列和中序遍历序列,可以唯一确定这棵二叉树。已知一棵二叉树的后序遍历序列和中序遍历序列,也可以唯一确定这棵二叉树。已知一棵二叉树的前序遍历序列和后序遍历序列,不能唯一确定这棵二叉树。

真题精选

对如右图中二叉树进行后序遍历的结果为( )。

A)ABCDEF                 B)DBEAFC

C)ABDECF                 D)DEBFCA【答案】D【解析】执行后序遍历,依次执行如下操作:

①首先按照后序遍历的顺序遍历根结点的左子树;

②然后按照后序遍历的顺序遍历根结点的右子树;

③最后访问根结点。考点7 查找技术

真考链接

考核概率为35%,考生需要理解该考点内容,主要是顺序查找与二分查找的概念,以及一些查找的方法。

1.顺序查找

顺序查找一般是指在线性表中查找指定的元素。其基本思路是:从表中的第一个元素开始,依次将线性表中的元素与被查找元素进行比较,直到两者相符,查到所要找的元素为止。否则,表中没有要找的元素,查找不成功。

在最好的情况下,第一个元素就是要查找的元素,则比较次数为1次。

在最坏的情况下,顺序查找需要比较n次。

在平均情况下,需要比较n/2次。因此查找算法的时间复杂度为O(n)。

在下列两种情况下只能够采取顺序查找:

如果线性表中元素的排列是无序的,则无论是顺序存储结构还是链式存储结构,都只能用顺序查找;

即便是有序线性表,若采用链式存储结构,只能进行顺序查找。

2.二分查找

使用二分法查找的线性表必须满足以下两个条件:

顺序存储结构;

线性表是有序表。

所谓有序表,是指线性表中的元素按值非递减排列(即从小到大,但允许相邻元素值相等)。

对于长度为n的有序线性表,利用二分法查找元素x的过程如下。(1)将x与线性表的中间项进行比较。(2)若中间项的值等于x,则查找成功,结束查找。(3)若x小于中间项的值,则在线性表的前半部分以二分法继续查找。(4)若x大于中间项的值,则在线性表的后半部分以二分法继续查找。

这样反复进行查找,直到查找成功或子表长度为0(说明线性表中没有这个元素)为止。

当有序线性表为顺序存储时,采用二分查找的效率要比顺序查找高得多。对于长度为n的有序线性表,在最坏的情况下,二分查找只2需比较log n次,而顺序查找则需要比较n次。

真题精选

下列数据结构中,能用二分法进行查找的是( )。

A)顺序存储的有序线性表    B)线性链表  C)二叉链表    D)有序线性链表【答案】A【解析】二分法查找只适用于顺序存储的有序表。所谓有序表是指线性表中的元素按值非递减排列(即从小到大,但允许相邻元素值相等)。考点8 排序技术

真考链接

考核概率为25%,考生需要掌握该考点内容,主要是各种排序方法的概念、基本思想以及它们的复杂度。

1.交换类排序法

交换类排序法是指借助数据元素的“交换”进行排序的一种方法。本节介绍的冒泡排序法和快速排序法就是属于交换类排序法。(1)冒泡排序法。

冒泡排序的基本思想。

在线性表中依次查找相邻的数据元素,将表中最大的元素不断往后移动,反复操作直到消除所有逆序。此时,该表已经排序结束。

冒泡排序法的基本过程。

①从表头开始往后查找线性表,在查找过程中逐次比较相邻两个元素的大小。若在相邻两个元素中,前面的元素大于后面的元素,则将它们交换。

②从后到前查找剩下的线性表(除去最后一个元素),同样,在查找过程中逐次比较相邻两个元素的大小。若在相邻两个元素中,后面的元素小于前面的元素,则将它们交换。

③对剩下的线性表重复上述过程,直到剩下的线性表变空为止,线性表排序完成。

假设线性表的长度为n,则在最坏的情况下,冒泡排序需要经过n/2遍从前往后的扫描和n/2遍从后往前扫描,需要比较n(n-1)/2次,2其数量级为n。(2)快速排序法。

快速排序法的基本思想。

在线性表中逐个选取元素,将线性表进行分割,直到所有元素全部选取完毕,此时线性表已经排序结束。

快速排序法的基本过程。

①从线性表中选取一个元素,设为T,将线性表后面小于T的元素移动到前面,而将大于T的元素移到后面,这样就将线性表分成了两部分(称为两个子表)。T就是处于分界线的位置,将线性表分成了前后两个子表,且前面子表中的所有元素均不大于T,而后子表中的所有元素均不小于T,此过程称为线性表的分割。

②对分割后的子表再按上述原则进行反复分割,直到所有子表为空为止,则此时的线性表就变成有序。

2.插入类排序法

插入排序是指将无序序列中的各元素依次插入已经有序的线性表中。本节将主要介绍简单插入排序法和希尔排序法。(1)简单插入排序法。

简单插入排序是把n个待排序的元素看成一个有序表和一个无序表,开始时,有序表只包含一个元素,而无序表包含n-1个元素,每次取无序表中的第一个元素插入到有序表中的正确位置,使之成为增加一个元素的新的有序表。插入元素时,插入位置及其后的记录依次向后移动。最后有序表的长度为n,而无序表为空,此时排序完成。

在简单插入排序中,每一次比较后最多移除一个逆序,因此,该排序方法的效率与冒泡排序法相同。一般简单插入排序需要n(n-1)/2次比较。(2)希尔排序法。

希尔排序法是将座个无序序列分割成若干个小的子序列并分别进行插入排序。

分割方法如下:

①将相隔某个增量h的元素构成一个子序列;

②在排序过程中,逐次减少这个增量,直到h减到1时,进行一次插入排序,排序即可完成。

希尔排序的效率与所选取的增量序列有关。

3.选择类排序法

选择排序是通过每次从待排序序列中选出的最小值是元素,顺序放在已排好序的有序子表的后面,直到全部序列满足排序要求为止。下面就介绍选择类排序法中的简单选择排序法和堆排序法。(1)简单选择排序法。

进行简单选择排序,首先从所有n个待排序的数据元素中选择最小的元素,将该元素与第一个元素交换,再从剩下的n-1各元素中选出最小的元素与第二个元素交换。重复这样的操作直到所有的元素有序为止。

简单选择排序需要比较n(n-1)/2次。(2)堆排序法。

堆排序的方法如下:

①将一个无序序列建成堆;

②将堆顶元素与堆中最后一个元素交换。忽略已经交换到最后的那个元素,考虑前n-1个元素构成的子序列,只有左、右子树是堆,可以将该子树调座为堆。这样反复下去做第二步,直到剩下的子序列空为止。2

堆排序需要比较的次数为O(nlog n)。

真题精选

对于长度为n的线性表,下列各排序法所对应的比较次数中正确的是( )。

A)冒泡排序为n/2

B)冒泡排序为n

C)快速排序为n

D)快速排序为n(n-1)/2【答案】D【解析】假设线性表的长度为n,则冒泡排序需要经过n/2遍的从前往后扫描和n/2遍的从后往前扫描,需要比较次数为n(n-1)/2。快速排序法在最坏的情况下,比较次数也是n(n-1)/2。

常见问题

为什么只有二叉树的前序遍历和后序遍历不能唯一确定一棵二叉树?

在二叉树遍历中前序和后序中都可以肯定根结点,在中序是由左至根及右的顺序,所以知道前序(或后序)和中序肯定能唯一确定二叉树;在前序和后序中只能确定根结点而对于左右子树的结点元素没办法正确选取,所以很难确定一个二叉树。由此可见需要确定一棵二叉树的基础是必须得知道中序遍历。1.2 程序设计基础考点9 程序设计方法与风格

真考链接

考核概率为10%,考生需要熟记该考点内容,尤其是程序设计的4种规范及注释的相关概念。

1.程序设计方法

程序设计是指设计、编制、调试程序的方法和过程。

程序设计方法是研究问题求解如何进行系统构造的软件方法学。常用的程序设计方法有结构化程序设计方法、软件工程方法和面向对象方法。

2.程序设计风格

程序设计风格是指编写程序时所表现出的特点、习惯和逻辑思路。良好的程序设计风格可以使程序结构清晰合理,程序代码便于维护。因此,程序设计风格深深地影响着软件的质量和维护。要形成良好的程序设计风格,主要应注重和考虑的因素包括以下方面:

源程序文档化;

数据说明方法;

语句的结构;

输入和输出。

真题精选【例1】在下列叙述中,不属于良好程序设计风格要求的是( )。

A)程序的效率第一,清晰第二

B)程序的可读性好

C)程序中要有必要的注释

D)输入数据前要有提示信息【答案】A【解析】著名的“清晰第一,效率第二”的论点已经成为主导的程序设计风格,所以选项A是错误的,其余选项都是良好程序设计风格的要求。【例2】下列选项中不符合良好程序设计风格的是( )。

A)源程序要文档化

B)数据说明的次序要规范化

C)避免滥用goto语句

D)模块设计要保证高耦合、高内聚【答案】D【解析】良好的程序设计风格使程序结构清晰合理,使程序代码便于维护。应注意和考虑的因素主要有:①源程序要文档化;②数据说明的次序要规范化;③语句的结构应简单直接,不应该为提高效率而把语句复杂化,避免滥用goto语句;④模块设计要保证低耦合、高内聚。考点10 结构化程序设计

真考链接

考核概率为45%,考生要熟记该考点内容,尤其是结构化程序设计的3个原则以及结构化程序的基本结构的3种类型。

1.结构化程序设计的原则

结构化程序设计方法的主要原则可以概括为自顶向下、逐步求精、模块化及限制使用goto语句。

自顶向下:程序设计时,应先考虑总体,后考虑细节;先考虑全局目标,后考虑具体问题。

逐步求精:将复杂问题细化,细分为逐个小问题依次求解。

模块化:把程序要解决的总目标分解为若干目标,再进一步分解为具体的小目标,把每个小目标称为一个模块。

限制使用goto语句。

2.结构化程序设计的基本结构

结构化程序设计有3种基本结构,即顺序结构、选择结构和循环结构,其基本形式如图1.3所示。图1.3

3.结构化程序设计的原则和方法的应用

结构化程序设计是一种面向过程的程序设计方法。在结构化程序设计的具体实施中,需要注意以下问题。

使用程序设计语言的顺序、选择、循环等有限的控制结构表示程序的控制逻辑。

选用的控制结构只准许有一个入口和一个出口。

程序语句组成容易识别的块,每块只有一个入口和一个出口。

复杂结构应该使用嵌套的基本控制结构进行组合嵌套来实现。

语言中没有的控制结构,应该采用前后一致的方法来模拟。

严格控制goto语句的使用。

真题精选

下列选项中不属于结构化程序设计方法的是( )。

A)自顶向下                B)逐步求精

C)模块化                 D)可复用【答案】D【解析】20世纪70年代以来,提出了许多软件设计方法,主要包括:①逐步求精。对复杂的问题,应设计一些子目标作过渡,逐步细化。②自顶向下。程序设计时,应先考虑总体,后考虑细节;先考虑全局目标,后考虑局部目标。一开始不要过多追求细节,先从最上层总目标开始设计,逐步使问题具体化。③模块化。一个复杂问题肯定是由若干相对简单的问题构成。模块化是把程序要解决的总目标分解为分目标,再进一步分解为具体的小目标,把每个小目标称为一个模块。而可复用是面向对象程序设计的一个优点,不是结构化程序设计方法。考点11 面向对象的程序设计

真考链接

考核概率为65%,考生要熟记该考点内容,尤其是对象、类、实例、消息、继承、多态性的概念。

1.面向对象方法的本质

面向对象方法的本质就是主张从客观世界固有的事物出发来构造系统,提倡用人类在现实生活中常用的思维方法来认识、理解和描述客观事物,强调最终建立的系统能够映射问题域。

2.面向对象方法的优点

面向对象方法有以下主要优点:

与人类习惯的思维方法一致;

稳定性好;

可重用性好;

易于开发大型软件产品;

可维护性好。

3.面向对象方法的基本概念(1)对象。

对象是面向对象方法中最基本的概念。对象可以用来表示客观世界中任何实体,它既可以是具体的物理实体的抽象,也可以是人为概念,或者是任何有明确边界和意义的东西。(2)类。

类是具有共同属性、共同方法的对象的集合,是关于对象的抽象描述,反映属于该对象类型的所有对象的性质。(3)实例。

类中的一个具体对象被称为是这个类的一个实例。(4)消息。

消息是一个实例与另一个实例之间传递的信息,它请求对象执行某一处理或回答某一要求的信息,它统一了数据流和控制流。(5)继承。

继承是使用已有的类定义作为基础建立新类的定义技术。在面向对象技术中,类组成为具有层次结构的系统:一个类的上层可有父类,下层可有子类;一个类直接继承其父类的描述(数据和操作)或特性,子类自动地共享基类中定义的数据和方法。(6)多态性。

对象根据所接受的信息而做出动作,同样的消息被不同的对象接受时可以有完全不同的行动,该现象称为多态性。

小提示

当使用“对象”这个术语时,既可以指一个具体的对象,也可以泛指一般的对象,但是当使用“实例”这个术语时,必须是指一个具体的对象。

真题精选

在面向对象方法中,实现信息隐蔽是依靠( )。

A)对象的继承     B)对象的多态     C)对象的封装     D)对象的分类【答案】C【解析】对象是由数据和操作组成的封装体,与客观实体有直接的对应关系。对象之间通过传递消息互相联系,以模拟现实世界中不同事物彼此之间的关系。面向对象技术的3个重要特性为封装性、继承性和多态性。封装性是指从外面只能看到对象的外部特性,对象的内部对外是不可见的。所以,实现信息隐蔽是依靠对象的封装。

常见问题

对象是面向对象最基本的概念,请问对象有哪些特点?

①标识唯一性:指对象是可区分的,并且由对象的内在本质来区分;②分类性:指可以将具体相同属性和操作的对象抽象成类;③多态性:指同一个操作可以是不同对象的行为;④封装性:指从外面不能直接使用对象的处理能力,也不能直接修改其内部状态,对象的内部状态只能由其自身改变模块的独立性。1.3 软件工程基础考点12 软件工程基本概念

真考链接

考核概率为75%,考生要熟记该考点内容,尤其是软件的定义、特点、软件工程的目标与原则、开发工具与开发环境,并理解软件工程过程与软件生命周期。

1.软件定义与软件特点(1)软件的定义。

软件(software)是与计算机系统的操作有关的计算机程序、规程、规则,以及可能有的文件、文档及数据。

计算机软件由两部分组成:一是机器可执行的程序和数据;二是机器不可执行的,与软件开发、运行、维护、使用等有关的文档。(2)软件的特点。

软件主要包括以下几个特点:

软件是一种逻辑实体,具有抽象性;

软件的生产与硬件不同,它没有明显的制作过程;

软件在运行、使用期间,不存在磨损、老化问题;

软件的开发、运行对计算机系统具有依赖性,受计算机系统的限制,这就导致了软件移植的问题;

软件复杂性高、成本昂贵;

软件开发涉及诸多的社会因素。

2.软件危机与软件工程(1)软件危机。

软件危机泛指在计算机软件的开发和维护中所遇到的一系列严重问题。具体地说,在软件开发和维护过程中,软件危机主要表现在以下方面。

软件需求的增长得不到满足;

软件的开发成本和进度无法控制;

软件质量难以保证;

软件不可维护或维护程度非常低;

软件的成本不断提高;

软件开发生产率的提高赶不上硬件的发展和应用需求的增长。

总之,可以将软件危机归结为成本、质量、生产率等问题。(2)软件工程。

软件工程是应用于计算机软件的定义、开发和维护的一座套方法、工具、文档、实践标准和工序。

软件工程包括软件开发技术和软件工程管理。软件工程工程包括3个要素,即方法、工具和过程。软件的核心思想是把软件产品看作是一个工程产品来处理。

3.软件工程过程与软件生命周期(1)软件工程过程。

软件工程过程是把输入转化成为输出的一组彼此相关的资源和活动。(2)软件生命周期。

通常,将软件产品从提出、实现、使用维护到停止使用的过程称为软件生命周期。

软件生命周期主要包括软件定义、软件开发及软件运行维护三个阶段。其中软件生命周期的主要活动阶段包括可行性研究与计划制定、需求分析、软件设计、软件实现、软件测试和运行维护。

4.软件工程的目标与原则(1)软件工程的目标。

软件工程需达到的目标是:在给定成本、进度的前提下,开发出具有有效性、可靠性、可理解性、可维护性、可重用性、可适应性、可移植性、可追踪性和可互操作性且满足用户需求的产品。(2)软件工程的原则。

为了实现上述软件工程目标,在软件开发过程中,必须遵循软件工程的基本原则。这些原则适用于所有的软件项目。这些基本原则包括抽象、信息隐蔽、模块化、局部化、确定性、一致性、完备性和可验证性。

5.软件开发工具与软件开发环境

软件开发工具与软件开发环境的使用提高了软件的开发效率、维护效率和软件质量。(1)软件开发工具。

软件开发工具的产生、发展和完善促进了软件的开发速度和质量的提高。软件开发工具从初期的单项工具逐步向集成工具发展。与此同时,软件开发的各种方法也必须得到相应的软件工具的支持,否则方法就很难有效地实施。(2)软件开发环境。

软件开发环境是全面支持软件开发过程的软件工具集合。这些软件工具按照一定的方法或模式组合起来,支持软件生命周期的各个阶段和各项任务的完成。

计算机辅助软件工程(CASE)是当前软件开发环境中富有特色的研究工作和发展方向。CASE将各种软件工具、开发机器和一个存放过程信息的中心数据库组合起来,形成软件工程环境。一个良好的工程环境将最大限度地降低软件开发的技术难度并使软件开发的质量得到保证。

真题精选

下列描述中正确的是( )。

A)程序就是软件               B)软件开发不受计算机系统的限制

C)软件既是逻辑实体,又是物理实体       D)软件是程序、数据与相关文档的集合【答案】D【解析】计算机软件是计算机系统中与硬件相互依存的另一部分,包括程序、数据及相关文档的完整集合。软件具有如下特点:①软件是一种逻辑实体,而不是物理实体,具有抽象性;②软件的生产过程与硬件不同,没有明显的制作过程;③软件在运行、使用期间,不存在磨损、老化问题;④软件的开发、运行对计算机系统具有不同程度的依赖性,这导致软件移植的问题;⑤软件复杂性高,成本昂贵;⑥软件开发涉及诸多的社会因素。考点13 结构化分析方法

真考链接

考核概率为85%,考生要熟记该考点内容,尤其是熟记需求分析的定义及其工作、两种需求分析方法,并理解结构化分析方法常用的工具。

1.需求分析和需求分析方法(1)需求分析。

软件需求是指用户对目标软件系统在功能、行为、性能、设计约束等方面的期望。

需求分析的任务是发现需求、求精、建模和定义需求的过程。需求分析将创建所需的数据模型、功能模型和控制模型。

需求分析阶段的工作,可以概括为4个方面,即需求获取、需求分析、编写需求规格说明书和需求评审。(2)需求分析方法。

常用的需求分析方法有结构化分析方法和面向对象分析方法。

2.结构化分析方法(1)结构化分析方法介绍。

结构化分析方法是结构化程序设计理论在软件需求分析阶段的应用。

结构化分析方法的实质是着眼于数据流,自顶向下,逐层分解,建立系统的处理流程,以数据流图和数据字典为主要工具,建立系统的逻辑模型。(2)结构化分析方法的常用工具。

结构化分析方法的常用工具包括数据流图(DFD)、数字字典(DD)、判断树和判断表。下面主要介绍数据流图和数字字典。

数据流图(Data Flow Diagram,DFD)是描述数据处理的工具,是需求理解的逻辑模型的图形表示,它直接支持系统的功能建模。

数据流图从数据传递和加工的角度来刻画数据流从输入到输出的移动变换过程。数据流图中的主要图形元素及说明如表1.1所示。表1.1

数据字典是结构化分析方法的核心。数据字典是对所有与系统相关的数据元素的一个有组织的列表,以及明确的、严格的定义,使得用户和系统分析员对于输入、输出、存储成分和中间计算结果有共同的理解。通常数据字典包含的信息有名称、别名、何处使用/如何使用、内容描述、补充信息等。数据字典中有4种类型的条目,即数据流、数据项、数据存储和加工。

小提示

数据流图与程序流程图中用箭头表示的控制流有本质的不同,千万不要混淆。此外,数据存储和数据流都是数据,仅仅是所处的状态不同。数据存储是处于静止状态的数据,数据流是处于运动中的数据。

3.软件需求规格说明书

软件需求规格说明书是需求分析阶段的最后结果,是软件开发中的重要文档之一。

软件需求规格说明书的标准主要有正确性、无歧义性、完座性、可验证性、一致性、可理解性、可修改性和可追踪性。

真题精选

在结构化分析使用的数据流图(DFD)中,利用( )对其中的图形元素进行确切解释。【答案】 数据字典【解析】数据字典是结构化分析方法的核心。数据字典是对所有与系统相关的数据元素的一个有组织的列表,以及精确的、严格的定义,使得用户和系统分析员对于输入、输出、存储成分和中间计算结果有共同的理解。数据字典把不同的需求文档和分析模型紧密地结合在一起,与各模型的图形表示配合,能清楚地表达数据处理的要求。总而言之,数据字典的作用是对DFD中出现的被命名的图形元素的确切解释。考点14 结构化设计方法

真考链接

考核概率为65%,考生要熟记该考点内容,尤其是概要设计的基本任务、准则,并理解软件设计的基本原理、面向数据流的设计方法、详细设计的工具。

1.软件设计的基本概念及方法(1)软件设计的基础。

软件设计是软件工程的重要阶段,是一个把软件需求转换为软件表示的过程。软件设计的基本目标是用比较抽象概括的方式确定目标系统如何完成预定的任务,即软件设计是确定系统的物理模型。(2)软件设计的基本原理。

软件设计遵循软件工程的基本目标和原则,建立了适用于在软件设计中应该遵循的基本原理和与软设计有关的概念,主要包括抽象、模块化、信息隐藏以及模块的独立性。下面主要介绍模块独立性的一些度量标准。

模块的独立程度是评价设计好坏的重要度量标准。衡量软件的模块独立性的定性度量标准是使用耦合性和内聚性。

耦合性是模块间互相联结的紧密程序的度量。内聚性是一个模块内部各个元素间彼此结合的紧密程度的度量。通常较优秀的软件设计,应尽量做到高内聚、低耦合。(3)结构化设计方法。

结构化设计就是采用最佳可能方法设计系统的各个组成部分及各成分之间的内部联系的技术。也就是说,结构化设计是这样一个过程,它决定用哪些方法把哪些部分联系起来,才能解决好某个具体有清楚定义的问题。

结构化设计方法的基本思想是将软件设计成由相对独立、单一功能的模块组成的结构。

小提示

试读结束[说明:试读内容隐藏了图片]

下载完整电子书


相关推荐

最新文章


© 2020 txtepub下载