VB程序知识点(共11页)_第1页
VB程序知识点(共11页)_第2页
VB程序知识点(共11页)_第3页
VB程序知识点(共11页)_第4页
VB程序知识点(共11页)_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

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

文档简介

1、精选优质文档-倾情为你奉上高职考试VB程序设计知识点第一章 可视化编程与VB开发环境(1)理解可视化编程中类、对象、属性、方法、事件过程的概念类是定义了对象特征及对象外观和行为的模板,可以使用Creat Class 命令或“类设计器”创建一个新类。对象是类的一个实例,包括了数据及其代码,它是VB设计的核心,具有3个要素,分别是是属性、方法和事件。属性是对象的性质或是描述对象的数据。改变对象的属性,便可控制其在程序中的作用。方法是让对象实施一个动作或执行一项任务的途径,即方法告诉对象应处理的事情。每一个对象都包含对数据进行操作的代码段,这段代码就是对象能够执行的一个操作,即方法。事件是一种预先定

2、义好的特定动作,由用户或系统激活。它是对象在应用程序运行时所产生的事情,即生成的对象所要完成的任务。事件过程是指与事件相关的代码。(2)了解VB三种版本的开发需求Visual Basic 学习版:它是一个入门版,可以让编程人员方便地建立Microsoft Windows应用程序,具有建立Windows 应用程序所需的全部工具。Visual Basic 专业版:它向计算机专业人员提供了一套功能完整的开发工具,它包含了学习版的所有功能,还附加有Activex控件、Internet Information Server 应用程序设计器、集成数据工具和数据环境、Active Data Objects

3、以及动态HTML页面设计器。Visual Basic 企业版:它允许专业人员以小组的形式来创建分布式应用程序,也包括专业版的所有特性。(3)了解VB 的功能和特点Visual Basic是由Microsoft公司于1991推出的第一个可视化编程工具。具有面向对象的可视化设计工具。事件驱动的程序运行机制。提供了易学易用的应用程序集成开发环境。结构化的程序设计语言。支持多种数据库系统的访问。支持动态数据交换(DDE)、动态链接库(DLL)和对象链接与嵌入技术(OLE)。完备的HELP联机帮助功能。(4)了解VB程序的开发过程第三章 VB程序设计(1) 了解模块与代码窗口。模块的三种类型:窗体模块(

4、.frm)、标准模块(.bas)和类模块(.cls)代码是由语句、常量、变量和声明等部分组成。代码窗口是用于编写程序代码的窗口。打开代码窗口方法:1. 双击要编写代码的窗体或控件;2. 从“工程资源管理器”窗口选定窗体或模块的名称,然后选取“查看代码”菜单项;3. 用鼠标单击窗体或控件,选择“代码窗口”命令。(2) 掌握VB中的数据类型( Byte、Boolean、Integer、Long、Single、Double、Date、String、Object、Variant )数据类型关键字类型符前缀占字节数应用字节型Byte无Byt1存储二进制数据,范围较小,不能存放负数逻辑型Boolean无B

5、ln2只有True和Flase两种取值,用于逻辑判断整型Integer%Int2保存整数,取值范围小,用于不带小数的数据长整型Long&Lng4取值范围大于整型,其余同上单精度型Single!Sng4保存浮点实数,运算可能会产生误差双精度型Double#Dbl8取值范围大于单精度型,其余同上货币型CurrencyCur8保存定点实数,主要用于货币计算日期型Date无Dtm8保存日期与时间数据字符型String$Str可变保存字符数据,分为定长与变长两种对象型Object无Obj4存储32位的地址数据,该地址可引用应用程度中的对象变体型Variant无Vnt可变可以保存所有系统定义的数据

