全国计算机二级复习知识点小结VB卷.docx
《全国计算机二级复习知识点小结VB卷.docx》由会员分享,可在线阅读,更多相关《全国计算机二级复习知识点小结VB卷.docx(56页珍藏版)》请在冰豆网上搜索。
全国计算机二级复习知识点小结VB卷
全国计算机等级考试—公共基础知识部分复习简纲
在二级考试中公共基础知识占30%,考察题型选择填空,下面我就结合几年考试原题,小结一下这一部分的考点。
第一章数据结构与算法
本章应考重点:
本章内容在二级笔试中会出现5—6题,是公共基础知识部分出题量比较多的一章,所占分值也比较大,约10分
1.1算法
1.算法是指解题方案的准确而完整的描述。
2.算法的基本特征
a可行性b确定性c有穷性d拥有足够的情报
3.算法的复杂度
a算法时间复杂度:
是指执行算法所需要的计算工作量,可以用执行算法的过程中所需基本运算的执行次数来度量
b算法的空间复杂度是指执行这个算法所需要的内存空间。
1.2数据结构的基本概念
1数据结构是指互相有关联的数据元素的集合
2数据结构a数据的逻辑结构1表示数据元素的信息2表示各数据元素之间的前后件关系
b数据的存储结构顺序存储
链接存储
索引存储
c对各种数据结构进行的运算
3数据结构的图形表示
一个数据结构除了用二元关系外,还可以直观地用图形表示。
在数据结构的图形表示中,对于数据集合点D中的每一个数据元素用中间标有元素值的方框表示,一般称之为数据结点,并简称结点:
为了进以步表示数据元素之间的前后件关系,对于关系R中的每一个二元组,用一条有向线段从前件结点指向后件结点。
4数据结构分为二大类线性结构a有且只有一个根结点b每个结点最多有一个前件,也最多有一个后件
常见的线性结构有线性表,队列,线性链表,栈
非线性结构不满足线性结构条件的数据结构
常见的非线性结构有树,二叉树,和图等
1.3线性表及其顺序存储结构
1线性表由一组数据元素构成,数据元素的位置只取决于自己的序号,元素之间的相对位置是线性的。
表中的每个数据元素,除了第一个外,由且只有一个前件,除了最后一个外,有且只有一个后件。
线性表中数据元素的个数称为线性表的长度。
线性表可以是空表
2线性表是一种存储结构顺序结构a线性表中所有元素所占的存储空间是连续的
b线性表中个数据元素在存储空间中是按逻辑顺序依次存放的
链式结构
3顺序表的插入,删除运算
a顺序表的插入运算,插入结束后,线性表的长度增加了1,顺序表的插入运算时需要移动元素,在等概率情况下,平均需要移动n/2个元素。
b顺序表的删除运算,删除结束后,线性表的长度减少了1,顺序表的删除运算时需要移动元素,在等概率情况下,平均需要移动(n-1)/2个元素。
插入删除运算不方便
1.4栈和队列
1栈及其基本运算
栈是限定在一端进行插入与删除运算的线性表。
栈是按照“先进后出”或“后进先出”的原则来组织数据的。
栈具有记忆作用
栈的基本运算a入栈运算b出栈运算c读栈顶元素是将栈顶元素赋给一个指定的变量,此时指针无变化
2队列及其基本运算
队列是指允许在一端(队尾)进行插入,一端(队头)进行删除的线性表
队列是“先进先出”或“后进后出”的线性表
队列运算包括a入队运算b出队运算
3循环队列及其运算
循环队列的初始状态为空,即rear=front=m
循环队列的基本运算分为入队运算和退队运算
队列空的条件:
s=0
队列满的条件:
s=1front=rear
1.5线性链表
1线性表顺序存储缺点
A插入或删除的运算效率很低
B线性表的顺序存储结构下,线性表的存储空间不便扩充
C线性表的顺序存储结构不便于对存储空间的动态分配
2线性链表:
线性表的链式存储结构称为线性链表,是一种物理存储单元上非连续,非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接来实现的。
在链式存储方式中每个结点由二部分组成:
数据域,指针域
线性链表分为单链表,双向链表和循环链表三种类型
3线性链表的基本运算
a在线性链表中包含指定元素的结点之前插入一个新元素
b在线性链表中删除包含指定元素的结点
c将二个线性链表按要求合并成一个线性链表
d将一个线性链表按要求进行分解
e逆转线性链表f复制线性链表g线性链表的排序h线性链表的查找
4循环链表及其基本运算
循环链表是另一种形式的链式存储结构,与线性链表相比,具有以下二个特点
a在循环链表中增加了一个表头结点,其数据域为任意或者根据需要来设置,指针域指向线性表的第一个元素的结点,循环链表的头指向表头结点。
b循环链表中最后一个结点的指针域不为空,而是指向表头结点,即在循环表中,所有结点的指针构成一个环状链
在对循环链表进行插入与删除的过程中,实现了空表与非空表的运算统一
1.6树与二叉树
1树的基本概念
树是一种简单的非线性结构。
在树结构中,一个结点所拥有的后件的个数称为该结点的度,所有结点中最大的度称为树的度。
树的最大层次称为树的深度
2二叉树及其基本性质
(1)什么是二叉树
二叉树是一种很有用的非线性结构a非空二叉树只有一个根结点b每个结点最多有二棵子树,且分别称为左子树和右子树
二叉树的度可以是0,1,2
(2)二叉树的基本性质
性质1在二叉树的第k层上,最多有2k-1(k>=1)个结点
性质2深度为m的二叉树最多有2m-1个结点
性质3在任意一棵二叉树中度数为0的结点总比度为2的结点多一个
性质4具有n个结点的二叉树,其深度至少为[log2n]表示取log2n的整数部分
3满二叉树:
除最后一层外,每层上的所有结点都有二个子结点
完全二叉树:
除最后一层外,每一层上的结点数均达到最大值,在最后一层上只缺少右边的若干结点
4二叉树的存储结构,二叉树通常采用链式存储结构
5二叉树的遍历
(1)前序遍历(DLR)根左右
(2)中序遍历(LDR)左根右
(3)后序遍历(LRD)左右根
1.7查找技术
1顺序查找
2二分法查找
1.8排序技术
类别
排序方法
基本思想
时间复杂度
交换类
冒泡排序
相邻元素比较,不满足条件交换
n(n-1)/2
快速排序
选择基准元素,通过交换,划分成二个子序列
O(nlog2n)
插入类
简单插入排序
待排序的元素看成为一个有序表和无序表,将无序表中元素插入到有序表中
n(n-1)/2
希尔排序
分割成若干个子序列分别进行直接插入排序
O(n1.5)
选择类
简单选择排序
扫描整个线性表,从中选出最小的元素,将他交换到表的最前面
n(n-1)/2
堆排序
选建堆,然后建堆顶元素与堆中最后一个元素交换,再调整为堆
O(nlog2n)
第二章程序设计基础
本章在考试中会出现一题左右,所占分值大约占2分,是出题量较小的一章。
本章内容较少,所以大家尽量不要失分啊!
这样会比较可惜。
2.1程序设计风格
程序设计的风格主要强调:
“清晰第一,效率第二”
(1)源程序文档化
符号名的命名。
符号名能反映它所代表的实际东西,应有一定的实际含义
程序的注释,分为序言性注释和功能性注释
视觉组织
(2)数据说明
数据说明的次序规范化
说明语句中变量安排有序化
使用注释来说明复杂数据的结构
(3)语句的结构
(4)输入和输出
注意点
信息隐蔽是指采用封装技术,将程序模块的实施细节隐藏起来,使模块接口尽量简单。
即指在设计和确定模块时,使得一个模块的内包含的信息(过程或数据),对于不需要这些信息的其他模块来说,是不能访问的。
2.2结构化程序设计(面向过程的程序设计方法)
1.结构化程序设计方法的主要原则可以概括为
a自顶而下
b逐步求精
c模块化
d限制使用goto语句
2.结构化程序的基本结构:
顺序结构,选择结构(分支结构),重复结构(循环结构)
2.3面向对象的程序设计
面向对象方法的本质就是主张从客观世界固有的事物出发来构造系统,提倡人们在现实生活中常用的思维来认识,理解和描述客观事物,强调最终建立的系统能够映射问题域。
面向对象方法的主要优点
(1)与人类习惯的思维方法一致
(2)稳定性好
(3)可重用性好
(4)易于开发大型软件产品
(5)可维护性好
.【注意】
面向对象的程序设计主要考虑的是提高软件的的可重用性
对象是面向对象方法中最基本的概念,对象是属性和方法的封装体
属性即对象所包含的信息,它在设计对象时确定,一般只能通过执行对象的操作来改变
操作描述了对象执行的功能,操作也称为方法或服务。
操作是对象的动态属性。
一个对象由对象名,属性和操作三个部分组成
对象的基本特点:
标识唯一性,分类性,多态性,封装性,模块独立性好
类是指具有共同属性,共同属性,共同方法的对象的集合。
所有类是对象的抽象,对象是对应类的一个实例
消息是一个实例与另一个实例之间传递的信息。
消息的组成包括:
(1)接收消息的对象的名称
(2)消息标识符也称消息名
(3)零个或多个参数
继承是指能够直接获得已有的性质和特征,而不必重复定义他们
多态性是对象根据所接受的消息而做出动作,同样的消息被不同的对象接受时可导致完全不同的行动。
在面向对象技术中,多态性是指子类对象可以像父类对象那样使用,同样的消息可以发送给父类对象也可以发送给子类对象。
多态性机制增加了面向对象软件系统的灵活性,减少了信息的,而且显著提高了软件的可重用性可扩充性。
第三章软件工程基础
本章应考点拨:
本章在笔试中一般占8分左右,约3道选择题,1道填空题,是公共基础部分比较重要的一章。
本章主要考察对基本概念的识记,有少量对基本原理的理解,没有实际运用,因此在复习本章时,重点应放在基本概念的记忆和基本原理的理解。
3.1软件工程基本概念
1软件的相关概念
计算机软件是包括程序,数据及相关文档的完整集合
软件的特点包括
(1)软件是一种逻辑实体,而不是物理实体,具有抽象性
(2)软件的生产与硬件不同,他没有明显的制作过程
(3)软件在运行,使用期间不存在磨损和老化问题
(4)软件的开发,运行对计算机系统具有依赖性,受计算机系统的限制,这导致了软件移植的问题
(5)软件复杂性高,成本昂贵
(6)软件开发涉及诸多的社会因素
2软件危机与软件工程
软件工程源于软件危机
软件危机表现为
(1)软件需求的增长得不到满足
(2)软件开发成本和进度无法控制
(3)软件质量难以保证
(4)软件不可维护或维护程度非常低
(5)软件的成本不断提高
(6)软件开发生产率的提高跟不上硬件的发展和应用需求的增长
总之可以将软件危机归结为成本,质量,生产率等问题
软件工程
(1)软件开发技术
(2)软件工程管理
软件工程的主要思想是将工程化原则运用到软件开发过程,他包括3个要素:
方法,工具,过程
软件工程过程是把输入转化为输出的一组彼此相关的资源和活动
3软件的生命周期
软件生命周期:
软件产品从提出,实现,使用维护到停止使用退役的过程。
生命周期分为软件定义,软件开发,软件运行维护三个阶段
(1)软件定义阶段:
包括制定计划和需求分析
(2)软件开发阶段:
软件设计(概要设计,详细设计),软件实现,软件测试
(3)软件运行维护阶段:
软件生命周期中所花费最多的阶段
4软件工程的目标和原则
(1)软件工程目标:
在给定成本,进度的前提下,开发出具有有效性,可靠性,可理解性,可维护性,可重用性,可适应性,可移植性,可追踪性和可互操作性且满足用户需求的产品
(2)软件工程需要达到的基本目标是:
付出较低的开发成本;达到要求的软件功能;取得较好的软件的软件性能;开发的软件易于移植;需要较低的维护费用;能按时完成开发,及时交付使用
(3)软件工程的原则:
抽象,信息隐蔽,模块化,局部化,确定性,一致性,完备性和可验证性。
5软件开发工具与软件开发环境
(1)软件开发工具
(2)软件开发环境
软件开发环境(或称软件工程环境)是全面支持软件开发全过程的软件工具的集合
3.2结构化分析方法
结构化方法的核心和基础是结构化程序设计理论
1需求分析
需求方法方法有
(1)结构化需求分析方法
(2)面向对象的分析方法
【说明】
需求分析的任务就是导出目标系统的逻辑模型
需求分析一般分为需求获取,需求分析,编写需求规格说明书和需求评审
2结构化分析方法是结构化程序设计理论在软件需求分析阶段的应用
结构化分析方法的实质:
着眼于数据流,自顶而下,逐层分解,建立系统的处理流程,以数据流图和数据字典为主要工具,建立系统的逻辑模型。
结构化分析的常用工具a数据流图(DFD)基本图形要素:
加工(转换),数据流,存储文件,源潭
画数据流图的基本步骤:
自外向内,自顶向下,逐层细化,完善求精
b数据字典(DD)数据字典的作用是对数据流图中出现的被命名的图形元素的确切解释
数据字典是结构化分析方法的核心
c判定树d判定表
3软件需求规格说明书(SRS)
软件需求规格说明书是需求分析阶段的最后成果,通过建立完整的信息描述,详细的功能和行为描述,性能需求和设计约束的说明,合适的验收标准,给出对目标软件的各种需求。
3.3结构化设计方法
1软件设计的基础
软件设计包括软件结构设计,数据设计,接口设计,过程设计
从工程角度来看,软件设计分成二步完成,概要设计和详细设计
软件设计的基本原理包括:
抽象,模块化,信息隐蔽和模块独立性
【注意】模块分解的主要指导思想是信息隐蔽和模块独立性
模块的耦合性和内聚性是衡量软件的模块独立性的二个定性指标
【注意】一个设计良好的软件系统应具有高内聚,低耦合的特征
在结构化程序设计中,模块划分的原则是:
模块内具有高内聚度,模块间具有低耦合度
2总体设计(概要设计)和详细设计
(1)总体设计(概要设计)的基本任务是
设计软件系统结构
数据结构及数据库设计
编写概要设计文档
概要设计文档评审
数据流的类型:
大体可以分为二种类型,变换型和事务型
单元是程序中最小的部分,由可以隐含的三个部分组成:
数据输入,加工和数据输出
(2)详细设计
详细设计的任务是确定实现算法和局部数据结构,不同于编码或编程
常用的过程设计(详细设计)工具有以下几种
a图形工具:
程序流程图,N-S,PAD,HIPO
b表格工具:
判定表
语言工具:
PDL
3.4软件测试
软件测试的目的:
尽可能地减少程序中的错误,不能也不可能证明程序没有错误。
软件测试的关键是设计测试用例
软件测试方法:
静态测试和动态测试
静态测试:
包括代码检查,静态结构分析,代码质量度量。
不实际运行软件,主要通过人工进行
动态测试:
主要包括白盒测试和黑盒测试
(1)白盒测试
白盒测试方法也称为结构测试或逻辑驱动测试。
它根据软件产品的内部工作过程,检查内部成分,以确认每种内部操作符合设计规格要求。
白盒测试的基本原则:
保证所测试模块中每一独立路径至少执行一次;保证所测试模块所有判断的每一分支至少执行一次;保证所测试模块每个循环都在边界条件和一般条件下至少各自执行一次;验证所有内部数据结构的有效性。
白盒测试法的测试用例是根据程序的内部逻辑来设计的,主要用软件的单元测试,主要方法有逻辑覆盖,基本路径测试等
【注意】逻辑覆盖的强度依次是:
语言覆盖<路径覆盖<判定覆盖<条件覆盖<判断-条件覆盖
(2)黑盒测试
黑盒测试方法也称为功能测试或数据驱动测试。
黑盒测试是对软件已经实现的功能是否满足需求进行测试盒验证。
黑盒测试主要诊断功能不对或遗漏,接口错误,数据结构或外部数据库访问错误,性能错误,初始化和终止条件错误
黑盒测试不关心程序内部的逻辑,只是根据程序的功能说明来设计测试用例,主要方法有等价类划分法,边界值分析法,错误推测法等,主要用软件的确定测试
3软件测试过程4步骤:
单元测试,集成测试,确认测试和系统测试
(1)单元测试
单元测试是对软件设计的最小单位—模块(程序单元)进行正确性检测的测试,目的是发现模块内部可能存在的各种错误。
单元测试根据程序的内部结构来设计测试用例,其依据是详细设计说明书和源程序。
单元测试的技术可以采用静态分析和动态测试。
对动态测试通常以白盒测试为主,辅以之黑盒测试。
单元测试的内容包括:
模块接口测试,局部数据结构测试,错误处理测试和边界测试。
在进行单元测试时,要用一些辅助模块去模拟与被测模块相联系的其他模块,即为被测模块设计和搭建驱动模块和桩模块。
其中驱动模块相当于被测模块的主程序,它接收测试数据,并传给被测模块,输出实际测试结果;而桩模块是模拟其他被调用模块,不必将子模块的所有功能带入。
(2)集成测试
集成测试是测试与组装软件的过程,它是把模块在按照设计要求组装起来的同时进行测试,主要目的是发现与接口有关的错误。
集成测试的依据是概要设计说明书
集成测试所涉及的内容包括:
软件单元的接口测试,全局数据结构测试,边界条件和非法输入的测试等
集成测试通常采用二种方式:
非增量方式组装与增量方式组装
(3)确认测试
确认测试的任务是验证软件的有效性,即验证软件的功能和性能及其他特性是否与用户的要求一致。
确认测试的主要依据是软件需求规格说明书
确认测试主要运用黑盒测试
(4)系统测试
系统测试的目的在于通过与系统的需求定义进行比较,发现软件与系统定义不符合或与之矛盾的地方
系统测试的测试用例根据需求分析规格说明来设计,并在实际使用环境下来运行。
系统测试的具体实施一般包括:
功能测试,性能测试,操作测试,配置测试,外部接口测试,安全性测试等
3.5程序的调试
程序调试(不同于软件测试)的任务是诊断和改正程序中的错误,主要在开发阶段进行,调试程序应该有编制源程序的程序员来完成
程序调试的基本步骤a错误定位b纠正错误c回归测试
软件的调试后进行回归测试,以防止引进新的错误
软件调试可分为静态调试和动态调试。
静态调试主要是通过人的思维来分析源程序代码和排错,是主要的调试手段,而动态调试是辅助静态调试。
对软件调试的主要方法有
(1)强行排错法
(2)回溯法
(3)原因排除法:
是通过演绎,归纳和二分法来是来实现
第四章数据库设计基础
本章应考点拨:
本章在考试中一般出现2-4个小题。
本章内容概括性强,比较抽象,希望大家记忆之余,注意理解。
4.1数据库系统的基本概念
1数据,数据库(DB),数据管理系统(DBMS)是数据库的核心
数据库管理系统功能
数据模式定义
数据存取的物理构建
数据操纵
数据的完整性,安全性定义与检查
数据库的并发控制与故障恢复
数据的服务
数据库管理员(DBA)
数据库系统(DBS)
数据库应用系统
2数据库系统的发展
数据库管理发展至今已经历了三个阶段:
人工管理阶段,文件系统阶段和数据库系统阶段
3数据库系统的基本特点
(1)数据的高集成性
(2)数据的高共享性与低冗余性
数据库系统可以减少数据冗余,但无法避免一切冗余
(3)数据独立性一般分为物理独立性和逻辑独立性二级
(4)数据统一管理与控制
4数据库系统的内部结构体系
(1)数据库系统的三级模式:
概念模式,外模式,内模式
(2)数据库系统的二级映射:
概念模式/内模式的映射;外模式/概念模式的映射
4.2数据模型
1数据模型所描述
数据模型所描述的内容有三部分,它们是数据结构,数据操作与数据约束。
数据模型分为概念模型,逻辑数据模型和物理模型三类
2实体联系模型及E-R图
4.3关系代数
1关系的数据结构
2关系操作
4.4数据库设计方法和步骤
数据库的设计的二种方法
面向数据的方法:
以信息需求为主,兼顾处理需求
面向过程的方法:
以处理需求为主,兼顾信息需求
数据库设计一般采用生命周期法
(1)需求分析阶段
(2)概念分析阶段
(3)逻辑设计阶段
(4)物理设计阶段
(5)编码阶段
(6)测试阶段
(7)运行阶段
(8)进一步修改阶段
2数据库设计的需求分析
第一阶段:
需求收集和分析,收集基本数据和数据流图
3数据库概念设计
(1)概念设计概述
(2)数据库概念设计的过程
4数据库的逻辑设计
(1)从E-R模型向关系模式转换
(2)逻辑模式规范化及调整,实现
5数据库管理
(1)数据库的建立
(2)数据库的调整
(3)数据库的重组
(4)数据库的故障校复
(5)数据安全性控制与完整性控制
(6)数据库监控
第一章Vb程序开发环境
VisualBasic的特点
(1)可视化编程方法
(2)面向对象的程序设计(3)事件驱动编程机制(4)结构化程序设计语言(5)访问数据库
(6)建立ActiveX文档(7)IDE集成开发环境(面向Windows)(8)已完成的应用程序是真正的.exe文件,并提供运行可自由发布的动态链接库(DLL)
VisualBasic6.0的版本:
学习版,专业版,企业版
VisualBasic的启动
(1)使用快捷方式
(2)使用菜单命令(3)使用“我的电脑”启动
VisualBasic的退出
(1)单击VisualBasic窗口右上角的“关闭”的按钮
(2)选择“文件”菜单中的“退出”命令
(3)按下Alt+Q
VisualBasic的标题栏
工程1—MicrosoftVisualBasic[设计]设计模式
工程1—MicrosoftVisualBasic[运行]运行模式
工程1—MicrosoftVisualBasic[Break]中断模式
VisualBasic的菜单栏
(1)“文件”:
其中包含打开和保存项目以及生成执行文件的命令和一系列最近使用的项目
(2)“编辑”:
其中包含编辑命令“剪切”,“复制”,“粘贴”等和许多格式化,编辑代码的命令
(3)“视图”:
其中包含显示和隐藏IDE构件的命令
(4)“工程”:
其中包含将构件加入当前项目,引用Windows对象和工具箱工具的命令。
(5)“格式”:
其中包含对齐窗体控制的命令
(6)“调试”:
其中包含通常的查错命令
(7)“运行”:
其中包含启动,设置端点和终止当前应用程序运行的命令
(8)“查询”:
其中包含对数据SQL的查询,其中有运行,清除结果,验证SQL语法等命令。
(9)“图表”:
其中包含了对关系数据库的操作命令
(10)“工具”:
其中包含建立ActiveX控件和ActiveX控件所要的工具,包含启动“菜单编辑器”的命令和配置环境的“选项”命令
(11)“外接程序”:
其中包括“外接程序管理器”和“可视化数据管理器”命令,利用“外接程序管理器”命令可以增加和删除外接程序
(12)“窗口”:
其中包含屏幕窗口布局的命令
(13)“帮助”:
其中包含帮助信息
VisualBasic的工具栏
VisualBasic6.0提供了四种工具栏:
编辑工具栏,标准工具栏,窗体编辑器,调试工具栏
每种工具栏都有固定和浮动二种形式
窗体设计器窗口
简称窗体(Form),是应用程序最终面向用户的窗口,它对应于应用程序的运行结果。
工程资源管理器窗口
分为六类:
窗体文件(.frm),程序模块文件(.bas),类模块文件(.cls),工程文件(.vbp),工程组文件(.vbg),资源文件(.res)
标准模块文件
资源文件:
存放的各种“资源”,是一种可以同时存放文件,图片,声音等多种资源的文件
属性窗口
主要是针对窗体和控件设置的,在VB中,窗体和控件被称为对象,每个对象都可以用一组属性来刻画其特征,而属性窗口就是用来设置窗