二级公共基础教案(%)_第1页
二级公共基础教案(%)_第2页
二级公共基础教案(%)_第3页
二级公共基础教案(%)_第4页
二级公共基础教案(%)_第5页
已阅读5页,还剩255页未读 继续免费阅读

下载本文档

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

文档简介

1、二级公共基础考前辅导Email: 主讲教师:胡晓丽主讲教师:胡晓丽桂林电子科技大学桂林电子科技大学相关知识在二级考试中,占总分的10%n数据结构与算法n程序设计基础n软件工程基础n数据库设计基础数据结构与算法高频考点nTop1:算法的基本概念nTop2:算法的复杂度nTop3:逻辑结构与存储结构nTop4:线性结构与非线性结构nTop5:栈nTop6:队列nTop7:链表nTop8:二叉树及其基本性质数据结构与算法高频考点nTop9:二叉树的遍历nTop10:顺序查找nTop11:二分法查找nTop12:排序Top1:算法的基本概念n知识点算法是解决问题准确而完整的描述。算法是解决问题准确而完

2、整的描述。它是对特定问题求解步骤的一种描述,是指令的有限序列,其中每条指令表示一个或多个操作。严格来说,一个算法必须满足下面5个主要特性。Top1:算法的基本概念1.有穷性:有穷性:一个算法必须在执行有穷步之后结束(对任何合法的输入值),而且每一步都必须在有穷时间内完成。2.确定性:确定性:算法中每条指令必须有确定的含义,且在任何条件下,算法只有唯一的一条执行路径。3.可行性:可行性:算法中描述的操作都是可以通过已经实现的基本运算执行有限次来实现的。4.有输入:有输入:一个算法可以有0个或多个输入。5.有输出:有输出:一个算法必须有1个或多个输出。Top1:算法的基本概念n真题分析(2011年

3、9月)下列说法中正确的是A、算法就是程序B、设计算法时只需考虑数据结构的设计C、设计算法时只需考虑结果的可靠性D、以上三种说法都不对DTop1:算法的基本概念n真题分析(2008年4月)算法的有穷性是指A、算法程序的运行时间是有限的 B、算法程序所处理的数据量是有限的 C、算法程序的长度是有限的 D、算法只能被有限的用户使用 A一个算法必须在执行有穷步之后结束(对任何合法的输入值),而且每一步都必须在有穷时间内完成。Top2:算法的复杂度知识点知识点n衡量算法优劣的两个标准一个算法的优劣将影响到算法乃至程序的效率。算法分析的目的是在于选择合适的算法和改进算法。评价一个算法的好坏有两个标准:时间

4、复杂度时间复杂度和空间复空间复杂度。杂度。Top2:算法的复杂度1.算法的时间复杂度时间复杂度是指执行算法所需要执行算法所需要的计算工作量的计算工作量,可以用执行算法的过程中所需要的基本运算的执行次数基本运算的执行次数来度量;2.算法的空间复杂度空间复杂度是指执行这个算法所需要的内存空间内存空间的大小。Top2:算法的复杂度n真题分析(2013年3月)CTop2:算法的复杂度n真题分析(2005年9月)算法的复杂度主要包括时间复杂度和复杂度。空间空间Top3:逻辑结构与存储结构n知识点1.逻辑结构逻辑结构是反映元素之间逻辑关系的,即前后件关系,分为线性结构线性结构(常见的有线性表、栈和列队)和

5、非线性结构非线性结构(常见的有树和图)2.存储结构存储结构(物理结构)是数据的逻辑结构在数据的逻辑结构在计算机存储空间中的存放形式计算机存储空间中的存放形式。在数据的存储结构中,不仅要存放各种数据元素的信息,还要存放元素之间的前后件关系的信息。Top3:逻辑结构与存储结构n知识点3.数据的逻辑结构与数据的存储结构并不是一数据的逻辑结构与数据的存储结构并不是一一对应的一对应的。一般来说,一种数据的逻辑结构一种数据的逻辑结构根据需要可以表示成多种存储结构根据需要可以表示成多种存储结构。常见的存储结构有顺序、链接、索引、散列顺序、链接、索引、散列等。采用不同的存储结构,其数据的处理效率是不同的。To

6、p3:逻辑结构与存储结构n真题分析(2005年9月)下列叙述中正确的是A、一个逻辑数据结构只能有一种存储结构B、数据的逻辑结构属于线性结构,存储结构属于非线性结构。C、一个逻辑数据结构可以有多种存储结构,且种存储结构不影响数据处理的效率。D、一个逻辑数据结构可以有多种存储结构,且种存储结构影响数据处理的效率。D一种逻辑结构可以有多种存储结构,且不一种逻辑结构可以有多种存储结构,且不同的存储结构影响数据处理的效率。同的存储结构影响数据处理的效率。逻辑结构分为线性结构与非线性结构。逻辑结构分为线性结构与非线性结构。Top3:逻辑结构与存储结构n真题分析(2007年9月)下列叙述中正确的是A、程序执

7、行的效率与数据的存储结构密切相关B、顺序存储结构只针对线性结构,链式存储结构只针对非线性结构C、程序执行的效率只取决于所处理的数据量D、以上三种说法都不对ATop4:线性结构与非线性结构n知识点1.根据数据结构中各数据元素之间前后件的复杂程序,一般将数据结构分为两大类型:线性结构和非线性结构。2.如果一个非空的数据结构满足下列两个条件:有且只有一个根结点每个结点最多有一个前件,也最多只有一个后件。则称该数据结构为线性结构。线性表是典型的线性结构,如栈、队列、串。典型的线性结构,如栈、队列、串。3.如果一个数据结构不是线性结构,则称为非线性结非线性结构。如多维数组、广义表、树和图等。构。如多维数