6、类型,主要是用作未定义变量的默认数据类型,其数据的处理完全取决于上下文(3) 掌握常量与变量的概念,以及变量的定义。常量:在程序的运行过程中其值始终保持不变的数据。常量的分类:数值型常量、字符型常量、日期型常量、符号常量变量:在程序中是以符号的形式出现的,且其取值也并非固定不变的数据变量常用来存放程序运行时的临时数据,这些数据的值在设计时是未知的,运行中随时都可能发生变化(4) 掌握VB的三种运算(算术运算、关系运算、逻辑运算)。算术运算符:优先级从上至下运算运算符表达式举例说明幂XY乘方取负X取负乘法*X*Y两数相乘除法/X/Y两数相除整数除法XY整除取模ModX Mod Y取模加法+X+Y

7、 两数相加减法-X-Y两数相减关系运算符测试关系运算符表达式举例等于=X=Y不等于<>X<>Y小于<X<Y大于>X>Y小于等于<=X<=Y大于等于>=X>=Y逻辑运算符:优先级别为“非”>“与”>“或”。逻辑运算符优先级表达式举例说明非Not1Not X原来为真,否定为假与And2X And Y其一为假,结果为假或Or3X Or Y其一为真,结果为真异或Xor4X Xor Y不同为真,相同为假等价Eqv5X Eqv Y两个操作数相等时才为值蕴涵Imp6X Imp Y第一个操作数为真,第二操作数假,结果才为假,其

8、余均为真(5) 掌握VB的标准函数,以及标准函数的应用(ABS、RND、SQR、Str、Val、Len、Left、Right、Mid、Instr、Date、Time、Day、Month、Year)函数名功能类型举例结果Abs(N)Rnd(N)Sqr(N)取绝对值产生随机数平方根算术函数Abs(-12.34)RndSqr(16)12.3401之间的任意数4Asc(C)Chr$(N)Str$(N)Val(C)转换成ASCII值ASCII值转换成字符数值转换为字符转换为数值转换函数Asc(“A”)Chr(65)Str(45.90)Val(“23.4a”)65“A”“45.9”23.4Len(C)Le

9、ft$(C,n)Right$(C,n)Ltrim$(C)Rtrim$(C)Mid$(C,n1,n2)Instr(C1,C2)Ucase$(C)Lcase$(C)字符串长度取字符串左边n个字符取字符串右边n个字符去掉字符串左边的空格去掉字符串右边的空格从n1位开始取n2个字符在字符串C1中查找C2将C转换成大写字母将C转换成小写字母字符串函数Len(“Visual Basic”)Left(“Visual Basic”,6)Right(“Visual Basic”,5)Ltrim(“ Basic”)Rtrim(“Visual ”)Mdi(“Visual Basic”,9,2)Instr(“Visu

10、al”, “a”)Ucase(“Visual”)Lcase(“Visual”)12“Visual”“Basic”“Basic”“Visual”“as”5VISUALvisualDate$Time$Day(C|N)Month(C|N)Year(C|N)取系统日期取系统时间取日期值取月份值取年份值日期函数DateTimeDay(“07/13/2001”)Month(“07/13/2001”)Year(“07/13/2001”)当前日期当前日期1372001(6) 掌握数据的输入(InputBox函数)与数据的输出(MsgBox函数、Print语句)的基本用法。InputBox函数:在一对话框中显示

11、提示,等待用户输入正文或按下按钮,并返回包含文本框内容的String,其函数值类型为字符型格式:InputBox(prompt,title,default,xpos,ypos)MsgBox函数:在对话框中显示消息,等待用户单击按钮,并返回一个数值告诉用户单击哪一个按钮,其函数值类型为整型格式:MsgBox(promptbuttons,title)Print函数:通过使用Print方法,可以显示文本字符串和表达式的值。格式:对象名称.Print表达式表,|; “,”表示标准格式,“;”表示紧凑格式(7) 掌握三种结构的编程(顺序结构、选择结构、循环结构)。条件结构条件结构语句分单行结构语句和块结

