VB程序设计初步.ppt

上传人:小飞机 文档编号:5451929 上传时间:2023-07-08 格式:PPT 页数:71 大小:299.50KB
返回 下载 相关 举报
VB程序设计初步.ppt_第1页
第1页 / 共71页
VB程序设计初步.ppt_第2页
第2页 / 共71页
VB程序设计初步.ppt_第3页
第3页 / 共71页
VB程序设计初步.ppt_第4页
第4页 / 共71页
VB程序设计初步.ppt_第5页
第5页 / 共71页
点击查看更多>>
资源描述

《VB程序设计初步.ppt》由会员分享,可在线阅读,更多相关《VB程序设计初步.ppt(71页珍藏版)》请在三一办公上搜索。

1、第四章 VB程序设计初步,状态:姓名:张三 体重:60.5kg 身高:180cm 年龄:16岁 性别:男 出生日期:1995年10月25日,方法:,引出例子:,4.1基本数据类型、常量、变量,基本数据类型:,实数的科学计数法表示:1.5e-45 相当于1.5*10(-45)3.4e38相当于3.4*10387E5相当于7*1057E-5相当于7*10(-5)字符串:双引号开始并且双引号结尾的一段文字内容如:“I love this game”“Visual Basic”,1、下列数据中不属于整数范围的是(A)-2345(B)32768(C)0(D)-327682、100000不可能的数据类型是

2、(A)integer(B)long(C)single(D)double3、下列数据中不属于字符串的是(A)”I m here”(B)”100”(C)”1E+2”(D)100,圆周率=3.14159265.光速 C3108m/s(真空中)声速 V340m/s(15)水比热容 C42103J/(kg)阿伏伽德罗常数 NA=6.022646910.6xl023个/摩尔,引出例子:,常量:,是指在程序执行过程中其值不能改变的存储单元或数据,在程序运行的过程中不能被修改,也不能对常量赋予新值。,整数常量:12 1024 32767实数常量:3.12-2.3 0字符串变量:”vb”“”“0.615”逻辑变

3、量:True False,VB程序语句:Const PI=3.14159Const teacher=“xiao”常量的值决定了常量的数据类型,指数据的存储单元,其存储的数据在程序的执行过程中是可变的。不同变量要用不同的名称,变量名由字母、数字和下划线,但必须以字母开头,变量中字母大小写不区分;一般情况下,需要指定变量的类型。如adc、a、a23、b_3等,变量:,一些保留字不能作为变量:数据类型名称,如integer、single、long、double、string、boolean、date等编程语句关键词,如and、or、if、then、else、end、dim、redim、as、cons

4、t、mod、select、case、for、to、next、do、while、loop、sub、function等系统函数名称,如abs、int、sqr、exp、log、sin、cos、tan、asc、chr、val、str、len、mid、fix,left、right等一些系统值:如true、false、ReadOnly、SyncLock等其他一些保留字:Preserve、Private、Property、ProtectedPublic,1下面4项中合法的变量名是(A)X_yz(B)123abc(C)integer(D)X+Y2、下列属于非法的变量名是(A)r1_(B)next_1(C)Ne

5、xt(D)integer1,形式是:Dim 变量名 As 变量类型 例如:Dim I as integer Dim x as double,y as double Dim name as string,用来存储同一批类型的数据,它是由同一批类型的变量构成的一个序列;组成数组的每一个变量称为数组的元素,或称为下标变量,下标是一个整数,用来指出元素在数组中的位置,数组每个元素的位置由它的下标唯一确定。,数组变量:,形式是:Dim 数组变量名(A1 to A2)As 元素类型A1是数组下标的下界,A2是下标的上界,A1和A2都是整数常量。如:dim score(1 to 50)as integer,