8、组、广义表、树和图等。Top4:线性结构与非线性结构n真题分析(2006年9月)数据结构分为线性结构和非线性结构,带链的队列属于线性结构线性结构Top4:线性结构与非线性结构真题分析(2011年9月)数据结构分为线性结构和非线性结构,带链的栈属于 。(填空题第一题)线性结构线性结构Top4:线性结构与非线性结构n真题分析(2006年4月)下列叙述中正确的是A、线性链表是线性表的链式存储结构B、栈与队列是非线性结构C、双向链表是非线性结构D、只有根结构的二叉树是线性结构A线性链表就是指线性表的链式存储结构,简称链表。线性表链式存储结构的基本单位称为存储结点,每个结点包括数据域和指针域两个部分。栈

9、、队列和双向链表都是线性结构二叉树是非线性结构。线性结构和非线性结构是从数据的逻辑结构角度来讲的,与该数据结构中有多少个元素没有关系,即使是空的二叉树也是非线性结构。Top4:线性结构与非线性结构n真题分析(2007年9月)下列叙述中正确的是A、数据的逻辑结构与存储结构必定是一一对应的B、由于计算机存储空间是向量式的存储结构,因此,数据的存储结构一定是线性结构C、程序设计语言中的数组一般是顺序存储结构,因此,利用数组只能处理线线结构D、以上三种说法都不对B一种逻辑结构可以对应多种存储结构存储结构一定是线性的。一般是在内存中开辟一块连续的存储单元用来存放数据元素。数组可以用来处理线性结构,也可以

10、用来存储非线性结构。Top4:线性结构与非线性结构n真题分析(2008年9月)下列叙述中正确的是A、顺序存储结构的存储一定是连续的,链式存储结构的存储空间不一定是连续的B、顺序存储结构只针对线性结构,链式存储结构只针对非线性结构C、顺序存储结构能存储有序表,链式存储结构不能存储有序表D、链式存储结构比顺序存储结构节省存储空间A链式存储结构的存储空间可以是连续的,也可以是不连续的。链式存储主要是通过指针域来找到下一个结点所在的存储单元。10001002100410061008100A100C12345100210041006100801234532514100810000100210041000

11、1002100410061008100A100C100010021004100612345链式存储顺序存储Top4:线性结构与非线性结构真题分析(2011年3月)下列叙述中正确的是A、有一个以上根结点的数据结构不一定是非线性结构B)只有一个根结点的数据结构不一定是线性结构C)循环链表是非线性结构D)双向链表是非线性结构B线性结构的定义是:(1)只有一个根结点(2)除了根结点外,每个结点只有一个前件,也只有一个后件。只有一个根结点的数据结构也可能是非线性结构,如树,也只有一个根结点。Top5:栈n知识点1.栈(堆栈STACK)是一种运算受限制的线性表。限制其只能在表的一端进行插入和删除操作,此端

12、称为栈顶,栈顶的第一个元素称为栈顶元素,相对地,把另一端称为栈底。2.向一个栈插入新元素称为入栈,从栈中删除一个元素称为出栈出退栈。3.由于栈的插入和删除只能在一端进行,后进栈的元素必定先出栈,所以栈又称为后进先出表LIFO;先进栈的元素必定后出栈,所以栈又称为先进后出FILO表。Top5:栈栈底dcba栈顶入栈入栈出栈出栈结论:后进先出,先进后出结论:后进先出,先进后出栈顶栈顶栈顶Top5:栈n真题分析(2013年3月)CTop5:栈n真题分析(2013年3月)BTop5:栈n真题分析(2006年9月)按“后进先出”原则组织数据的数据结构是栈栈Top5:栈n真题分析(2006年4月)按照“后

13、进先出”原则组织数据的数据结构是A、队列B、栈C、双向链表D、二叉树BTop5:栈n真题分析(2005年9月)下列关于栈的描述中正确的是A、在栈中只能插入元素而不能删除元素B、在栈中只能删除元素而不能插入元素C、栈是特殊的线性表,只能在一端插入或删除D、栈是特殊的线性表,只能在一端插入,在另一端删除。CTop5:栈n真题分析(2005年4月)下列关于栈的描述错误的是A、栈是先进后出的线性表B、栈只能顺序存储C、栈具有记忆作用D、对栈的插入和删除操作中,不需要改变栈底指针BTop5:栈n真题分析(2008年4月)下列关于栈的叙述正确的是 A、栈按“先进先出”组织数据B、栈按“先进后出”组织数据

14、C、只能在栈底插入数据 D、不能删除数据 BTop5:栈n真题分析(2008年9月)一个栈的初始状态为空。现将元素1、2、3、4、5、A、B、C、D、E依次入栈,然后再依次出栈,则元素出栈的顺序是A、12345ABCDEB、 EDCBA54321C、ABCDE12345D、54321EDCBABTop5:栈n真题分析(2009年4月)支持子程序调用的数据结构是nA)栈nB)树nC)队列nD)二叉树ATop5:栈n真题分析(2011年3月)下列关于栈的叙述中正确的是(选择题第1题)A、栈顶元素最先能被删除B、栈顶元素最后才能被删除C、栈底元素永远不能被删除D、以上三种说法都不对ATop5:栈n练

15、习题1、如果进栈序列为e1,e2,e3,e4,则可能的出栈序列是A、e3,e1,e4,e2B、e2,e4,e3,e1C、e3,e4,e1,e2D、任意顺序BTop5:栈e4e3e2e1入栈入栈栈底栈顶栈顶栈顶e4e3e2e1栈底出栈出栈出栈出栈入栈入栈Top6:队列n知识点1.队列(QUEUE)简称队,和栈一样,也是一种运算受限制的线性表。其限制体现在仅允许在表的一端进行插入(队尾),在另一端进行删除(队首)。2.向队列中插入新元素称为进队或入队,新元素进入后就成为新的队尾元素;从队列中删除元素称为离队或出队,元素离队后,其后继元素成为队首元素。3.由于队列的插入和删除操作分别是在各自的一端进