12、构语句两种形式。1. 单行结构条件语句格式:IF条件Then 语句1Else 语句22. 块结构条件语句格式:IF 条件1Then语句块1Elself 条件 2Then 语句块2Elself 条件 3Then 语句块3Elself 条件 nThen 语句块n Else 语句块n+1 End IF(请注意不要忘记)3. IIF函数格式:IIF(条件,表达式1,表达式2)功能:如果条件成立,返回表达式1的值,否则返回表达式2的值。例、select case acase 1,2,3print "1&2&3"case 4 to 8print "4-8&qu

13、ot;case is >8print ">8"case elseprint "error"end select 4. 多路分支控制语句格式:Select Case 表达式Case 值1语句体1)Case 值2语句体2)Case 值n语句体n)Case Else语句体n+1) End Select(请注意不要忘记)功能:计算表达式的值,如果表达式的值和Case项中的值相等,则执行相应的语句体。执行完语句体后,执行End Select。如果没有合适的项,执行Case Else后面跟的语句体。例1For循环控制格式:For循环变量循环初值 To循环

14、终值 Step循环步长循环体Exit ForNext循环变量功能:以指定次数来重复执行一组语句。 循环次数INT(终值初值)/步长)1While循环控制格式:While 条件语句块Wend 功能:按照条件是否成立执行循环。Do循环控制格式1:当型循环Do While|Until 条件语句块Exit Do Loop 功能:按照条件是否成立执行循环。格式2:直到型循环Do 语句块Exit DoLoopWhile|Until 条件 功能:按照条件是否成立执行循环。(8) 掌握一维数组的定义和使用。一维数组概念:VB中将具有相同名字、下标值不同的一组变量称为数组变量,简称数组。它可以分为两种,一种是静

15、态数组,另一种是动态数组。定义:一类数据用一种特殊的变量来定义,就是数组。数组在使用前必须定义声明,这和简单变量是不同的,简单变量不声明直接使用是允许的。语句:Dim 数组名(下标上界)As 类型名称上界表示下标的最大值,下限表示数组下标的最小值,默认0开始,比如a(10)就表示下界是0,上界是10。编程技巧1、产生a,b之间的随机整数 int(rnd*(b-a+1)+a),种随机种子用命令randomize timer2、判断x能否被y整除的条件式 x/y=xy 或 x/y=int(x/y) 或x mod y=0 或 x/y=fix(xy)3、保留x的n位小数 int(x*10n+0.5)/