6、它包含的元素有score(1)、score(2)score(50)dim strname(-7 to 10)as string,它包含的元素有score(-7)、score(-6)score(10)dim 数组变量名(n)as 元素类型 相当于 dim 数组变量名(0 to n)as元素类型其中n为整数常量 dim score(50)as integer dim score(0 to 50)as integer,一维数组用来存储数据的一个线性序列Dim a(1 to n)as integer a(1)a(2)a(3)a(4)a(5)a(n)二维数组用来存储一个二维表Dim a(1 to m,1

7、 to n)as integera(1,1)a(1,2)a(1,3)a(1,4)a(1,n)a(2,1)a(2,2)a(2,3)a(2,4)a(2,n)a(3,1)a(3,2)a(3,3)a(3,4)a(3,n)a(m,1)a(m,2)a(m,3)a(m,4)a(m,n),二维数组变量形式:Dim 数组变量名(A1 to A2,B1 to B2)as 元素的类型如:dim price(1 to m,1 to n)as integer price(3,4)是数组price第3行第4列上的元素,a(1,1)a(1,2)a(1,3)a(1,4)a(1,n)a(2,1)a(2,2)a(2,3)a(2,

8、4)a(2,n)a(3,1)a(3,2)a(3,3)a(3,4)a(3,n)a(m,1)a(m,2)a(m,3)a(m,4)a(m,n),多维数组变量形式:Dim 数组变量名(A1 to A2,B1 to B2,.,N1.N2)as 元素的类型如:dim price(1 to 20,1 to 8,.,4)as double price(1,2,.,4)是数组的一个元素多维数组可以存放的数据量:每一维的数据量的乘积如 dim price(1 to 5,-1 to 2,4)as double 可以存放的数据个数:5*4*5=100,1、如下数组声明语句,正确的是(A)Dim a3,4 As Int

9、eger(B)Dim a(1 to 3,4 to 9)As Integer(C)Dim a(1 to 3,3)Integer(D)Dim a(3,4)As2、要分配存放如下方阵的数据:1.1 2.2 3.34.4 5.5 6.67.7 8.8 9.9数组声明语句能实现(不能浪费空间)的是Dim a(9)As Single Dim a(3,3)As Single Dim a(-1 To 1,-5 To-3)As SingleDim a(-3 To-1,-5 To-7)As Integer3、如下数组声明语句:Dim a(3,-2 To 2,5)as integer则数组a包含的元素的个数为(A)