16、行的,每个元素必然按照进入的次序离队,所以队列称为先进先出表(FIFO),或后进后出表(LILO)Top6:队列e4e3e2e1队首入队入队队尾队尾队尾出队出队e4e3e2e1结论:先进先出,后进后出结论:先进先出,后进后出Top6:队列循环队列循环队列rearfronte1队列为空时,头指针等于尾指针队列为空时,头指针等于尾指针e2队列中元素个数为队列中元素个数为rear-frontrearrearTop6:队列e4e3e2e1frontreare7e6e5rearfronte8rear队头指针大于队尾指针时,元素个数队头指针大于队尾指针时,元素个数=队尾队尾+m-队头队头e9e10rear

17、队头指针等于队尾指针时,队列满队头指针等于队尾指针时,队列满Top6:队列n真题分析(2013年3月)ATop6:队列n真题分析(2013年3月)BTop6:队列n真题分析(2005年9月)数据结构可以分为逻辑结构和存储结构,循环队列属于结构。存储存储循环队列是指将队列存储空间的最后一个位置绕到第一个位置,形成一个环状空间,供队列循环使用。所以循环队列是属于存储结构。Top6:队列n真题分析(2007年4月)下列队列的叙述中正确的是A、队列属于非线性表B、队列按“先进后出”原则组织数据C、队列在队尾删除数据D、队列按“先进先出”原则组织数据DTop6:队列n真题分析(2007年9月)线性表的存

18、储结构主要分为顺序存储结构和链式存储结构.队列是一种特殊的线性表,循环队列是队列的_存储结构.顺序顺序Top6:队列n真题分析(2008年4月)设某循环队列的容量为50,头指针front=5(指向队头元素的前一位置),尾指针rear=29(指向队尾元素),则该循环队列中共有个元素。 24Top7:链表(单链表)n知识点1.数据结构中,每个数据存储在一个存储单元中,这个存储单元称为“结点”。在链式(单链)存储方式中,要求每个结点由两部分组成:存放数据元素的数据域和存放指针的指针域。其中指针指向该结点的前一个或后一个结点。2.在链式存储结构中,存储数据结构的存储空间可以存储空间可以不连续不连续,各

19、个数据结点存储顺序与数据元素的逻辑关系可以不一致,而数据元素之间的逻辑关系是由指针来确定的。3.线性表的链式存储结构称为线性链表。Top7:链表(单链表)20310051003110011002100310041005100610071008 head1 head23 单链表的逻辑结构 单链表的存储结构nullTop7:链表(单链表)n真题分析(2013年3月)BTop7:链表(单链表)n真题分析(2005年4月)下列对于线性链表的描述中正确的是A、存储空间不一定是连续,且各元素的存储顺序是任意的。B、存储空间不一定是连续,且前件元素一定存储在后件元素的前面C、存储空间必定连续,且各前件元素一

20、定存储在后件元素的前面D、存储空间必定连续,且各元素的存储顺序是任意的ATop7:链表(单链表)n真题分析(2009年4月)下列叙述中正确的是A)栈是先进先出的线性表B)队列是先进后出的线性表C)循环队列是非线性结构D)有序线性表即可以采用顺序存储结构,也可以采用链式存储结构DTop7:链表(单链表)n真题分析(2011年9月)下列关于线性链表的叙述中,正确的是_A)各个数据结点的存储空间可以不连续,但它们的存储顺序与逻辑顺序必须一致B)各个数据结点的存储顺序与逻辑顺序或以不一致,但它们的存储空间必须连续C)进行插入与删除时,不需要移动表中的元素D)以上三种说法都不对Top7:链表(单链表)2

21、0310051003110011002100310041005100610071008 head1 head23 单链表的逻辑结构 单链表的存储结构null5100751003Top7:链表(单链表)n真题分析(2011年9月)下列关于线性链表的叙述中,正确的是_A)各个数据结点的存储空间可以不连续,但它们的存储顺序与逻辑顺序必须一致B)各个数据结点的存储顺序与逻辑顺序或以不一致,但它们的存储空间必须连续C)进行插入与删除时,不需要移动表中的元素D)以上三种说法都不对CTop8:二叉树及其基本性质n知识点1. 树是一种非线性结构,所有数据元素之间的关系具有明显的层次性。ABCDEFGHI结点度

22、叶子宽度深/高度Top8:二叉树及其基本性质n知识点2.二叉树具有两个特点:非空二叉树只有一个根结点每一个结点最多有两棵子树,且分另称为左子树和右子树ABCDEGFTop8:二叉树及其基本性质n知识点3.二叉树的性质在二叉树中,第i层上的结点数不超过2i-1深度为h(h1)的二叉树最多有2h-1个结点,最少有h个结点对于任意一棵二叉树,如果其叶子结点数(度为0)为x,而度为2的结点总数为Y,则X=Y+1具有n个结点的完全二叉树的深度为int(log2n)+1Top8:二叉树及其基本性质n知识点4.完全二叉树:除最后一层外,每一层上的结点都达到最大值(2),在最后一层上的结点都集中在该层最左边的

