资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第11讲 一维数组,编程小贴士,设置属性确定事件;,构思算法草拟代码;,多写注释调整思路;,全面检查就这一招!,编程思路:,“,初始化,输入,处理,输出,”,本讲内容:,一维数组,如何将多个数据保存下来,2,数组:一组相同数组名和类型数据的连续存储单元,数组包含一个或多个元素,数组在使用前必须先声明,概 述,3,格式,:,Dim,数组名,(,下标上界,)As,类型,数组名,:,命名规则与变量相同,下标上界,:,必须有确定值,数组大小,:,数组元素个数,对于一维数组:上界,+1,数组元素的类型:,省略类型,则为,Object,型,一维数组的声明,Dim a(50)As String,4,1.,下标下界为,0,Dim A(50),,,表示,A(0),、,A(1),、,、,A(50),2.,下标值应在下界和上界之间,否则出错。,下标问题,初始化:,Dim,数组名,()As,类型,=,例:,Dim a()=1,2,3,4,5,6,5,Dim A(10)As Integer,(1),单个赋值,A(1)=1:A(2)=3,(2),用循环,For i =1 To 10,A(i,)=2*i Next i,1,、数组元素的赋值,一维数组的操作,初值问题,6,例:,结合实际经验,构造验证码,输出,5,个大写随机,字母,每行,2,个,往往使用循环:,For i=1 To 50 Label1.Text&=,A(i,)&,“,“,If i Mod 5=0 Then Label1.Text&=,vbCrLf,Next i,2,输出一维数组,7,获得数组上、下界,对于一维数组,基本格式:,UBound,(,数组名,),和,LBound,(,数组名,),For i=,LBound(A,)To,UBound(A,),Label1.Text&=,A(i,)&,“,“,Next i,3,UBound,和,LBound,函数,输出前三个,输出后四个,8,4,、求数组各元素和及平均数,Dim A(10)as Integer,Dim Sum%,Avg,%,i%,For i=0 To 10 Sum=,Sum,+,A(i,),Next i,Sum=0,Avg,=Sum/11,9,5.,求数组最大,(,小,),元素及其下标,Dim Max%,iMax,%,i%,A%(10),Max=A(0):,iMax,=0,For i=1 To 10,If,A(i,)Max Then Max=,A(i,):,iMax,=i,Next i,Label1.Text=,第,&,iMax,&,个数最大,值为,&Max,10,例,数组中,n,个数,递增排序。算法描述:,第,1,趟,从,A(1),至,A(n),找最小元素,与,A(1),交换,第,2,趟,,从,A(2),至,A(n),找最小元素,与,A(2),交换,第,n-1,趟,从,A(n-1),至,A(n),找最小元素,与,A(n-1),交换,规律:对第,i,趟比较时,假定第,i,个元素最小,第,i,趟:从第,i,至第,n,个元素找最小元素,与,A(i),交换。,选择法排序(递增),11,第一,趟,8 6 9 3 2 7,第二,趟,2 6 9 3 8 7,第三,趟,2 3 9 6 8 7,第四,趟,2 3 6 9 8 7,2 3 6 7 8 9,第五,趟,2 3 6 7 8 9,12,选择法排序(递增),Dim i%,j%,t%,iMin,%,A(10)As Integer,For i=1 To n-1,iMin,=i,For j=i+1 To n,If A(j)A(j+1)Then ,若次序不对则交换位置,t=,A(j,):,A(j,)=A(j+1):A(j+1)=t,End If,Next j ,出内循环,一轮排序结束,最大数已到最后,Next i,16,Array.Sort,(,数组名,),:,递增排序,Dim score()As Integer=80,,,70,,,60,,,90,,,85,Array.Sort(score,),经过排序后,原数组下标对应的数据已被调动,简单排序函数,Array.Reverse,(,数组名,),:,将排序过的数组倒转,便可由递增,递减,P.195,17,一维数组的声明及基本操作,选择排序、冒泡排序,内 容 小 结,18,
展开阅读全文