vb第5章数组、列表框和组合框ppt课件.ppt
《vb第5章数组、列表框和组合框ppt课件.ppt》由会员分享,可在线阅读,更多相关《vb第5章数组、列表框和组合框ppt课件.ppt(98页珍藏版)》请在三一办公上搜索。
1、5.1 数组的使用 5.2 控件数组 5.3 列表框与组合框5.4 小结,实例,本章实例,实例5.1,实例5.2,实例5.3,实例5.4,实例5.5,实例5.6,实例5.7,实例5.8,实例5.9,实例5.10,实例5.11,【引例】 计算20个数据的平均值。程序运行时随机产生20个两位整数显示在上面标签中;单击 “平均值”按钮时,计算20个数据的平均值显示在下面的标签中。,5.1 数组的使用,操作步骤,1、界面设计,2、编写窗体的Load事件,Private Sub Form_Load() End Sub,生成20个1099间的随机数,累加20个随机数,连接20个随机数,显示在标签中,2、编
2、写窗体的Load事件,Private Sub Form_Load() End Sub,生成20个1099间的随机数,累加20个随机数,连接20个随机数,显示在标签中,For i = 1 To 20 Next i,1,1,1,For i = 1 To 20 Next i,2、编写窗体的Load事件,Private Sub Form_Load() End Sub,生成20个1099间的随机数,累加20个随机数,连接20个随机数,显示在标签中,1,1,1,a = Int(Rnd * 90) + 10,s = s + a,L1.Caption = L1.Caption & str(a),Randomi
3、ze,Private Sub cmdAve_Click() End Sub,L2.Caption = “平均值:” & s/20,3、编写“平均值”按钮的单击事件,两个过程中都要用到,应定义成窗体级变量,【修改引例】 添加“大于平均值”按钮。单击 “大于平均值”按钮时,将20个数据中大于平均值的数据显示在下面标签中。,分析,单击“平均值”按钮后才能使用“大于平均值”按钮,为了找到大于平均分的各个数据,必须保存20个随机数据,定义20个整型变量,定义窗体级变量,Dim s As Integer Dim a1 As IntegerDim a2 As Integer Dim a20 As Integ
4、er,编写窗体的Load事件,Private Sub Form_Load() End Sub,a1 = Int(Rnd * 90) + 10a2 = Int(Rnd * 90) + 10 a20 = Int(Rnd * 90) + 10,cmdLarge.Enabled = False,Randomize,s = a1 + a2 + + a20,L1.Caption = a1 & a2 & & a20,编写“平均值”按钮的单击事件,Private Sub cmdAve_Click() End Sub,cmdLarge.Enabled = True,L2.Caption = “平均值:” & s
5、/20,编写“大于平均值”按钮的单击事件,Private Sub cmdLarge_Click() End Sub,ave = s / 20,L2.Caption = ,If a1 ave Then L2.Caption = L2.Caption & Str(a1)End If If a20 ave Then L2.Caption = L2.Caption & Str(a20)End If,烦!烦!烦!,思考:改进,20个变量的名字为a(1)、a(2)、a(20),对于第i个变量,可表示为a(i),随机生成20个数据,For i = 1 To 20 a(i) = Int(Rnd * 90) +
6、 10Next i,For i = 1 To 20 s = s + a(i) Next i,累加20个数据,连接20个数据,显示在标签中,For i = 1 To 20 L1.Caption = L1.Caption & a(i) Next i,查找大于平均值的数据,显示在标签中,For i = 1 To 20 If a(i) ave Then L2.Caption = L2.Caption & a(i) End IfNext i,改写窗体的Load事件,Private Sub Form_Load() cmdLarge.Enabled = False Randomize For i = 1 T
7、o 20 a(i) = Int(Rnd * 90) + 10 s = s + a(i) L1.Caption = L1.Caption & Str(a(i) Next iEnd Sub,改写“大于平均值”按钮的单击事件,Private Sub cmdLarge_Click() End Sub,L2.Caption = ave = s / 20For i = 1 To 20 If a(i) ave Then L2.Caption = L2.Caption & Str(a(i) End IfNext i,Dim a(1 To 20) As Integer,包括20个变量:,a(1)、a(2)、a(
8、3)、a(20),均是整型,若有Dim a(-1 To 10) As Single,包括12个变量:a(-1)、a(0)、a(1)、a(2)、 a(3)、a(10)各变量的数据类型均是单精度型,定义20个变量的方法,【实例5.1】 计算20个数据的总和与平均值。程序运行时随机产生20个两位整数显示在上面标签中;单击“求和”或“平均值”按钮时,计算20个数据的总和或平均值,显示在下面的标签中。,操作步骤,(1)设计用户界面,(2)定义窗体级变量,Dim a(1 To 20) As Integer,(3)编写窗体的装载事件过程代码,Private Sub Form_Load() Randomize
9、 For i = 1 To 20 a(i) = Int(Rnd * 90) + 10 lblData.Caption = lblData.Caption & Str(a(i) Next iEnd Sub,(4)编写“求和”命令按钮的单击事件代码,Private Sub cmdSum_Click() Dim sum As Integer For i = 1 To 20 sum = sum + a(i) Next i lblResult.Caption = 总和是: & sumEnd Sub,sum = sum + a(1)sum = sum + a(2)sum = sum + a(3)sum =
10、 sum + a(20),要处理1000个数据时,怎么办?,(5)编写“平均值”命令按钮的单击事件代码,Private Sub cmdAve_Click() Dim sum As Integer Dim ave As Single For i = 1 To 20 sum = sum + a(i) Next i lblResult.Caption=平均值是: & sum/20End Sub,技能要点,数组的概念数据类型相同的多个变量所构成的集合所有的变量都使用相同的名字 数组名不同的变量通过下标来区别,数组的定义,Dim 数组名(下界 To 上界) As 类型 Dim a( 3 To 25 )
11、As String 包含元素个数:上界 下界 + 1 a(3)、a(4)a(25)共23个元素,缺省时默认为0,a(0)、a(1)a(25)共26个元素,【实例5.2】数据的逆置。程序运行时随机产生10个两位整数显示在上面标签中;单击“逆置”按钮,将各数据按逆序重新放入原数组中并显示在下面标签中;单击“重置”按钮则重新产生10个两位整数显示在上面标签中,同时将下面标签清空。,操作步骤,(1)设计用户界面,(2)定义窗体级数组,Dim a(9) As Integer,a(0)、a(2)、a(3)、a(9),省略数组下标下界,(3)编写窗体的装载事件过程代码,Private Sub Form_Lo
12、ad() For i = 0 To 9 a(i) = Int(Rnd * 90) + 10 lblData.Caption = lblData.Caption & Str(a(i) Next iEnd Sub,(4)编写“逆置”命令按钮的单击事件代码,Private Sub cmdBack_Click() Dim t As Integer 实现数组元素的逆置功能 For i = 0 To 9 lblResult.Caption=lblResult.Caption & Str(a(i) Next iEnd Sub,(4)编写“逆置”命令按钮的单击事件代码,Private Sub cmdBack_
13、Click() Dim t As Integer 实现数组元素的逆置功能 For i = 0 To 9 lblResult.Caption=lblResult.Caption & Str(a(i) Next iEnd Sub,(4)编写“逆置”命令按钮的单击事件代码,t = a(0) : a(0) = a(9) : a(9) = tt = a(1) : a(1) = a(8) : a(8) = tt = a(2) : a(2) = a(7) : a(7) = tt = a(3) : a(3) = a(6) : a(6) = tt = a(4) : a(4) = a(5) : a(5) = t,
14、Private Sub cmdBack_Click() Dim t As Integer For i = 0 To 9 lblResult.Caption=lblResult.Caption & Str(a(i) Next iEnd Sub,For i = 0 To 4 t = a(i) a(i) = a(9 - i) a(9 - i) = tNext i,(4)编写“逆置”命令按钮的单击事件代码,Private Sub cmdBack_Click() Dim t As Integer For i = 0 To 9 lblResult.Caption=lblResult.Caption & S
15、tr(a(i) Next iEnd Sub,For i = 0 To 4 t = a(i) a(i) = a(9 - i) a(9 - i) = tNext i,(5)编写“重置”命令按钮的单击事件代码,Private Sub cmdReset_Click() lblData.Caption = lblResult.Caption = Form_LoadEnd Sub,相当于复制Form_Load中的所有代码,Private Sub Form_Load() For i = 0 To 9 a(i) = Int(Rnd * 90) + 10 lblData.Caption = lblData.Ca
16、ption & Str(a(i) Next iEnd Sub,【实例5.3】找数据中的最大、最小值。程序运行时随机产生10个两位整数显示在上面标签中;单击“最大”或“最小”按钮时,找出10个数据中的最大或最小值显示在下面标签中。,操作步骤,(1)设计用户界面,(2)定义窗体级数组,Dim a(9) As Integer,(3)编写窗体的装载事件过程代码,Private Sub Form_Load() For i = 0 To 9 a(i) = Int(Rnd * 90) + 10 lblData.Caption = lblData.Caption & Str(a(i) Next iEnd Su
17、b,(4)编写“最大”命令按钮的单击事件代码 Private Sub cmdMax_Click() Dim k As Integer 求最大元素下标值 lblResult.Caption = 最大元素是: & a(k) End Sub,记住最大值元素的下标值,假设第0个元素值最大 k=0,a(k)a(1)?,k=0,a,a(k)a(2)?,假,K不变,k=0,0,1,2,3,4,5,6,7,8,9,下标,找最大值的算法,假,K不变,a(k)a(3)?,k=0,a(k)a(4)?,k=0,a(k)a(5)?,真,k=5,K变化,a(k)a(6)?,a(k)a(7)?,a(k)a(8)?,a(k)
18、a(9)?,k=5,k=5,k=8,k=8,a(k)a(1)?,k=0,a,a(k)a(2)?,k=0,0,1,2,3,4,5,6,7,8,9,下标,找最大值的算法,a(k)a(3)?,k=0,a(k)a(4)?,k=0,a(k)a(5)?,k=5,a(k)a(6)?,a(k)a(7)?,a(k)a(8)?,a(k)a(9)?,k=5,k=5,k=8,k=8,If a(k)a(1) Then k=1,If a(k)a(2) Then k=2,If a(k)a(9) Then k=9,a(k)a(1)?,k=0,a,a(k)a(2)?,k=0,0,1,2,3,4,5,6,7,8,9,下标,找最大
19、值的算法,a(k)a(3)?,k=0,a(k)a(4)?,k=0,a(k)a(5)?,k=5,a(k)a(6)?,a(k)a(7)?,a(k)a(8)?,a(k)a(9)?,k=5,k=5,k=8,k=8,概括:If a(k) a(i) Then k=i,i = 19,a(k)a1?,k=0,a,a(k)a(2)?,k=0,0,1,2,3,4,5,6,7,8,9,下标,找最大值的算法,a(k)a(3)?,k=0,a(k)a(4)?,k=0,a(k)a(5)?,k=5,a(k)a(6)?,a(k)a(7)?,a(k)a(8)?,a(k)a(9)?,k=5,k=5,k=8,k=8,概括:If a(
20、k) a(i) Then k=i,k = 0For i = 1 To 9 If a(k) a(i) Then k = iNext i,(4)编写“最大”命令按钮的单击事件代码 Private Sub cmdMax_Click() Dim k As Integer k = 0 For i = 1 To 9 If a(k) a(i) Then k = i End If Next i lblResult.Caption = 最大元素是: & a(k)End Sub,(5)编写“最小”命令按钮的单击事件代码 Private Sub cmdMin_Click() Dim k As Integer k =
21、 0 For i = 1 To 9 If a(k) a(i) Then k = i End If Next i lblResult.Caption = 最小元素是: & a(k)End Sub,【实例5.4】数据排序。程序运行时,单击“产生数据” 按钮,随机产生20个0100之间的整数显示在窗体上部;单击“排序” 按钮,将排序后的数据显示在窗体下部。,操作步骤,(1)设计用户界面,(2)定义窗体级数组,Dim a(1 To 20) As Integer,(3)编写“产生数据”命令按钮的单击事件代码,Private Sub cmdData_Click() Dim i As Integer Cls
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- vb 数组 列表 组合 ppt 课件
链接地址:https://www.31ppt.com/p-1377182.html