23、若干位置,也就是说,只能缺少右边的若干结点。ABCDEGFABCDEHFGTop8:二叉树及其基本性质ABCDEHFGABCDEHFGI完全二叉树特点:有完全二叉树特点:有n个结点的完全二叉树,其深度为个结点的完全二叉树,其深度为 log2n+1Top8:二叉树及其基本性质n知识点5.满二叉树:除最后一层外,其它每一层上的结点都有两个子结点。ABCDEFEABCTop8:二叉树及其基本性质n真题分析(2013年3月)CTop8:二叉树及其基本性质n真题分析(2013年3月)CTop8:二叉树及其基本性质n真题分析(2013年3月)CTop8:二叉树及其基本性质n真题分析(2011年9月)下列关

24、于二叉树的叙述中,正确的是(选择题第3题)A)叶子结点总是比度为2的结点少一个 B) 叶子结点总是比度为2的结点多一个 C)叶子结点数是度为2的结点数的两倍 D)度为2的结点是度为1的结点数的两倍B性质3:对于任意一棵二叉树,如果其叶子结点数(度为0)为x,而度为2的结点总数为Y,则X=Y+1Top8:二叉树及其基本性质n真题分析(2007年4月)某二叉树中有n个度为2的结点,则该二叉树中,叶子结点数为A、n+1B、n-1C、2nD、n/2ATop8:二叉树及其基本性质n真题分析(2007年4月)在深度为7的满二叉树中,度为2的结点个数为27-1=N0+N2N2=N0-1127=N0+(N0-

25、1)N0=64,N2=6363Top8:二叉树及其基本性质n真题分析(2011年3月)某二叉树共有7个结点,其中叶子结点只有1个,则该二叉树的深度为 (假设根结点在第1层) (选择题第3题)A)3 B)4 C)6 D)7DABCDEFGTop8:二叉树及其基本性质n真题分析(2005年9月)一棵二叉树第六层(根结点为第1层)的结点数最多为个二叉树性质二叉树性质在二叉树中,第在二叉树中,第i层上的结点数不超过层上的结点数不超过2i-132Top8:二叉树及其基本性质n真题分析(2005年4月)某二叉树中,度为2的结点数有18个,则该二叉树中有个叶子结点。19Top8:二叉树及其基本性质n真题分析

26、(2007年9月)一棵二叉树中共有70个叶子结点与80个度为1的结点,则该二叉树中的总结点数为A、219B、221C、229D、231ATop8:二叉树及其基本性质n真题分析(2008年4月)深度为5的满二叉树有个叶子结点。 16Top9:二叉树的遍历n知识点1.遍历是对树的一种最基本的运算,所谓遍历二叉树,就是按一定的规则和顺序走遍二叉树的所有结点,所每个结点都被访问一次,且仅被访问一次。2.按访问根结点根结点先后顺序,遍历分为先序遍历,中序遍历和后序遍历。Top9:二叉树的遍历ABCDEFG先序遍历:先访问根结点,然后访问左子树,最后访问右子树。先序遍历:先访问根结点,然后访问左子树,最后

27、访问右子树。H后序遍历结果为:后序遍历结果为: A BDHE CFGTop9:二叉树的遍历ABCDEFG中序遍历:先访问左子树,然后访问根结点,最后访问右子树。中序遍历:先访问左子树,然后访问根结点,最后访问右子树。H后序遍历结果为:后序遍历结果为: D HBEA FCGTop9:二叉树的遍历ABCDEFGH后序遍历:先访问左子树,然后右子树,最后根结点。后序遍历:先访问左子树,然后右子树,最后根结点。后序遍历结果为:后序遍历结果为: H DEBF GCATop9:二叉树的遍历n真题分析(2007年4月)对下列二叉树,进行前序遍历的结果是A、DYBEAFCZXB、YDEBFZXCAC、ABDY

28、ECFXZD、ABCDEFXYZABCDEFXYZCTop9:二叉树的遍历n真题分析(2007年9月)对下列二叉树进行中序遍历的结果为FCEADBGHPA CBDFEHGPTop9:二叉树的遍历n真题分析(2011年3月)一棵二叉树的中序遍历结果为DBEAFC,前序遍历结果为ABDECF,则后序遍历结果为(填空题第3题)ABCFDEDEBF CATop9:二叉树的遍历n练习题1、已经二叉树后序遍历序列是dabec,中序遍历序列是debac,它的前序遍历顺序是A、acbedB、decabC、deabcD、cedba C d a b eDTop10:顺序查找n知识点1.顺序查找是一种最基本和最简单

29、的查找方法,它的思路就是拿给定的值与表中的元素逐一比较,直到两者相同,表示查找成功,否则查找失败。2.对于大的线性表而言,顺序查找的效率很低。但是对于无序线性表,或者线性表虽然有序,但是采用链式存储时,都只能使用顺序查找。Top10:顺序查找63801755最坏情况:比较最坏情况:比较n次次66380175最好情况:比较最好情况:比较1次次Top10:顺序查找n真题分析(2006年9月)在长度为64的有序线性表中进行顺序查找,最坏情况下,需要比较的次数为A、63B、64C、6D、7BTop10:顺序查找n真题分析(2005年4月)对于长度为n的线性表进行顺序查找,在最坏情况下,所需要比较的次数