16、10n4、分离一个三位数的三个数字 百位数=x100 十位数=x10 mod 10 个位数=x mod 10例1:编程计算3x2+5 (x>5)S= 5-2x (0<x<=5) 0 (x<=0)Dim x,s as singlex =val(inputbox( "请输入X的值")select case x case is<=0 s=0 case is<=5 s=5-2*x case else s=3*x*x+5 end select 例2:从文本框输入三个数,将它们按从大到小顺序打印出来Private Sub Command1_Click

17、()x = Val(Text1.Text)y = Val(Text2.Text)z = Val(Text3.Text)If x < y Then t = x x = y y = tEnd IfIf x < z Then t= x x = z z = t End IfIf y < z Then t= y y = z z = tEnd IfPrint “从大到小的顺序为:” ,x,y,zEnd Sub算法专题一过程中输入部分时一般用文本框等控件输入,也可以用inputbox函数接收数据,如果要求产生无规律的数或字符时,可以考虑使用随机函数。决定是否使用数组的依据是变量是否比较多变

18、量的值是否要多次反复使用使用数组是否有利于优化程序代码。如输入10个数求平均值,这题中每输入一个值后,马上被加入累加和中了,输入的每个数不需要记住,故不需要使用数组。又如输入10个数,输出大于平均值的数,需要记住每个数,以便在最后得到平均值时再来每个数与平均值进行比较,所以要使用数据。再如在得到裴波那契数列时,用数组就比用简单变量的程序简单不少。处理部分分为数字处理和字符串处理,可能会用到循环、判断等语句。输出部分一般使用PRINT语句,根据实际可能使用逗号或分号,如果要求每行输出几个数据时,也可能要使用IF I MOD 10=0 THEN PRINT这样的语句。还可以用tab()函数进行输入

19、位置的定位,还可以用msgbox函数进行输出结果,或把要输出的内容放到标签控件或其他控件中显示。注意输出格式要符合题目要求。其他如使用数据要先定义,注意循环、判断语句书写时的缩进与对齐也是非常重要的,特别是块结构中end if end select end sub等结尾语句不能忘记。1、记住三种排序方法冒泡排序:以对A(n)数组进行从小到大排序为例,假设数组下标从1开始,用option base 1进行指定,共有n个数组元素比较交换法选择交换法冒泡排序法option base 1dim a(n) as singlefor i=1 to n-1for j=i+1 to nif a(i)>a

20、(j) thent=a(i)a(i)=a(j)a(j)=tend ifnext jnext ioption base 1dim a(n) as singlefor i=1 to n-1min=ifor j=i+1 to nif a(min)>a(j) then min=jnext jif min<>i thent=a(i)a(i)=a(min)a(min)=t end ifnext ioption base 1dim a(n) as singlefor i=1 to n-1for j=1 to 10-iif a(j)>a(j+1) thent=a(j)a(j)=a(j+

21、1)a(j+1)=tend ifnext jnext i练习题1)随机产生50个10,100之间的随机整数,请从小到大排序,并以每行4个数的格式输出dim a(50)randomize timerfor i = 1 to 50 a(i) = int(rnd * 91 + 10)next ifor i = 1 to 49 for j = i + 1 to 50if a(i) > a(j) thent=a(i)a(i)=a(j)a(j)=t next jnext ifor i = 1 to 50 print a(i); if i mod 4 = 0 then printnext iend2)

22、某校进行歌手大赛,共有20位选手参加,有10位评委分别对位每歌手进行打分(最高分为10分),去掉最高、最低分后的平均分即为每位歌手的最后得分,要求以最后得分从高到低排序输出每位歌手的姓名和最后得分。dim a(20),name as stringdim b(20) ,t as singlefor i = 1 to 20a(i)=inputbox( "请输入第" & "个选手的姓名") max = -1: min = 11: s = 0 for j = 1 to 10 b(i)=val(inputbox( "请输入第" &

23、; "个选手的分数" ) if x > max then max = x if x < min then min = x s = s + x next j b(i) = (s - max - min) / 8next ifor i = 1 to 19 for j = i + 1 to 20if b(i) < b(j) then t=b(i)b(i)=b(j)b(j)=tname=a(i)a(i)=a(j)a(j)=name next jnext ifor i = 1 to 20 print a(i), b(i)next i算法专题二1、累加、连乘算法累加:

24、初值s=0,算式s=s+i 连乘:初值p=1,算式p=p*i编程题:1)计算s=1+3+5+ns=0n=val(inputbox( "请输入n的值")for i=1 to n step 2 s=s+inext iprint "s="send2)计算s=1+4+9+25+100s=0for i=1 to 10 s=s+i*inext iprint "s="send3)计算s=1+1/2!-1/3!+1/4!-+1/20!s=0:p=1for i=1 to 20 p=p*i s=s+1/pnext iprint "s="

