《全国计算机二级VB要点总结.pdf》由会员分享,可在线阅读,更多相关《全国计算机二级VB要点总结.pdf(14页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、公共基础部分一数据结构与算法?算法的基本概念1.算法:是对问题处理方案的正确而完整的描述,是求解问题的方法,是指令的有效序列。2.具有 5 个特性:(1)有穷性(在有穷步后完成)算法程序的运行时间是有限的(2)确定性(每一步都有确定的含义)(3)可行性(4)输入(一个算法有零个或多个输入)(5)输出(一个算法有一个或多个输出)3.算法的复杂度包括:时间复杂度和空间复杂度。二者没有必然的联系。时间复杂度:执行算法所需要的计算工作量或基本运算次数。空间复杂度:算法所需要的空间的度量。?数据结构的定义1.数据结构包括数据的逻辑结构、数据的存储结构、数据的操作数据的逻辑结构:数据的外部结构,指各数据元
2、素之间的逻辑关系,反映人们对数据含义的解释。包括:线性结构(线性表、栈、队列)和非线性结构(树和图)数据的存储结构:数据的物理结构,指数据的逻辑结构在计算机中的表示。一个逻辑结构可以有多种存储结构。?线性表:线性表中元素的个数n(n=0)定义为线性表的长度。顺序存储是线性表的一种最常用的存储方式。线性表的顺序存储结构和线性表的链式存储结构分别是随机存取的存储结构和顺序存取的存储结构。1.栈:是限定在表尾进行插入和删除操作的线性表。具有记忆功能只能顺序存储(错)允许插入和删除的一端叫栈顶。另一端叫栈底。后进先出的线性表2 队列:是限定在一端插入而在另一端删除,插入端叫队尾,删除端叫对头。先进先出
3、的线性表3 栈和队列的顺序存储结构循环队列属于线性表存储结构中顺序存储结构和链式存储结构的前者。?树1.定义:树的结点、度(结点的度)、叶子(终端结点)、数的度、深度、有序树和无序数2.二叉树:结点至多有两棵子树,并且二叉树的子树有之分,次序不能颠倒。性质:?在二叉树的第i 层上至多有2i-1个结点?深度为 k 的二叉树至多有2k-1 个结点。?对任一个二叉树T,如果其叶子(终端结点数)为n,度为二的结点数为m,则 n=m+1.?具有 n 个结点的完全二叉树的深度为k+1,其中 k 是2n的整数部分。2.二叉树的遍历先序遍历(根左右)中序遍历(左根右)后序遍历(左右根)?查找算法(1)顺序查找
4、顺序查找的平均查找长度为(n+1)2,最坏的情况下比较的次数为n(2)二分查找限定于顺序存储的有序线性表?排序算法(1)插入类排序直接插入排序折半插入排序希尔排序(2)交换类排序冒泡排序最坏情况下的比较次数n(n-1)2 快速排序最坏情况下的比较次数n(n-1)2 (3)选择类排序例题精选:1.设一棵完全二叉树共有699 个结点,则在该二叉树中的叶子结点数为:350 2.已知二叉树后序遍历序列是dabec,中序遍历序列是debac,它的前序遍历序列为:cedba 3.要求内存量最大的是:归并排序4.在数据结构中,与所使用的计算机无关的是数据的是:逻辑结构5.栈底至栈顶依次存放元素A.B.C.D
5、,在第五个元素E 入栈前,栈中元素可以出栈,则出栈序列可能是:DCBEA 6.已知数据表A 中每个元素距其最终位置不远,为节省时间,应采取的算法是:直接插入排序7.用链式表示线性表的优点是:便于插入和删除操作。二程序设计基础1.程序设计风格好的程序设计风格有利于提高程序的正确性、可读性、可维护性和可用性。要是程序有良好的风格概括起来可以分为4 部分:源程序文档化、数据说明、语句结构、输入输出方法。用户所定义的标示符必须以字母或下划线开头。大、小写字母代表不同标识。2.结构化程序设计(1)结构化程序设计的基本特征:程序有 3 中基本结构组成:顺序结构、选择结构、循环结构整个程序采用模块化结构。模
6、块划分的原则:模块内具有高内聚度、模块间具有低耦合度。有限的使用转移语句,只限定在一个结构的内部跳转,不允许从一个结构跳到另一结构。程序设计时采用“至顶向下、逐步详细”的实施方法。(2)结构化程序设计的3 种基本结构:顺序结构、选择结构、循环结构 3 种基本结构组成的算法只能完成符合结构化的任务(3)结构化程序设计的方法:逐步求精和模块化程序设计方法。结构化设计的总体思想是采用模块化结构,自上而下,逐步求精。3.面向对象程序设计 基本概念对象:系统中运行的实体,是有特殊属性(数据)和方法的实体类:由属性和方法构成。一组具有相同的数据结构和相同的行为特征的对象的集合称为类在面对对象的方法中,类的
7、实例称为对象面向对象程序设计特征的是:继承性、多态性、封装性在面向对象的方法中,实现信息隐蔽是依靠对象的封装任何对象都必须有继承性(错)例题精选:1.在面对对象的方法中,一个对象请求另一个对象为其服务的方式是通过发送:信息2.面对对象的设计方法与传统的面向过程的方法有本质的区别,它的基本原理是:使用现实世界的概念抽象的思考问题从而自然地解决问题.3.结构化方法中,软件功能分解属于软件开发阶段中的总体设计4.结构化程序设计主要强调的是:程序的易读性5.面向对象的设计程序主要考虑的是:提高软件的可重用性6.类通过接口与外界发生关系.三.软件工程基础1.软件工程的基本概念(1)定义:软件是程序、数据
8、与相关文档的集合。软件包括系统软件和应用软件(2)软件工程的基本思想是软件开发中,应用工程化原则进行软件开发,并将这个思想贯穿在软件开发的整个过程中。软件工程的3 要素:方法、工具和过程(3)软件的生命周期:从软件定义、开发、使用、维护到报废为止的整个过程。分三阶段:设计阶段、开发阶段、维护阶段包括:问题定义、可行性分析、需求分析、总体设计、详细设计、编码、测试和维护问题定义:确定开发的任务可行性分析:确定问题的可行性需求分析:对用户要求进行分析,明确目标系统要做什么总体设计:把软件功能转化为所需要的体系结构,即如何解决问题。详细设计:怎样具体的解决问题2.结构化分析方法(1)结构化分析(SA
9、)是面向数据流进行需求分析的方法SA 方法的基本思想正是运用了分解和抽象两个基本手段,采用:自顶向下,逐步分解的分析思路。(2)数据流图基本图形符号:在结构化方法中,用数据流程图(DFD)作为描述工具的软件开发阶段是:需求分析(3)数据字典在结构化分析的数据流图中,利用数据字典对其中的图形元素进行确切解释.3.软件设计(1)概要设计(总体设计)?包括两个主要阶段:系统设计(确定具体的实现方案)和结构设计(确定每个系统的模块组成及模块间的关系)?模块之间联系越紧密,其耦合性就越强,模块的独立性就越差;一个模块内个要素联系越紧密,则它的内聚性就越高。模块划分原则:高内聚低耦合(2)详细设计?结构化
10、程序设计的要点:采用自顶向下、逐步求精的程序设计方法,一个程序只有一个入口和一个出口。?详细设计的常用工具:程序流程图、盒图、PAD和 PDL(3)软件测试目的?软件测试的目的是尽可能多的发现程序中的错误。?软件测试方法:静态测试和动态测试(黑盒测试法和白盒测试法)黑盒测试包括:等价分析法、边值分析法、因果图法和错误推测法白盒测试法测试的原则之一就是保证所测模块中的每一个独立的路径至少执行一次。(4)程序调试数据的源头或终点数据流数据存储加工分为静态调试和动态调试调试的目的:改正错误经调试后还必须进行再测试(5)软件维护软件维护就是在软件已经交付使用以后,为改正错误或满足新的需求而修改软件的过
11、程。例题精选:1 分析的结果是产生需求规格说明书。2 软件详细设计的主要任务是确定每一个模块的算法和使用的数据结构。3 进行单元测试时,常用的方法时采用白盒测试,辅以黑盒测试。4 软件工程的出现是由于软件危机的出现,人们提出了软件工程学的原理设计软件。5 数据字典是各类数据描述的集合,通常包括4 个部分:数据项、数据流、数据存储和数据加工。四数据库设计基础1.数据库(1)数据库设计的根本目的是要解决数据共享的问题。(2)数据库的特点:数据按一定的数据模型组织和存储。冗余度较小 数据的独立性较高。数据独立性:数据的组织结构和存储方法与应用程序互不依赖、彼此独立。易扩展可为多种用户共享2.数据库管
12、理系统(DBMS)位于用户与操作系统之间的完成数据管理的系统软件。3.数据库系统由数据库、数据库管理系统、应用系统、数据库管理员和用户组成。最核心的部分是数据库管理系统。4.数据模型(1)实体联系模型及E-R 图3 部分:实体、联系和属性实体属性联系实体集间的联系:一对一联系、一对多联系和多对多联系(2)层次、网状、关系模型层次模型:有且只有一个结点无双亲,其他结点只有一个双亲。用树形结构来表示各实体与实体之间的联系。在关系数据库中,把数据表示成二维表,每个二维表称为关系。一个关系对应一张二维表。关系的属性名称为关系模式。5.关系运算(1)并(2)差(3)交(4)笛卡尔积()6.专门关系运算:
13、选择、连接和投影(1)从关系中找到满足条件的所有元组称为选择(2)从关系中挑选若干属性组成新的关系称为投影7.数据库设计步骤:(1)需求分析阶段(2)概念设计阶段(3)逻辑结构设计阶段将 E-R 图转化数据模型(4)数据库物理设计阶段数据库内模式,给出数据库物理存储结构和物理存取方法。例题精选:1.数据库管理系统的主要功能是:定义数据库2.关系表中每一横行称为一个元组,每一列称为属性。3.设计数据库的存储结构属于物理设计.二级 VB语言部分五.VB 程序设计的初步知识1.VB 的概述 VB 是一种可视化、面向对象和采用事件驱动方式的结构化高级程序设计语言。特点:可视化编程面向对象程序设计结构化
14、的程序设计语言事件驱动编程机制访问数据库2.VB 的程序开发环境(1)窗口设计器窗口。简称,窗体(2)工程资源管理器窗口 工程文件和工程文件组工程文件的扩展名是vbp,每个工程对应一个工程文件。窗体文件扩展名是frm,每一个窗体对应一个窗体文件,一个应用程序可以有多个窗体。标准模块文件扩展名 bas,不属于任何一个窗体。类模块文件(3)属性窗口和工具箱窗口3.VB 常用对象及操作(1)对象事件的名称Name是由 VB预定的,不可以由编程者设定。可以在运行期间改变窗体的Name属性的值。(?)(2)控件4.VB 应用程序通常有3 类模块组成,即窗体模块、标准模块和类模块。VB 应用程序以解释和编
15、译方式执行。5.VB 中的变量和常量(1)常量 文字常量:字符串和数值常量 符号常量格式:Const 变量名=表达式(2)变量 命名规则:名字只能由字母、数字和下划线组成。第一个字符必须是英文字母,最后一个字符可以是类型说明符。变量的类型和定义类型说明符放在变量名的尾部。A#b(错)%:整型&:长整型!:单精度型#:双精度型$:字符串型在定义变量时指定类型。格式:Declare 变量名 as 类型Declare 可以是 Dim、Static、Public或 Private(3)变量的作用域变量分为:局部变量、模块变量和全局变量局部变量在事件过程或通用过程内定义的变量叫局部变量。模块变量窗体变量
16、可用于窗体内的所有过程.当同一个窗体内的不同过程使用相同的变量时,必须定义窗体层变量,在使用窗体层变量前,必须先声明。全局变量全局变量只能在标准模块中声明,不能在过程或窗体模块中声明。用Public 声明。6.VB常用内部函数 转换函数?取整函数Int和 fix?数值转换函数?类型转换函数?格式转换函数数学函数?三角函数?绝对值函数(Abs)?符号函数(Sgn)?平方根函数(Sqr)?指数和对数函数(Exp 和 Log)随机数函数?随机数函数(Rnd)?Randomize 语句 时间函数7.VB字符串处理?左、中、右部截取 Left(字符串,Mid(字符串,n)Right(字符串,n)?字符串
17、长度测量函数 Len(字符串)?Strings函数 Strings(n,ASCII 码)Strings(n,字符串)?查找某个字符串函数 InStr(首字符位置,字符串1,字符串2,n?字母大小转换函数 Ucase(字符串)Lcase(字符串)?插入字符串语句 Mid(字符串,位置)=字符串?SetFocus 语句8.VB 运算符与表达式(1)算术运算符?求模运算 Mod 求余.?算术运算符优先级 -*/Mod +-&如:72 Mod 523=1(3)关系运算符和逻辑运算符(4)表达式的执行顺序?关系运算(=,)?最后进行逻辑运算,顺序为:Not AndOrXorEqv如:表达式:Not a=
18、c Or 4*c=b2 And ba+c的值是(Flase)a=2,b=3,c=4 9.VB 常用标准控件(1).标签Alignment 确认标签中标题放置的位置,可设置0、1、2,作用分别为标题设置在左、右、中。AutoSize 标题自动调整标签的大小,可设置为True 和 False.Borderstyle 设置标签的边框,可设置为0 和 1,0 表示为无边框。Enabled用于确定一个窗体或控件能否对用户产生的事件作出反应。BackStyle 设置标签是否覆盖背景,0 表示为透明,1 表示标签覆盖背景。WordWrap 决定标签的标题文本能否自动换行。其他:Height、Left、Top
19、、Visible、Width 等等。(2)文本框属性:MaxLength 设置文本框中输入的最大字符数。MultiLine 设置是否允许多行显示。Passwordchar 用于口令输入。Scrollbars 用来设置文本框中的滚动条。事件:Change 事件当用户输入新信息或把Text属性设置为新值从而改变文本框的属性时,将可触发此事件。GotFocus事件当文本框有输入焦点时,键盘上输入的字符都将在文本框中显示出来,只有当一个文本框被激活并且可见性为TRUE是才能收到焦点。Setfocus 事件该方法可以把输入的光标(焦点)移到指定的文本框中。格式:对象.Setfocus(3)图形控件图片框
20、和图像框:CurrentX 和 CurrentY 属性Picture 属性Stretch属性用于自动调整图像框中图形内容的大小。区别:图片框是“容器”控件,可作为父控件,而图像框不能。图片框可接受文本和图片,图像框不能。图像框占用内存少,显示速度快。图片框更灵活,且适用于动态环境。运行期间装入图片格式:对象.Picture=LoadPicture(”文件名”)直线和形状:BorderColor属性 Borderstyle 1 实线2虚线3点线4点划线 BackStyle 设置标签是否覆盖背景,0 表示为透明,1 表示标签覆盖背景。Shape 属性 0矩形 1正方形 2椭圆形 3圆形 4四角圆化
21、的矩形BorderWidth 指定线宽或界宽(5)复选框和单选按钮Enabled、FontBold、FontItalic、FontName、FontSize、FontUnderline Value、Alignment、Height、Left、Top、Visible、Width单选按钮:Value=True,表示选择了该单选按钮.Value=False,表示没有选择该单选按钮.复选框:Value=0,表示没有选择该复选框。Value=1,表示选择该复选框。Value=2,表示该复选框被禁用。(6)列表框和组合框列表框方法:AddItem 添加文本内容到列表框中。Clear 清除列表框中所有内容。
22、RemoveItem 删除列表框中指定的项目。组合框(ComboBox):AddItem、Clear、RemoveItem 同样适用。Style是组合框的一个重要属性,其值可取0、1、2,决定组合框的3 个类型。注意:属性 ListIndex 和 ListCout 的区别108(7)滚动条属性:除Enabled、FontBold、FontItalic、FontName、FontSize、FontUnderline Value、Alignment、Height、Left、Top、Visible、Width 外,还有以下属性:?Max和 Min?LargeChange 和 SmallChange?
23、Value表示滚动框在滚动条的位置。事件:主要有Scroll 和 Change.当在滚动条内拖动滚动框时会触发Scroll 事件,而改变滚动框的位置时会触发Change 事件。(8)计时器可以用Enabled和 Name属性,其最重要的是Interval属性,取值范围065535.(9)框架(10)焦点与 Tab 顺序?设置焦点格式:对象.Setfocus?Tab 顺序Tab 顺序是在按Tab 键时焦点在控件间移动的顺序。影响 Tab 顺序的属性是TabIndex。六.数据输入输出1.数据的输出方法:print 方法与 print 方法有关的函数:tab(n)函数【print tab(24);
24、800】spc(n)函数【print“china”;spc(4);”中国”】用于跳出n 个空格输出tab 函数从第一列开始计数,n 是绝对偏移量。spc(n)函数则是从前面的输出内容开始计数,n 是相对偏移量。格式输出()#:表示数字,不补零0:表示数字,在数字的前或后补零.:指定小数点的位置,:指定千分分隔符的位置如:print format$(12345.6,”#,#.#”)12,345.(3)msgbox 函数信息框返回值标题2.数据输出方法(1)inputbox 方法Inputbox 函数的返回值默认为字符串。如:a=inputbox(“Enter an integer”)b=inpu
25、tbox(“Enter an integer”)text1.text=b+a 如果在输入对话框中输入8 和 10,则文本框中显示的内容为108 七 VB 的控制结构1循环控制结构(1)For 循环控制结构使用 Exit for 语句,可以在循环变量到达终值前就退出循环。(2)当循环结构While 条件语句块 Wend(3)Do 循环结构Do While Loop Do loop While(4)多分支控制结构测试表达式=?Select case 测试表达式(5)IIf 函数A=IIf(条件,true 部分,false 部分)八数组与过程1默认数组默认数组就是数据类型为Variant 的数组。S
26、tatic A(4)即为定义了四个默认数组。2动态数组?用变量作为下标定位的数组时动态数组?用数值常量或符号常量作为下标定维的数组是静态数组。动态数组定义分两步:首先在窗体层、标准模块或过程中用DIM或 Public声明一个没有下标的数组,然后再过程中在用ReDimd定义。3.数组的清除和重定义Erase 数组名Erase 用于动态数组中,将删除整个数组结构并释放数组所占用的内存,即动态数组以后就不复存在。用于静态数组中只是内容清空,数组依然存在。4.数组元素的输入及输出输入:一般通过For 循环和 Inputbox 函数输出如:Option base 1 Dim s()as string S
27、ub Form_Click()Redim s(4)as string For i=1 to 4 Temp$=Inputbox(“Enter Name”)S(i)=Temp$Next i End Sub 输出:用 Print 方法结合For 循环实现Option base 1 Dim s(4,4)as Integer For i=1 to 4 For j=1 to 4 Print s(i,j);“”;Next j Next i 5控件数组控件数组是一组相同类型的控件组成,这些控件有一个相同的控件名称,具有相同的属性设置,所有元素的Name 属性相同,但Index 属性不同。6.Sub 过程 通用
28、过程:多个事件过程需要使用同一个程序代码,他可以单独建立,供事件过程或其他过程调用。事件过程:当发生某个事件时,对事件作出响应的程序段。函数过程的返回值只能有一个。调用 Sub 过程:Call 语句调用过程。如:Call Tryout(a,b)把过程名作为一个语句使用。如:Try out a,b 去掉call 关键字,去掉“实际参数”括号。7.通用 sub 过程和事件过程?重点?难点?事件过程是一种特殊的sub 过程,他附加在窗体和控件上。窗体的事件过程不能由用户任意定义,而是由系统指定。通常是在事件过程中调用通用过程,同时事件过程也可以被其他过程调用。通用过程可以放在标准模块中,也可以放在窗
29、体模块中,而事件过程只能放在窗体模块中,不同模块中的过程可以互相调用。8Function 过程?重点?难点?Sub 过程不直接返回值,可以作为单独的基本语句使用,而Function 过程要返回一个值,通常出现在表达式中。9过程中的参数 形参与实参形参:在Sub 过程、Function 过程的定义中出现的变量名。实参:在调用Sub 过程、Function 过程中传送给Sub 过程、Function 过程的常数、变量、表达式或数组。传送方式:按位置传送和指名传送 按位置传送(常考)实际参数的 次序 必须和 形式参数 的次序 相匹配例如:Private sub proc1(a as integer,
30、b as string,optional x as boolean),End sub 正确调用此过程的语句是:proc1 5,”asd”或call proc1(5,”asd”,FALSE)指名传送(3)引用参数通过地址和传值两种方式传送,其中传送地址 称为引用。通过关键字ByRef 实现。默认情况下,变量都是通过引用传送给Sub 过程、Function 过程的。例如:Sub tryout(x as integer,y as integer)X=x+100 Y=y*6 Print“x=”;x,”y=”;y End sub Sub form_click()Dim a as integer,b as
31、 integer A=10;b=20 Tryout a,b Print“a=”;a,”b=”;b End sub 运行后输出结果为:x=110 y=120 A=110 b=120(4)传值由于通用过程没有访问实参的原始地址,因而不会改变原来变量的值,所用的变化都是在变量的副本上进行的。传值方式通过关键字ByVal 实现。例如:Sub tryout(ByVal x as integer,ByVal y as integer)X=x+100 Y=y*6 Print“x=”;x,”y=”;y End sub Sub form_click()Dim a as integer,b as integer
32、A=10;b=20 Tryout a,b Print“a=”;a,”b=”;b End sub 运行后输出结果为:x=110 y=120 A=10 b=20 函数过程形参的类型与函数返回值的类型没有关系。九键盘与鼠标事件1键盘事件KeyPress 事件当压下键盘上的某个键时,将发生KeyPress 事件。该事件可以用于各控件。比如用在文本框上的格式:Private Sub Text-KeyPress(KeyAscii as integer)KeyPress 事件带有一个参数,参数有两种形式,第一种形式:Index As Integer,只用在控件数组。第二种形式是:KeyAscii As in
33、teger,用于单个控件。KeyPress 事件用于识别按键的Ascii 码,捕捉击键动作,KeyAscii 参数不能省略。控件的键盘事件优先于窗体的键盘事件KeyDown 和 KeyUP 事件KeyDown 和 KeyUP 事件返回的是键盘的直接状态。KeyPress 事件返回的是Ascii 码。当按键“A”时,KeyDown 事件所得到的Keycode 码与键“a”的相同。2鼠标事件十可视化程序设计1当窗体为活动窗体时,可以使用“工具”菜单中的“菜单编辑器”打开菜单编辑器。2弹出式菜单:建立弹出式菜单首先用菜单编辑器建立菜单,然后用 PopupMenu 方法弹出显示。各级菜单中的所有菜单项
34、的名称必须唯一。3通用对话框:对话框的类型可以通过Action 属性设置,也可以用相应的方法设置。可以通过 DialogTitle 属性设置有实际意义的标题。通用对话框,Action=1 打开文件;=2 保存文件方法:showopen;showsave 4文件对话框:格式:【窗体】对话框名,Fliter=描述符 1|过滤器 1|描述符 2|过滤器 2|,FliterIndex 用来指定默认的过滤器。文件类型5多重窗体程序设计Show 方法:用来将指定的窗体装入内存并显示该窗体。6VB 工程中,可以作为启动对象的程序是Sub main 过程或任何窗体。一个工程中可以包括多个窗体文件。十一.数据文
35、件1 基本文件操作语句与函数打开文件?重点?难点?格式:Open 文件名【for 方式】as#文件号如果省略【for 方式】,则打开文件的存取方式是随机存取方式。方式指文件的输出方式,可以是 Output(顺序输出)以写的方式打开、input(顺序输入)、append(添加)。使用 open 语句打开文件时,如果为输入input 打开的文件不存在,则产生“文件未找到”的错误;如果为Output(顺序输出)、append(添加)访问方式打开的文件不存在,则建立相应的文件。(2)关闭文件(3)EOF 函数用来测试文件的结束状态。利用EOF 函数,可以避免在文件输入时出现“输入超出尾”错误。DO While Not EOF2.顺序文件与随机文件 顺序文件写操作Print#文件号,表达式Write#文件号,表达式(2)顺序文件读操作Input#文件号,变量表(3)随机文件的打开与读写操作随机文件的记录是定长记录。在用open语言打开文件时必须指定记录的长度。打开随机文件:Open”文件名”for random As#文件号对文件的操作既可以读也可以写。
限制150内