30、为A、log2nB、n/2 C、nD、n+1CTop11:二分法查找n知识点二分查找是针对顺序存储的有序表顺序存储的有序表进行查找的简单、有效而又较常用的方法。06356817最坏情况:比较最坏情况:比较log2n次次05356817最好情况:比较最好情况:比较1次次Top11:二分法查找n真题分析(2005年9月)下列数据结构中,能用二分法查找的是A、顺序存储的有序线性表B、线性链表C、二叉链表D、有序线性链表ATop11:二分法查找n真题分析(2008年9月)在长度为n的有序线性表中进行二分查找,最坏情况下需要比较的次数是A、O(N)B、O(n2)C、O(log2n)D、O(n log2n

31、)CTop12:排序n知识点排序是将一个无序序列整理成一个按值非递减顺序排列的序列。03568176380175Top12:排序n知识点常用的排序方法有:1.交换类排序 冒泡排序法,需要比较的次数为n(n-1)/2 快速排序法,最坏情况需要比较n(n-1)/2次2.插入类排序 简单插入排序法,最坏情况需要比较n(n-1)/2次 希尔排序法,最坏情况需要比较O(n1.5)次3.选择类排序 简单选择排序法,最坏需要比较n(n-1)/2次 堆排序法,最坏情况需要O(nlog2n)次比较Top12:排序n真题分析(2013年3月)n(n-1)/2=45Top12:排序n真题分析(2005年4月)对于长

32、度为n的线性表,在最坏情况下,下列各排序法所对应的比较次数正确的是A、冒泡排序n/2B、冒泡排序 nC、快速排序nD、快速排序为n(n-1)/2DTop12:排序n真题分析(2008年4月)对长度为n的线性表排序,在最坏情况下,比较次数不是n(n-1)/2的排序方法是A、快速排序B、冒泡排序 C、直接插入排序 D、堆排序 DTop12:排序n真题分析(2011年9月)在长度为n的顺序存储的线性表中插入一个元素,最坏情况下需要移动表中个元素 。(填空题第2题)n123456654321程序设计基础高频考点nTop1:程序设计方法与风格nTop2:结构化程序设计nTop3:面向对象方法Top1:程

33、序设计方法与风格n知识点养成良好的程序设计风格(清晰第一,效率第二清晰第一,效率第二),主要考虑下述要素:1.源程序文档化符号命名要见名知义要有正确的注释程序层次清晰2.数据说明的方法数据说明的次序规范说明语句中变量安排有序化使用注释说明复杂数据结构3.语句的结构:程序应简单易懂,语句构造应该简单直接,避免滥用goto语句。4.输入和输出:输入输出的格式应尽可能方便用户使用。Top1:程序设计方法与风格n真题分析(2006年9月)下列选项中不符合良好的程序设计风格的是A、源程序要文档化B、数据说明的次序要规范化C、避免滥用goto语句D、模块设计要保证高耦合,低内聚DTop1:程序设计方法与风

34、格n真题分析(2007年9月)下列叙述中,不符合良好程序设计风格的是A、程序的效率第一,清晰第二 B、程序的可读性好 C、程序中有必要的注释 D、输入数据前要有提示信息 ATop2:结构化程序设计n知识点1. 结构化程序设计主要目的是使程序结构良好、易读、易理解、易维护。主要原则包括: 自顶向下 逐步求精 模块化 限制使用goto语句Top2:结构化程序设计n知识点2. 结构化程序设计方法可用三种基本结构实现: 顺序结构 选择结构(条件) 循环结构Top2:结构化程序设计n知识点3.在结构化程序实施中,要把握如下要素: 使用程序语言中的顺序、选择、循环等控制结构表示程序的控制逻辑。 选用的控制

35、结构只准许有一个入口和一个出口。 程序语句组成容易识别的程序专项,每块只有一个入口和一个出口。 复杂结构应该用嵌套的基本控制结构进行组合嵌套来实现。Top2:结构化程序设计n真题分析(2013年3月)BTop2:结构化程序设计n真题分析(2006年4月)下列选项中,不属于结构化程序设计方法的是A、自顶向下B、逐步求精C、模块化D、可复用D可复用性是指在软件不加修改或稍加修改可复用性是指在软件不加修改或稍加修改就可在不同软件开发过程中重复使用的性质。就可在不同软件开发过程中重复使用的性质。软件可复用性是软件工程追求的目标之一。软件可复用性是软件工程追求的目标之一。面向对象方法具有可复用性。面向对

36、象方法具有可复用性。Top2:结构化程序设计n真题分析(2011年9月)常见的软件开发方法有结构化方法和面向对象方法。对某应用系统经过需求分析建立数据流图(DFD),则应采用 方法(填空题第3题)结构化方法结构化方法结构化结构化(SA,Structured Analysis) SA方法从最上层组织机构入手,方法从最上层组织机构入手,采用自顶向下逐层分解的方法分析系统采用自顶向下逐层分解的方法分析系统Top2:结构化程序设计n真题分析(2008年4月)结构化程序设计的基本原则不包括A、多态性 B、自顶向下C、模块化D、逐步求精 ATop2:结构化程序设计n真题分析(2011年3月)结构化程序所要

37、求的基本结构不包括(选择题第5题)A)顺序结构 B)GOTO跳转C)选择(分支)结构 D)重复(循环)结构BTop3:面向对象方法n知识点1.对象(Object):对象是用来表示客观世界中的任何实体。面向对象的程序设计方法中涉及的对象是系统中用来描述客观事物的一个实体,是构成系统的一个基本单位,它是由一组表示其静态特征的属性和它可执行的由一组表示其静态特征的属性和它可执行的一组操作组成一组操作组成。2.类(Class)和实例(Instance):将属性、操作类似的对象归为类,类是具有共同属性、类是具有共同属性、共同方法的对象的集合共同方法的对象的集合;一个具体对象称为一个具体对象称为类的实例。

38、类的实例。Top3:面向对象方法n知识点3.消息(Message):面向对象的世界是通过对象与对象间彼此的相互合作来推动的,对象间的这种相互合作需要一个机制相互合作需要一个机制协助进行,这个机制称为称为“消息消息”。“消息”是一个实例与另一个实例之间传递的信息,它请求对象执行某一处理或回答某一要求的信息,它统一了数据流和控制流。Top3:面向对象方法n知识点4.继承(Inheritance):继承是面向对象的方法的一个主要特征。继承是使用已有的类定义作为基础(直接获得已有的性质和特征)建立新类的定义技术。已有的类可以当做基类使用,则新类可当做派生类使用。优点是提高软件的可重用性提高软件的可重用

