ImageVerifierCode 换一换
格式:PPT , 页数:33 ,大小:357.50KB ,
资源ID:8168072      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.docduoduo.com/d-8168072.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(8 数组与记录.ppt)为本站会员(hwpkd79526)主动上传,道客多多仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知道客多多(发送邮件至docduoduo@163.com或直接QQ联系客服),我们立即给予删除!

8 数组与记录.ppt

1、Visual Basic 程序设计,蓝兴望,第8章 数组与记录,数组和记录是结构数据类型,是有序的数据的集合。利用数组和记录,可以方便灵活地组织和使用数据。本章介绍如何在Visual Basic中定义和使用数组和记录。,8.1 数组的概念,8.1.1 数组的定义 格式1 : Dim 数组名(下标上界) As 类型名称 (一维数组) Dim 数组名(第一维下标上界, 第二维下标上界) As 类型名称 (二维数组) 格式2: Dim 数组名(下界To 上界,下界To 上界.),其表示形式:A(1),A(10)X(1,1), X1(1,10), X(2,10)Y(0,0,0), Y(1,2,5),与

2、上面声明等价形式: Dim A%(1 to 10) Dim A%(10) 有11个元素 1数组名的命名规则与变量的命名相同。 2数组的元素个数:上界 -下界+1。 3下界必须小于上界,下标下界最小可为-3276832767。缺省则为0,若希望下标从1开始,可在模块的通用部分使用Option Base语句将设为 1。其使用格式是:Option Base 0 | 1 后面的参数只能取0或1,求数组的上界Ubound( )函数、 下界 Lbound( )函数,Ubound( )函数和Lbound( )函数 分别用来确定数组某一维的上界和下界值。UBound(, )LBound( , ) 其中: :必

3、需的。数组变量的名称,遵循标准变量命名约定。 :可选的;一般是整型常量或变量。指定返回哪一维的上界。1 表示第一维,2 表示第二维,如此等等。如果省略默认是1。,8.1.2 默认数组,数据类型为Variant的数组称为“默认”数组。对于默认数组来说,同一个数组中可以存放不同类型的数据。因此,默认数组可以说是一种“混合数组”,8.2 动态数组,8.2.1 动态数组的定义 通常分为两步:首先在窗体层、标准模块或过程中用Dim或Public声明一个没有下标的数组(括号不能省略),然后在过程中用ReDim语句定义带下标的数组。ReDim语句: ReDim Preserve 变量(下标) As 类型 例

4、:Dim a() As IntegerRedim Preserve A(20),说明: (1)ReDim语句是一个可执行语句,只能出现在过程中,并且可以多次使用,改变数组的维数和大小。 (2)定长数组声时中的下标只能是常量,而动态数组ReDim 语句中的下标是常量,也可以是有了确定值的变量。例: Private Sub Form_Click()Dim N As IntegerN=Val(InputBox(“输入N=?”)Dim a(N) As Integer.End sub,例如:Private Sub Command1_Click()Dim a()As Integer Dim n%n = V

5、al(InputBox(“input n“)ReDim a(n)End Sub,(3)在过程中可以多次使用ReDim来改变数组的大小,也可 改变数组的维数。例:ReDim x(10)ReDim x(20)x(20) = 30Print x(20)ReDim x(20, 5) x(20, 5) = 10 Print x(20, 5) (4)每次使用ReDim语句都会使原来数组中值丢失,可以在ReDim后加Preserve 参数来保留数组中的数据。但此时 只能改变最后一维的大小。,Dim a() As Integer ReDim a(10) For i = 1 To 10a(i) = Int(Rn

6、d * 100)Print a(i) Next i,Dim a() As Integer Dim i As Integer, j As Integer ReDim a(3, 2) Cls For i = 0 To 3For j = 0 To 2a(i, j) = i * 2 + jPrint “a(“; i; “,“; j; “)=“; a(i, j); “ “;Next jPrint Next i ReDim Preserve a(3, 4) 改变二维数组的大小,Print “-“For j = 3 To 4a(3, j) = j + 20Print “a(3,“ ; j 2 ; “)=“

7、; a(3, j - 2),Print “a(3,“ ; j ; “)=“ ; a(3, j)Next j,8.2.2 数组的清除和重定义,用Erase语句清除数组的内容,格式为: Erase数组名, 数组名. Erase释放动态数组所使用的内存。在下次引用该动态数组之前,必须用ReDim语句重新定义该数组变量的维数。,例8.1 实验Erase语句的功能 Static Sub Form_Click()Dim Test(1 To 20) As IntegerFor i = 1 To 20Test(i) = iPrint Test(i);Next iErase TestPrintPrint “Er

8、ase Test()“Print “Now the Test Array is Filled with zeros.“For i = 1 To 20Print Test(i);Next i End Sub,8.3 数组的基本操作,8.3.1 数组元素的输入、输出和复制 1.数组的引用x(8),y(2,3),z%(3) 2.数组元素的输入 option base 1dim stuname( ) as string以上两行在窗体层输入Sub form_click( )redim stuname(4) as stringfor i= 1 to 4temp=inputbox(“Enter Name:”

9、)stuname(i)=temp$nextEnd sub,Stuname(1)=“Zhang” Stuname(2)=“Wang” Stuname(3)=“Li” Stuname(4)=“Zhao”,3.数组元素的输出 Option base 1 Dim a(4,4) as integer For i= 1 to 4for j= 1 to 4a(i,j)=inputbox(“Enter Data:”)next j Next i,38 47 62 53 24 84 92 51 35 52 46 87 97 74 85 92,For i= 1 to 4for j= 1 to 4print a(i,

10、j);next j Next i,4.数组元素的复制For i= 1 to 10 name(i)= name(i) Next I,冒泡法排序(递增)算法思想:(将相邻两个数比较,小的调到前头)1)有n个数(存放在数组a(n)中),第一趟将每相邻两个数比较,小的调到前头,经n-1次两两相邻比较后,最大的数已“沉底”,放在最后一个位置,小数上升“浮起”;2)第二趟对余下的n-1个数(最大的数已“沉底”)按上法比较,经n-2次两两相邻比较后得次大的数;3)依次类推,n个数共进行n-1趟比较,在第j趟中要进行n-j次两两比较。,原 始 数 据 8 6 9 3 2 7 第1趟交换后 6 8 3 2 7

