资源描述
单击此处编辑母版标题,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,Visual Basic,程序设计,第十讲,2,课时,教学目标及基本要求,了解数组的定义,掌握数组的基本操作,掌握控件数组的用法,教学重点,数组的定义,数组的基本操作,控件数组的用法,教学难点,数组的基本操作;,教学内容,数组的定义,数组的基本操作,控件数组的用法,数组的概念,数组的定义,数组的定义,什么是静态数组与动态数组,数组的概念,静态数组与动态数组,静态数组,以一维数组为例,其语法格式为,Dim|Static|Private|Public,(,Lower to Upper,),As,元素类型说明,其中,,Dim|Static|Private|Public,可选项指明数组的作用域。,Lower to Upper,指明数组的上下界,下界可以省略,其默认下界为,0,。,简单介绍静态二维数组与三维数组。,数组的概念,【,例,7.1】,建立两个数组,一个包含整数,而另一个包含字符串。然后声明一个,Variant,数组,并将整数数组和字符串数组放置其中。,(,1,)创建,Command1,,编写单击事件过程,(,2,)程序功能,数组的概念,动态数组,一维动态数组的声明语法格式如下,Dim|Static|Private|Public,(),As,元素类型说明,创建动态数组的步骤为:,(1),声明数组为动态数组,只须给数组附以一个空的维数表。,(2),在使用数组之前,使用,ReDim,语句声明其下标,以确定数组的维数以及元素的个数,并立即为其分配存储空间。,数组的基本操作,数组元素的输入,使用赋值语句为数组元素赋初值,【,例,7.2】,使用赋值语句对数组进行初始化。,Private Sub,Form_Click,(),Dim week(6)As String,week(0)=Sunday,week(1)=Monday,print week(0),week(1),End Sub,数组的基本操作,数组元素的输入,使用,Array,函数为一维数组赋初值,Array,函数语法格式为,Dim As Variant,=Array(),数组的基本操作,【,例,7.3】,使用,Array,函数给数组,City,的元素赋初值。,编写窗体的单击事件过程如下:,Private Sub,Form_Click,(),Dim City()As Variant,City()=Array(,北京,上海,西安,长沙,),For i=0 to 3,Print City(;i;)=;,City(i,),Next i,End Sub,数组的基本操作,数组元素的输入,使用,InputBox,函数为多维数组赋初值,【,例,7.4】,给数组,Fruit,(,4,)的元素赋初值。,Dim Fruit(4)As String,For i=1 To 4,Day(i,)=,InputBox(enter,Day:),Next i,数组的基本操作,For EachNext,语句,For EachNext,循环的语法:,For Each element In group,Statement,Next element,数组的基本操作,For EachNext,语句,使用,For EachNext,时的几点限制:,对于集合,,element,只能是一个,Variant,变量的名,字,或一般的,Object,对象变量,或“对象浏览器”,中列出的对象。对于普通数组。,element,只能是,Variant,变量。,For EachNext,不能与用户自定,义类型的数组一起使用,因为,Variant,不可能包,含用户自定义类型。,数组的基本操作,For EachNext,语句,Private Sub,Form_Click,(),Dim a()As String,Dim x As Variant,N=,InputBox,(,请输入一个整数,),随意指定一个数,ReDim,a(1 To N)As String ,按指定的数,N,调整数组,a,的大小,For i=1 To N ,用常规,ForNext,循环语句给数组,a,各元素赋值,a(i,)=,第,&i&,个元素,Next i,For Each x In a ,用,For EachNext,结构输出数组,a,各元素的值,Print x ,注意用到,Variant,变量,x,Next,End Sub,数组的基本操作,数组间的初始化,【,例,7.5】,将数组,D,整体赋值给数组,E,。,Dim D,(,4,),As String,E()As string,D(0)=,王华,:D(1)=,黎明,:D(2)=,白雪,:D(3)=,刘芳,:D(4)=,吴情,E=D,通过数组间的赋值,将数组,D,整体赋值给数组,E,,同时数组,E,的大小被确定为,5,。,数组的基本操作,数组的输出,【,例,7.6】,随机产生二维数组,a(3,3),,交换最左边和最右边的两列元素,然后输出对角线上的元素。,编写窗体的单击事件过程如下:,Private Sub,Form_Click,(),Dim a(3,3)As Integer,For i=0 To 3,For j=0 To 3,a(i,j)=Int(90*,Rnd,+10),Next j,Next i,For i=0 To 3,Print,For j=0 To 3,Print,a(i,j);,Next j,Next i,数组的基本操作,(续),For i=0 To 3,temp=,a(i,0):,a(i,0)=,a(i,3):,a(i,3)=temp,Next i,Print,Print,输出数组对角线元素,For i=0 To 3,If i-(3-i)=0 Then,Print,Tab(i,*3+1);,a(i,i);Spc(2-2*i)*3+1);,a(i,3-i),Else,Print Tab(3-i)*3+1);a(i,3-i);Spc(2*i-4)*3+1);,a(i,i),End If,Next i,End Sub,控 件 数 组,控件数组的概念,控件数组是一组具有相同名称(即,Name,属性相同)和类型的控件,比如一组按钮或一组单选钮,这些控件共享相同的事件过程。与其他类型的数组一样,控件数组中的每个控件都有惟一的下标,其下标值由,Index,属性指定。,控 件 数 组,创建控件数组,创建一个控件数组的步骤。,举例说明。,小结,数组这个概念,在各种编程语言中都有出现。数组,简言之,就是将一连串数字聚集在一起,形成组这个概念,其功能中存储一系列类型相同的变量,并且可以用相同名称引用这些变量,当使用多个类型和功能一致的数据时,使用数组可缩短和简化程序。本讲重点介绍数组的概念、定义和使用方法及其在程序设计中的应用。,作业,1,什么是静态数组?什么是动态数组?二者有什么区别?,2,使用控件数组有什么好处?如何创建控件数组?,3,对于动态数组,如何实现既增加数组元素的个数,又保存该数组中原有的值?,4,举例说明控件数组中不同的数组元素可以对同一事件过程有不同的响应。,
展开阅读全文