39、性,便于软件修改和维护。5.多态性(Polymorphism):对象根据所接受的消息而做出动作,同样的消息被不同的对象接受时可导致完全不同的行动,该现象称为多态性。6.封装性:外面只有看到对象的外部特征,对象的内部状态对外是不可见的。继承性、多态性和封装性是面向对象程序设计的继承性、多态性和封装性是面向对象程序设计的3 3个主要特征。个主要特征。Top3:面向对象方法n真题分析(2007年4月)下面选项中不属于面向对象特征的是A、继承性B、多态性C、类比性D、封闭性DTop3:面向对象方法n真题分析(2013年3月)ATop3:面向对象方法n真题分析(2006年4月)在面向对象方法中,描述 是

40、具有相似属性与操作的一组对象。类类Top3:面向对象方法n真题分析(2005年4月)在面向对象方法中,类的实例称为对象对象Top3:面向对象方法n真题分析(2007年9月)在面向对象方法中,实现信息隐蔽是依靠A、对象的继承B、对象的多态C、对象的封装D、对象的分类CTop3:面向对象方法n真题分析(2008年9月)在面向对象方法中,不属于“对象”基本特点的是A、一致性B、分类性C、多态性D、标识唯一性ATop3:面向对象方法真题分析(2011年9月)下列选项中属于面向对象设计方法主要特征的是_。(选择题第10题)A)继承 B)自顶向下 C)模块化 D)逐步求精ATop3:面向对象方法真题分析(

41、2011年3月)定义无符号整数类为UInt,下面可以作为类UInt实例化值的是(选择题第10题)A)-369 B)369 C)0.369 D)整数集合1,2,3,4,5BTop3:面向对象方法n练习题1、在面向对象方法中,类之间共享属性和操作的机制称为继承继承Top3:面向对象方法n练习题2、在面向对象的设计中,用来请求对象执行某一处理或回答某些信息的要求称为消息消息软件工程基础高频考点nTop1:软件工程基本概念nTop2:软件生命周期nTop3:软件设计基本概念nTop4:软件设计的基本原理nTop5:结构化分析方法nTop6:软件测试的目的和测试的准则nTop7:软件测试的方法和实施nT

42、op8:程序的调试Top1:软件工程基本概念n知识点1. 软件工程概念的出现源自软件危机软件危机。2. 软件危机主要表现在成本成本、质量质量、生产生产率率等方面。具体表现:软件需求的增长软件需求的增长得不到满足(用户对系统不满意的情况时有发生)软件开发成本和进度开发成本和进度无法控制软件质量质量难以保证软件的不可维护维护或维护程度非常低软件的成本不断提高软件开发生产率的提高赶不上硬件的发懂和应用需求的增长Top1:软件工程基本概念2. 软件工程的主要思想:在软件开发过程在软件开发过程中应用工程化原则。中应用工程化原则。3. 软件工程的主要研究对象:软件开发与维护的技术、方法、工具和管理技术、方

43、法、工具和管理等方面。4. 软件的定义:程序、数据及相关文档的程序、数据及相关文档的集合集合。5. 软件工程三要素:方法、工具和过程。方法、工具和过程。Top1:软件工程基本概念 方法:是完成软件工程项目的方法:是完成软件工程项目的技术手段技术手段。 工具:支持软件的工具:支持软件的开发、管理、文档生成开发、管理、文档生成。 过程:支持软件开发的过程:支持软件开发的各个环节的控制、管各个环节的控制、管理。理。软件工程三要素:方法、工具和过程方法、工具和过程。Top1:软件工程基本概念n真题分析(2013年4月)BTop1:软件工程基本概念n真题分析(2013年4月)DTop1:软件工程基本概念

44、n真题分析(2013年4月)BTop1:软件工程基本概念n真题分析(2005年9月)下列描述正确的是A、软件工程只是解决软件项目的管理问题B、软件工程主要解决软件产品的生产率问题C、软件工程的主要思想是强调在软件开发中应用工程化原则D、软件工程只是解决软件开发中的技术问题CTop1:软件工程基本概念n真题分析(2005年4月)下列描述正确的是A、程序就是软件B、软件开发不受计算机系统的限制C、软件既是逻辑实体、又是物理实体D、软件是程序、数据和相关文档的集合DTop1:软件工程基本概念n真题分析(2008年9月)软件工程三要素包括方法、工具和过程,其中支持软件开发的各个环节的控制和管理。过程过

45、程Top2:软件生命周期n知识点1.软件生命周期:产品从提出、实现、使用维护到停止使用退役的过程。2.软件生命周期的三个阶段:软件定义定义、软件开发开发及软件运行维护维护。3.软件生命周期的主要活动:可行性研究与计划制定需要分析软件设计软件实现软件测试运行和维护Top2:软件生命周期可行性研究初步项目计划需求分析概要设计详细设计实现测试使用维护退役定义阶段开发阶段维护阶段需求获取需求分析编写需要规格说明书需求评审正确性可行性必要性无岐义性完整性可验证性Top2:软件生命周期n真题分析(2013年3月)BTop2:软件生命周期n真题分析(2013年3月)ATop2:软件生命周期n真题分析(201

46、1年3月)在软件开发中,需求分析阶段产生的主要文档是A)软件集成测试计划 B)软件详细设计说明书C)用户手册 D)软件需求规格说明书DTop2:软件生命周期n真题分析(2007年4月)软件生命周期可分为多个阶段,一般分为定义阶段、开发阶段和维护阶段。编码和测试属于阶段。开发开发Top2:软件生命周期n真题分析(2006年9月)下列选项中不属于软件生命周期开发阶段任务的是A、软件测试B、概要设计C、软件维护D、详细设计CTop2:软件生命周期n真题分析(2005年9月)下列叙述中正确的是A、软件交付使用后还需要进行维护B、软件一旦交付使用后就不需要再进行维护C、软件交付使用后其生命周期就结束D、