25、;send4)计算s=1!+4!+9!+16!+25!+36! s=0for i=1 to 6 p=1 for j=1 to i*i p=p*j next j s=s+pnext iprint "s="send5)已知sin(x)=x/1-x3/2!+x5/4!-±*x2n-1/(2n-2)!,求解sin(x),x由键盘输入,计算精度要求直到最后一项小于10-5为止。x =val(inputbox( "请输入x的值")s = 0: t = 1: p = 0m = t * xwhile abs(m) > 10 (-5) s = s + m

26、t = -t p = p + 2 m = m * t * x * x / (p - 1) * p)wendprint s + m2、顺序查找法查找又称搜索,就是在大量数据中,找出满足某些条件的数据编程题:1)输入100个成绩,找出最高分和最低分。设试卷满分为100分。max=-1:min=101for i=1 to 100 x =val(inputbox( "请输入第" & i & "的同学的分数") if x>max then max=x if x<min then min=xnext iprint "最高分:&q

27、uot;maxprint "最低分:"minend2)输入若干个成绩,直到输入的成绩小于0时结束输入。要求输出最高分及输入的顺序号。设试卷满分为100分。输出格式为“第xx个成绩是最高分,最高分为xx分。”max=-1:t=0x =val(inputbox( "请输入第" & 1& "的同学的分数")m=1while x>=0 if x>max then max=x:t=m m=m+1 x =val(inputbox( "请输入第" & m & "的同学的分数&

28、quot;)wendprint "第"t;"个成绩是最高分,最高分为"max;"分"end算法专题三一、简单文本图形的程序设计 输出一个文本图形需要考虑4点:图形有几行(一般由外循环控制) 每行首字符位置(一般由tab( )函数控制) 每行由几个字符(一般由内循环控制) 用什么字符组成图形编程题1、* * * * a * * 1 3 * * * * bb * * 121 232 * * * * ccc * * 12321 12321 * * * * dddd * * 121 232 * * * * eeeee * * 1 31、 *

29、* * *for i=1 to 5 print tab(6-i); for j=1 to i print "*" next j print next i end2、for i=1 to 5 * * * * * print tab(6-i); for j=1 to 2*i-1 print "*" next j printnext iend3、for i = -2 to 2 * * * * * print tab(abs(i) + 1); for j = abs(i) - 2 to 2 - abs(i) print "*" next j

30、printnext i4、 '方法一for i=1 to 4 11 211 2 3 2 1 1 2 3 4 3 2 1 print tab(5-i)*3); for j=1-i to i-1 print i-abs(j); next j printnext i '方法二for i=1 to 4 print tab(5-i)*3); for j=1 to 2*i-1 print i-abs(i-j); next j printnext i二、整除、奇偶、素数判断判断m能否被n整除的表达式是m mod n=0,判断是否偶数的表达式是m mod 2=0,判断是否是奇数的表达式是m m

31、od 2=1,判断一个数是否是素数的条件是该数去除2,sqr(m),如果都不能被整除,就说明是素数编程题1)输出1,100之间所有能同时被4和6整除的整数for i = 1 to 100 if i mod 4 = 0 and i mod 6 = 0 then print i,next iend2)随机产生100个100,500之间的整数,以每行4个格式输出所有奇数,并输出所有奇数的平均值randomize timers = 0: t = 0for i = 1 to 100 x = int(rnd * 401 + 100) if x mod 2 = 1 then s = s + x t = t