11、9 第2趟交换后 6 3 2 7 8 9 第3趟交换后 3 2 6 7 8 9 第4趟交换后 2 3 6 7 8 9 第5趟无交换 2 3 6 7 8 9,For i = 1 To n - 1For j = 1 To n-iIf a(j) a(j+1) Then t=a(j)a(j)=a(j+1)a(j+1)=tEnd ifNext j Next i,冒泡法排序(升序)的VB程序:,8.3.2 For Each.Next语句,For Each 成员 In 数组循环体Exit For.Next 成员,8.4 数组的初始化,数组变量名 = Array(数组元素值) Array函数用来为数组元素赋值

12、,即把一个数据集读入某个数组。该函数只能对一维数组进行初始化,例如:要将1,2,3,4,5,6,7 这些值赋值给数组a,可使用下面的方法赋值。 Dim a() A=array(1,2,3,4,5,6,7) Dim a A=array(1,2,3,4,5,6,7),Aarry函数Aarry函数可方便地对数组整体赋值,但它只能给声明Variant的变量或仅由括号括起的动态数组赋值。赋值后的数组大小由赋值的个数决定。,8.5 控件数组,8.5.1 基本概念 控件数组由一组相同类型的控件组成,这些控件共用一个相同的控件名字,具有同样的属性设置。数组中的每个控件都有唯一的索引号(Index Number

13、),即下标,其所有元素的Name属性必须相同。 控件数组的名字由Name属性指定,而数组中的每个元素则由Index属性指定。,8.5.2 建立控件数组,方法1:对数组中的每个控件都设置相同的名称(Name属性)方法2:先画出一个控件,然后对其执行“复制”和“粘贴”,例子:创建一个数字键盘。 数字键的name属性为number,index属性为0。,Private Sub Form_Load() Dim i As Integer, numwidth As Integer numwidth = (number(0).Width) For i = 1 To 9 Load number(i) If i

14、 Mod 3 = 1 Then number(i).Top = number(i - 1).Top - number(i - 1).Height - 100 number(i).Left = number(0).Left Else number(i).Top = number(i - 1).Top number(i).Left = number(i - 1).Left + numwidth + 100,End If number(i).Caption = i number(i).Visible = True Next i number(0).Width = number(1).Width *

15、3 + 200 End Sub,8.6 记录,8.6.1 记录类型和记录类型变量1.定义记录类型Private | Public Type 数据类型名元素名(下标) As 类型名元素名(下标) As 类型名End Type 2.定义记录类型变量3.记录的嵌套,Private type studinfointno as integerstrname as string*12strsex as string *2sngmark(1 to 4) as singlesngtotal as singlesngaver as single End type,8.6.2 记录变量的初始化及其引用,1.记录变量的初始化 2.记录变量的引用及操作 (1)成员引用 记录变量.成员名 (2)嵌套引用 3.整体赋值,8.7 记录数组,定义:Dim 数组名(下界 To 上界) As 记录名引用:记录数组名(下标).成员名,

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报