47、软件维护是指修复程序中被破坏的指令ATop2:软件生命周期n真题分析(2007年9月)软件需求规格说明书应具有完整性、无歧义性、正确性、可验证性、可修改性等特性,其中最重要的无歧义性无歧义性Top2:软件生命周期n真题分析(2008年4月)在软件开发中,需求分析阶段产生的主要文档是 A、可行性分析报告B、软件需求规格说明书 C、概要设计说明书D、集成测试计划 BTop3:软件设计基本概念n知识点1.从工程管理角度来看,软件设计包括:概要设计概要设计和详细设计详细设计。2.从技术角度来看,软件设计包括:结构设计:定义软件系统各主要部件之间的关系。数据设计:将分析时创建的模型转换为数据结构的定义接

48、口设计:描述软件内部、软件和协作系统之间以及软件与人之间如何通信过程设计:把系统结构部件转换成软件的描述过程。Top3:软件设计基本概念n真题分析(2006年9月)从工程管理角度看,软件设计一般分为两步完成,它们是A、概要设计与详细设计B、数据设计与接口设计C、软件结构设计与数据设计D、过程设计与数据设计ATop4:软件设计的基本原理n知识点1.软件设计中应遵循的基本原理与软件设计有关的概念 抽象抽象:把事物的本质的共同特性提取出来而不考虑其他细节。 模块化模块化:把一个待开发的软件分解成若干个小的简单的部分。 信息隐蔽信息隐蔽:一个模块内部包含的信息,对于不需要这些信息的其它模块来说是不能访

49、问的。 模块独立性模块独立性:每个模块只完成系统要求的独立的子功能,并且与其它模块的联系最少且接口简单。Top4:软件设计的基本原理n知识点2.衡量模块独立性的两个标准 内聚性:一个模块内部各元素之间的彼此结合的紧密程序。 耦合性:模块间相互连接的紧密程序。软件设计应尽量做到:高内聚,低耦合高内聚,低耦合Top4:软件设计的基本原理n知识点3.结构图(SC)是描述软件结构的图形工具。模块用一个矩形表示,箭头表示模块间的调用关系。在结构图中,还可以用带注释的箭头表示模块调用过程中来回传递的信息。Top3:软件设计基本概念n真题分析(2013年3月)DTop4:软件设计的基本原理n真题分析(200

50、7年4月)在结构化程序设计中,模块划分的原则是A、各模块应包括尽可能多的功能B、各模块的规模应尽量大C、各模块之间的联系应尽量紧密D、模块内部应具有高内聚度,模块之间具有低耦合度DTop4:软件设计的基本原理n真题分析(2006年9月)下列软件系统结构图的宽度为ABDCEF3Top4:软件设计的基本原理n真题分析(2011年9月)某系统总体结构图如下所示:该系统总体结构图的深度是_。A)7 B)6C)3 D)2CXY系统功能1功能2功能3功能2.1功能2.2功能2.3Top4:软件设计的基本原理n真题分析(2006年4月)两个或两个以上模块间关联的紧密程度称为A、耦合度B、内聚度C、复杂度D、

51、数据传输性ATop4:软件设计的基本原理n真题分析(2008年4月)软件设计中模块划分应遵循的准则是 A、低内聚低耦合 B、高内聚低耦合 C、低内聚高耦合D、高内聚高耦合 BTop4:软件设计的基本原理n真题分析(2009年4月)耦合性和内聚性是对模块独立性度量的两个标准。下列叙述中正确的是A)提高耦合性降低内聚性有利于提高模块的独立性B)降低耦合性提高内聚性有利于提高模块的独立性C)耦合性是指一个模块内部各个元素间彼此结合的紧密程度D)内聚性是指模块间互相连接的紧密程度BTop4:软件设计的基本原理n真题分析(2011年3月)对软件设计的最小单位(模块或程序单元)进行的测试通常称为 测试。(

52、填空题第3题)单元单元Top5:结构化分析方法n知识点1.结构化分析方法的实质:着眼于数据流着眼于数据流,自自顶向下顶向下,逐层分解,建立系统的处理流程,以数据流图数据流图和数据字典数据字典为主要工具,建立系统的逻辑模型。2.结构化分析的常用工具有: 数据流图 数据字典 判定树 判定表结构化分析的核心Top5:结构化分析方法n知识点3. 常用的过程设计(详细设计阶段)工具有: 图形工具:程序流程图、N-S图、PAD、HIPO 表格工具:判定表 语言工具:PDL(伪码)Top5:结构化分析方法数据流图:描述数据处理过程的工具,是需求阶段需求阶段常用的结构化分析工具。数据流图的数据流图的主要图形元