32、+ 1 print x, if t mod 4 = 0 then print end ifnext iprintprint s / tend3)输出100以内的所有素数swit=0for i = 2 to 100 for j = 2 to sqr(i) if i mod j = 0 then swit=1 :exit for next j if swit=0 then print i,next iend4)输出指定两个整数之间的所有素数。所谓素数是指除了1与其自身外不能被任何数整除的数。private sub form_click()m=val(inputbox(“请输入一个整数”)n=val

33、(inputbox(“请输入另一个整数”)if n<m then t=n n=m m=tend iffor i=m to n 判断素数 k=int(sqr(i) j=2 swit=0 while j<=k and swit=0 if i mod j=0 then swit=1 else j=j+1 end if wend if swit=0 then print inext i算法专题四一、数字分离、组合数字分离组合主要用到mod和int函数。设x是一个三位数,则百位数=x 100 十位数=x 10 mod 10 个位数=x mod 10编程题1)输入一个整数,把该整数分解成各个独

34、立的数字,并倒序输出。如输入183,则输出3 8 1方法一x=val(inputbox(“请输入一个整数”)while x > 0 a = x mod 10 print a; x = x 10wend方法二x=val(inputbox(“请输入一个整数”)x$ = str$(x)for i = len(x$) to 2 step -1 print mid$(x$, i, 1);next 2)输入一个十进制整数,输出对应的二进制值x=val(Inputbox(“请输入一个数”)s$ = ""while x > 0 a = x mod 2 s$ = chr$(48

35、+ a) + s$ x = x 2wendprint s$end3)随机产生100若干个100,999的整数,把每个整数分解成百位、十位、个位,分别统计百、十、个位数的和randomize timerfor i = 1 to 100 x = int(rnd * 900 + 100) a = a + x 100 b = b + x 10 mod 10 c = c + x mod 10next iprint “百位数字之和:”;aprint “十位数字之和:”;bprint “个位数字之和:”;cend二、单选钮和检查框的使用例1、设计一个简单的留言簿,要求能改变输入文字的字体及字型。Privat

36、e Sub Check1_Click(Index As Integer)Select Case IndexCase 0 Text1.FontBold = Not Text1.FontBoldCase 1Text1.FontItalic = Not Text1.FontItalicCase 2Text1.FontUnderline = Not Text1.FontUnderlineEnd SelectEnd SubPrivate Sub Command1_Click(Index As Integer)If Index = 1 Then Unload MeIf Index = 0 Then Tex

37、t1.Text = "" Text1.SetFocusEnd IfEnd SubPrivate Sub Option1_Click(Index As Integer)If Index = 0 Then Text1.FontName = "宋体"If Index = 1 Then Text1.FontName = "黑体"If Index = 2 Then Text1.FontName = "楷体_GB2312"End Sub算法专题五一、列表框的用法例1、窗体上有二个标签框、一个文本框、一个列表框和三个命令按钮,实

38、现如下功能:添加按钮:将文本框中的内容添加到列表框中,如果列表框中的项目数超过了30,则显示“个数已到,不能再输入”的信息。“排序”按钮:对列表框中的列表项按从小到大次序进行排列“删除”按钮:删除列表框中所选的列表项列表框名称为List1,文本框名称为Text1,排序按钮名称为Command1,删除按钮名称为command2,添加按钮名称为Command3.要按钮的使用要带有智能判断排序过程编码如下:Private Sub Command1_Click()Dim a As StringFor i = 0 To List1.ListCount - 2 For j = i + 1 To List1

39、.ListCount - 1 If List1.List(i) > List1.List(j) Then a = List1.List(i) List1.List(i) = List1.List(j) List1.List(j) = a End If Next jNext iEnd Sub删除事件过程编码如下:若是列表框multi select不等于0,可以复选,则删除项目的代码为:Private Sub Command2_Click()For i = List1.ListCount - 1 To 0 Step -1 If List1.Selected(i) Then List1.Rem

40、oveItem iNext iIf List1.ListCount <= 0 Then当题目不要求按钮有智能判断功能时可省略 Command2.Enabled = False Command1.Enabled = FalseElse Command2.Enabled = true Command1.Enabled = true End IfCommand3.enabled=trueEnd Sub若是列表框multi select等于0,只能单选,则删除项目的代码为:Private Sub Command2_Click()List1.RemoveItem list1.listindex If List1.ListCount <= 0 Then当题目不要求按钮有智能判断功能时可省略 Command2.Enabled = False Command1.Enabled = FalseElse Command2.Enabled = true Command1.Enabled = true End IfCommand3.enabled=trueEnd Sub添加事件过程编码如下:Private Sub Command3_Click()If List1.ListCount >= 30 ThenMsgBox ("个数已到,不能再输入&quo

温馨提示

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

评论

0/150

提交评论