10、120(B)75(C)60(D)13,常用的函数:数学函数,类型转换和字符串函数:,1、a=str(int(-6.1),那a的值为(A)-6(B)”-6”(C)-7(D)”-7”2、有以下代码 a=asc(“C”)a=a-3 a=sqr(a)a=a/2 str0=mid(“abcdefghi”,a+2,2)经过计算后最后str0的值为(A)”ef”(B)”fg”(C)”cd”(D)”gh”3、b=abs(Fix(-2.56),b的值为(A)2(B)3(C)”2”(D)-24、要产生015间的任意整数,VB表达式是(A)1+int(15*rnd)(B)int(15*rnd)(C)1+int(16

11、*rnd)(D)int(16*rnd),产生a,b间的任意整数(a,b均为整数,ab),表达式公式为 a+fix(b-a+1)*rnd),4.2基本运算和表达式,算术类基本运算,关系类基本运算,注意事项:1、关系运算的结果是逻辑值;2、字符串比较的规则:从左到右ASCII码值逐一进行比较,遇到ASCII码不等时,规定ASCII码值大的字符所在的字符串大,若短字符串和长字符串左边都相等,则长串比短串大。3、小写字母的ASCII码值比之对应的大写字母的ASCII码值大;例如:“ABC”“ABB”的值为true“Free”=“Free”的值为true“12”=“12”的值为false“abc”“a”

12、的值为true“abc”“ABC”的值为true,逻辑类基本运算,“非”运算,与原始数据逻辑值相反,原始数据是真,那结果是假,原始数据是假,那结果是真;“与”运算,仅当两边表达式都为真时,其结果为真,否则为假;“或”运算,两边表达式逻辑值都为假时,计算结果为假,否则结果为真。,1、下列运算符优先级别最高的是(A)NOT(B)AND(C)OR(D)+2、34 and-27的值是(A)False(B)True(C)0(D)13、not(33-208 and 45)的值是(A)False(B)True(C)0(D)14、-5020/5 mod 6 2 or not“a”A”的值是(A)False(B

13、)True(C)0(D)1,表达式 可以包括算术运算、关系运算、逻辑运算等多种基本运算,运算涉及的数据是变量、常量、具体的数值或运算结果。y=,写一表达式来求y的值。y=(x*x+1)/(abs(x)+3)三条线段分别为a、b、c,写一表达式判断三条线段能否构成一个三角形。p(a+bc)and(a+cb)and(b+ca),4.3语句 是一种用来描述或规定计算机应该完成的一串操作的命令。VB程序中,可以一行上写一个语句,也可以在一行上写几个语句,一行上相邻语句用冒号(:)隔开。,语句:A=3B=4C=5L=(a+b+c)/2S=sqr(s*(s-a)*(s-b)*(s-c)也可以写成:A=3:

14、B=4:C=5L=(a+b+c)/2S=sqr(s*(s-a)*(s-b)*(s-c),赋值语句 格式如下:,赋值语句 变量名=表达式(变量或常量、数值)或 对象名.属性名=表达式,给a、b、c三个数分别赋值,在把b2-4ac的结果存储到变量d中 a=3:b=2:c=4 d=b*b-4*a*c 设字符类型的变量ch中存储了一个小写字母,要把ch中的小写字母转换成大写字母,再把这个字母在text1文本中显示 ch=chr(asc(ch)-32)text1.text=ch,语句的运用 VB的语句必须放在相应的事件过程中 比如要单击(click)命令按钮(command1)执行的事件,就必须把相应的

15、代码写入下面地点,已知三角形三条边分别是a=3,b=4,c=5,用赋值语句求三角形面积S,并把该面积值在文本框text1中显示。,a=3b=4c=5p=(a+b+c)/2s=sqr(p*(p-a)*(p-b)*(p-c)Text1.text=str(s),VB的输入输出 输入:VB中数据的输入一般可通过控件的一些属性来获取,如文本框的text属性 输出:VB中数据的输出一般可通过控件的一些属性来显示,如文本框的text属性、标签的caption属性,注意点:1、文本框的text属性、标签的caption属性、命令按钮的caption属性值都是字符串型;如果要利用里面的输入作为数据运算,就必须用

16、val函数,如a=val(text1.text);如果要把数值显示在相应控件上,就必须用str函数,如text1.text=str(5*5);如果显示逻辑值可以直接显示,如 text1.text=true 或 text1.text=3=3;2、在vb程序中用到的变量可以不事先定义,而直接使用;3、VB的变量如果没有赋值过,那数值型变量默认是0,字符串型变量默认是“”,逻辑型变量默认是false;,全局变量和局部变量全局变量:在事件过程外定义的变量局部变量:在事件过程内定义的变量,局部变量:Private Sub Command1_Click()Dim s As Integers=s+2Text

17、1.Text=Str(s)End Sub,全局变量:Dim s As IntegerPrivate Sub Command1_Click()s=s+2Text1.Text=Str(s)End Sub,选择语句,行if语句格式如下:,If 条件表达式 then 语句1 else 语句2或If 条件表达式 then 语句,判断a、b大小,把大的数据存放在max变量中If ab then max=a else max=b已知三角形三条边大小为a、b、c,如果满足条件在text1中显示”有解”If(a+bc)and(a+cb)and(b+ca)then text1.text=“有解”,流程图格式:,1

18、、有如下Visual Basic程序段:a=2 b=5If ab Then m=a Else m=b该程序段运行后,变量m的值为_。2、有如下Visual Basic程序段:a=5b=10max=aIf bmax Then max=b该程序段运行后,变量max的值为。,3、有一判断健康状况的Visual Basic程序,其窗体如下图所示,输入身高和体重后,单击健康状况按扭,将显示相应的健康状况信息。,标准体重=身高-105 当体重高于标准体重1.1时为偏胖,提示偏胖,注意节食!;当体重低于标准体重0.9时为偏瘦,提示偏瘦,增加营养!;其他为正常,提示正常,继续保持!。设h表示身高,g表示体重,

19、bt表示标准体重。通过分析可得出该问题的数学表达式为:,解决上述问题的Visual Basic程序如下,在(1)和(2)划线处,填入合适的语句或表达式,把程序补充完整。Private Sub Command1_Click()Dim h As Double,g As Double,bt As Doubleh=Val(Text1.Text)g=Val(Text2.Text)(1)If g bt*1.1 Then Label5.Caption=偏胖,注意节食!If(2)Then Label5.Caption=偏瘦,增加营养!If g=bt*0.9 Then Label5.Caption=正常,继续保

20、持!End Sub程序中划线处(1)应填入;程序中划线处(2)应填入。,块if语句格式如下:,If 条件表达式1 then 语句块1Elseif 条件表达式2 then 语句块2 Elseif 条件表达式n then 语句块n else 语句块0End if,0个或n个,0个或1个,计算一元二次方程ax2+bx+c=0的实数根,结果存储到变量x1、x2中,用变量k记录方程实数根的个数。用if语句描述。d=b*b-4*a*c if d0 then x1=(-b+sqr(d)/(2*a)x2=(-b-sqr(d)/(2*a)k=2 elseif d=0 then x1=(-b)/(2*a)x2=x

21、1 k=1 else k=0 end if,流程图格式:,A=2If a3 then if a5 then c=a2 else c=a3 end ifElse if a0 then c=a mod 2 else c=a/2 end ifEnd if,运行这段程序,C的值会是?,1、有如下Visual Basic程序段:x=3 If x5 Then y=x*x Else y=4*x End If该程序段运行后,变量y的值是_。2有如下Visual Basic程序段:a=5:b=4:c=7 s=a+b If s c Then Label1.Caption=初检合格 Else Label1.Capt

22、ion=重新调试 End If 该程序段运行后,在标签Label1上显示的。,3、铁路托运行李,是根据行李的重量按下列标准收费:若不超过50千克,按每千克0.35元收费,若超过50千克,超过部分则按每千克0.5元收费,行李重量不得超过150千克。设计一个Visual Basic程序,通过输入托运行李的重量,计算并输出托运行李的费用,若超过150千克,提示行李超重!。设x表示行李重量,y表示托运费。通过分析可以得出该问题的数学表达式为:,解决上述问题的Visual Basic程序如下,在(1)和(2)划线处,填入合适的语句或表达式,把程序补充完整。,Private Sub Command1_Cl

23、ick()Dim x as Double x=Val(Text1.Text)If x150 Then Text2.Text=行李超重!Else If(1)Then y=50*0.35+(x-50)*0.5 Else(2)End If Text2.Text=Str(y)End IfEnd Sub 程序中划线处(1)应填入;程序中划线处(2)应填入。,循环语句,For语句:通过次数控制循环的计算过程;Do 语句:通过条件控制循环的计算过程。,1、For语句 主要用于循环次数已知的情况,也被作为计数循环。,For语句 for 循环变量=初值 to 终值 step 步长 语句块 next 循环变量,循

24、环变量是数值变量,初值、终值和步长必须是数值表达式,一般情况是整数。步长可以正也可以是负,但不能为0,如果步长为1,step 1可以不写。Next后的循环变量和for语句的循环变量必须一致,next后的循环变量可省略,执行该语句时循环变量增加一个步长。,设d是一个数组变量,说明如下 dim d(1 to 100)as integer,把这个数组中所有的数据之和存储到变量s中.s=0 for i=1 to 100 step 1 s=s+i next i,S=0 For i=1 to 100 s=s+d(i)next,?,前2段程序执行完后i的值是多少?,s=0 For i=1 To 100 St

25、ep 1 s=s+1 Next i执行完后s、i的值是多少?,s=0 For i=1 To 100 Step-1 s=s+1 Next i执行完后s、i的值是多少?,s=0 For i=100 To 1 Step 1 s=s+1 Next I 执行完后s、i的值是多少?,s=0 For i=100 To 1 Step-1 s=s+1 Next i执行完后s、i的值是多少?,s=0 For i=1 To 100 Step 1 s=s+1:i=i+1 Next i执行完后s、i的值是多少?,寻找数组d中最大的数据,结果存储到变量k中 k=d(1)for i=2 to 100 if d(i)k th

26、en k=d(i)next i k=d(1)for i=1 to 100 if d(i)k then k=d(i)end if next,k=d(1)For i=100 to 1 step-1 if d(i)k then k=d(i)end ifnext,1、S=0 For j=1 to 30 if int(j/5)=j/5 then s=s+j j=j+6 end if Next j该程序运行后,S的值是(A)30(B)45(C)180(D)4652、x=4 for i=1 to 10 step 3 if xi then x=x+i next i 该程序运行后,x的值是(A)7(B)11(C

27、)21(D)55,3、下面是一段Visual Basic程序:Private Sub Command1_Click()Dim sum As Double,i As Integer sum=0 For i=1 To 5 sum=sum+i*i Next i Text1.Text=Str(sum)End Sub 该程序运行后,语句sum=sum+i*i共执行了 5 次。4、有如下Visual Basic程序段:For i=l To 10 a(i)=iNext i该程序段运行后,数组变量a(5)的值为 5。,5、某人走楼梯,方法是每步跨1个台阶或跨2个台阶。现要计算有20个台阶的楼梯,共有多少种不同

28、的走法?经分析,台阶数与走法种数如下表:,由上表得,走法种数的规律是:从第3项开始,每一项是它相邻的前面2项之和。解决上述问题的Visual Basic程序如下,在(1)和(2)划线处,填入合适的语句或表达式,把程序补充完整。Private Sub Command1_Click()Dim a As Long,b As Long,c As Long,n As Integera=1b=2c=a+bFor n=4 To(1)a=b b=c(2)Next nText1.Text=Str(c)End Sub程序中划线处(1)应填入;程序中划线处(2)应填入。,2、do语句 不知道循环应该执行的次数,只知

29、道执行循环满足的条件。,do语句 do while 条件表达式 语句块 loop,i=0Do while i100 s=s+1 i=i+1loop,设有变量说明如下:dim d(1 to 100)as integer dim s as double dim c as boolean执行语句,计算d的第一个负数之前的所有数据之和,结果存在变量s中。s=0 i=1 c=true do while i=0 then s=s+d(i)i=i+1 else c=false end if loop,For语句和do语句转换,For i=1 to 100 s=s+1Next i,i=1Do while i=

30、100 s=s+1 i=i+1loop,For i=100 to 1 step-1 s=s+1Next i,i=100Do while i=1 s=s+1 i=i-1loop,1、x=1:y=0 do while x10 x=x*2 y=y+1 loop该程序运行后,y的值是(A)0(B)2(C)3(D)42、a=1:b=1:c=1 do while a+b+c=10 a=a+1 b=b*2 c=b/2 loop(A)2 2 1(B)3 4 2(C)4 8 4(D)4 4 2,3、以下Visual Basic程序的功能是:计算表达式1+2+4+8+16+32+1024的值,并在文本框Text1

31、中输出结果。为了实现这一功能,程序中划线处的语句应更正为_。Private Sub Command1_Click()Dim a As Integer,s As Longs=0a=1Do While a=1024 s=s+a a=a+2LoopText1.Text=Str(s)End Sub,4、我国是人口大国,2007年初,我国人口总数已达13亿5千万。假设我国年人口增长率为0.5%,则从2007年起多少年后我国人口就会达到或超过15亿?解决此问题的流程图如VB-1所示。根据流程图VB-1编写的Visual Basic程序如下,在(1)和(2)划线处,填入合适的语句或表达式,把程序补充完整。P

32、rivate Sub Command1_click()Dim n As Integer,r As Single Dim p As Double r=0.5/100 p=13.5 n=0 Do While p 15(1)n=n+1(2)Text1.Text=Str(n)End Sub程序中划线处(1)应填入,程序中划线处(2)应填入。,5、将一张面值为100元的人民币等值换成5元、1元的零钞共40张,要求每种零钞不少于1张,问5元和1元面值的零钞各多少张?设x、y分别为5元和1元面值的零钞张数,通过分析可得出该问题的数学表达式为:,且 1x20,解决上述问题的Visual Basic程序如下,但

33、此程序存在两处错误,已分别用划线及(1)、(2)标注。请改正这二处错误,并将正确内容按顺序填写在程序下方(1)和(2)划线处。Private Sub Command1_Click()Dim x As Integer,y As Integer y=1:x=1 Do While 5x+y 100(1)y=y+1 x+y=40(2)Loop Label1.Caption=5元钞+Str(x)+张 Label2.Caption=1元钞+Str(y)+张End Sub程序中划线处(1)改为,程序中划线处(2)改为。,6、哥哥考弟弟一道数学题,题目是:有一筐鸡蛋,2个2 个数多1个,3个3个数多2个,4个

34、4个数多3个,5个5个数正好数完,问这筐鸡蛋最少是几个?为解决此问题,弟弟编了一个如下Visual Basic程序,其中s表示鸡蛋数,t用于控制循环。但此程序存在两处错误,已分别用划线及(1)、(2)标注。请改正这二处错误,并将正确内容按顺序填写在程序下方(1)和(2)划线处。Private Sub Command1_Click()Dim s As Integer,t As Boolean s=5 t=False Do While Not t s=s+1 t=(s Mod 2=1)And(s Mod 3=2)And(s Mod 4=3)And(s Mod 5 0)(1)Next(2)Text1

35、.Text=Str(s)End Sub程序中划线处(1)改为,程序中划线处(2)改为。,6、有一个有趣的兔子繁殖问题:第1个月买来1对小兔子,两个月后,这对兔子就会生1对小兔子,以后每个月都会生一对小兔子;而生下来的这对小兔子,两个月后又会开始生1对小兔子。依次类推,试问:几个月后,兔子将超过50对?分析问题得出月份与兔子对数的关系如下表:,由表知兔子繁殖规律:从第3个月开始,以后每月的兔子对数都是它相邻的前面2个月的兔子对数之和。解决上述问题的Visual Basic程序如下,在(1)和(2)划线处,填入合适的语句或表达式,把程序补充完整。,Private Sub Command1_Clic

36、k()Dim a(1 To 100)As Integer,n As Integer a(1)=1 a(2)=1 a(3)=a(2)+a(1)n=3 Do While a(n)=50 n=(1)a(n)=(2)Loop Text1.Text=Str(a(n)End Sub程序中划线处(1)应填入,程序中划线处(2)应填入。,注释,以单引号()开头的一串文字,可以出现在程序中需要进行说明的位置。dim c as integer c是计数器c=0 计数器c的初值For i=1 to n if n mod i=0 then c=c+1 找到n的因子Next i,过程 程序可划分的一个逻辑单元事件处理过

37、程 通用过程,事件处理过程 sub 事件处理过程名(参数名)语句块 end sub,事件处理过程名必须符合下面规则:对象名_事件的标准名,有如下通用过程:Public sub fun(a()as integer,x as integer)for i=1 to 5 x=x+a(i)next IEnd sub在窗体上画一个名称为text1的文本框和一个名称为command1的命令按钮,然后编写如下事件过程:Private sub command1_click()dim arr(5)as integer,n as integer for i=1 to 5 arr(i)=i+i next i fun

38、arr,n text1.text=str(n)End sub程序运行后,文本框中显示的内容是()(A)15(B)20(C)30(D)40,函数,函数 function 函数名(参数名)as 类型 语句块 end function,有如下函数:function fun(a()as integer)as integer x=0 for i=1 to 5 x=x+a(i)next I fun=xEnd function 在窗体上画一个名称为text1的文本框和一个名称为command1的命令按钮,然后编写如下事件过程:Private sub command1_click()dim arr(6)as integer,n as integer for i=1 to 6 arr(i)=i next i text1.text=fun(arr)End sub程序运行后,文本框中显示的内容是()(A)6(B)7(C)15(D)21,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号