53、素主要图形元素加工(转换)加工(转换)数据流数据流存储文件(数据源)存储文件(数据源)源,潭源,潭Top5:结构化分析方法程序流程图:是一种传统的、应用广泛的软件过程设计表示工具,通常也称为程序框图。程序流程图的程序流程图的主要图形元素主要图形元素逻辑条件逻辑条件控制流控制流加工步骤加工步骤Top5:结构化分析方法n真题分析(2013年3月)BTop5:结构化分析方法n真题分析(2013年3月)BTop5:结构化分析方法n真题分析(2013年3月)BTop5:结构化分析方法n真题分析(2007年4月)在结构化分析使用的数据流图(DFD)中,利用对其中的图形元素进行确切解释。数据词典(数据词典(

54、DD)Top5:结构化分析方法n真题分析(2005年9月)在软件设计中,不属于过程设计工具的是A、PDL(过程设计语言)B、PAD图(问题分析图)C、N-S图D、DFD图(数据流程图)DTop5:结构化分析方法n真题分析(2008年4月)程序流程图中指有箭头的线段表示的是A、图元关系B、数据流C、控制流D、调用关系CTop5:结构化分析方法n真题分析(2008年9月)数据流图中带有箭头的线段表示的是A、控制流B、事件驱动C、模块调用D、数据流DTop5:结构化分析方法n真题分析(2008年9月)在软件开发中,需求分析阶段可以使用的工具是A、N-S图B、DFD图C、PAD图D、程序流程图程序流程

55、图BTop6:软件测试的目的和测试的准则n知识点1.软件测试定义:使用人工或自动手段来运行或测试某个系统的过程,其目的在于检测它是否满足规定的需求或是弄清预期结果与实际结果之间的差别。2.软件测试的目的:为了发现错误而执行程序的过程。Top6:软件测试的目的和测试的准则3.软件测试的准则: 所有测试都应该追溯到需求 严格执行测试计划,排除测试的随意性 充分注意到测试中的群集现象 程序员应尽量避免检查自己的程序 穷举测试不可能Top6:软件测试的目的和测试的准则n真题分析(2007年4月)下列叙述中正确的是A、软件测试的主要目的是发现程序中的错误B、软件测试的主要目的是确定程序中的位置C、为了提

56、高软件测试的效率,最好由程序员自己来完成测试的工作D、软件测试是为了证明软件没有错误ATop6:软件测试的目的和测试的准则n真题分析(2011年9月)程序测试的任务是_。A)设计测试用例 B)验证程序的正确性C)发现程序中的错误 D)诊断和改正程序中的错误CTop6:软件测试的目的和测试的准则n真题分析(2006年4月)下列叙述中正确的是A、软件测试应该由程序开发者来完成B、程序经调试后一般不需要再测试C、软件维护只包括对程序代码的维护D、上述三种说法都不正确DTop6:软件测试的目的和测试的准则n真题分析(2005年4月)下列对于软件测试的描述中正确的是A、软件测试的目的是证明程序是否正确B

57、、软件测试的目的是使程序运行结果正确C、软件测试的目的是尽可能地发现程序中的错误D、软件测试的目的是使程序符合结构化原则CTop7:软件测试的方法和实施n知识点1.软件测试的方法和技术分类从是否需要执行被测试软件的角度,分为:静态测试静态测试动态测试动态测试按功能划分,分为:白盒测试白盒测试黑盒测试黑盒测试Top7:软件测试的方法和实施静态测试静态测试代码检查代码检查静态结构分析静态结构分析代码质量度量代码质量度量动态测试动态测试白盒测试白盒测试黑盒测试黑盒测试Top7:软件测试的方法和实施白盒测试白盒测试逻辑覆盖逻辑覆盖基本路径测试基本路径测试语句覆盖语句覆盖路径覆盖路径覆盖判定覆盖判定覆盖

58、条件覆盖条件覆盖判断判断-条件覆盖条件覆盖又称为(结构测试又称为(结构测试/逻辑驱动测试)逻辑驱动测试)主要完成软件内部操作的验证。主要完成软件内部操作的验证。Top7:软件测试的方法和实施黑盒测试黑盒测试等价类划分法等价类划分法边界值分析法边界值分析法有效等价类有效等价类无效等价类无效等价类又称为(功能测试又称为(功能测试/数据驱动测试)数据驱动测试)主要测试软件已经实现的功能是否满足需求,主要测试软件已经实现的功能是否满足需求,主要用于软件确认测试。主要用于软件确认测试。错误推测法错误推测法因果图因果图Top7:软件测试的方法和实施n知识点2. 软件测试一般按四个步骤进行: 单元测试 集成

59、测试 验收测试(确认测试) 系统测试Top7:软件测试的方法和实施单元测试单元测试针对某个模块进行测试。针对某个模块进行测试。在模拟环境下,用一些辅助模块去在模拟环境下,用一些辅助模块去模拟与被测试模块之间的关系。模拟与被测试模块之间的关系。驱动模块驱动模块桩模块桩模块A桩模块桩模块B桩模块桩模块C被测单元被测单元相当于主程序相当于主程序接收测试数据并传给被测模块相当于被调用相当于被调用的子程序的子程序Top7:软件测试的方法和实施集成测试集成测试测试和组装软件的过程。主要是发现测试和组装软件的过程。主要是发现与接口有关的错误。依据是概要说明书。与接口有关的错误。依据是概要说明书。软件单元的接

60、口测试软件单元的接口测试全局数据结构测试全局数据结构测试边界条件测试边界条件测试非法输入测试非法输入测试Top7:软件测试的方法和实施n知识点3. 测试用例:是为测试设计的数据。格式为:(输入值集输入值集),(输出值集输出值集)Top7:软件测试的方法和实施n真题分析(2013年3月)ATop7:软件测试的方法和实施n真题分析(2007年4月)软件测试分为白箱(盒)测试和黑箱(盒)测试。等价类划分法属于测试。黑箱(盒)黑箱(盒)Top7:软件测试的方法和实施n真题分析(2006年4月)程序测试分为静态测试和动态测试。其中是指不执行程序,而只是对程序文本进行检查,通过阅读和讨论,分析和发现程序中

温馨提示

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

评论

0/150

提交评论