第4章数组与过程 学习目标: ◆掌握数组和过程的概念 ◆掌握数组的定义和应用 ◆掌握Sub过程和 function过程的应用 ◆掌握过程的参数传递与过程的作用域 了解She函数
第4章 数组与过程 学习目标: ◆ 掌握数组和过程的概念 ◆ 掌握数组的定义和应用 ◆ 掌握Sub过程和Function过程的应用 ◆ 掌握过程的参数传递与过程的作用域 ◆ 了解Shell函数
第4章数组与过程 教学内容: 41数组 4.2过程 43Shel函数
第4章 数组与过程 教学内容: 4.1 数组 4.2 过程 4.3 Shell函数
41数组一数组的概念 ◆数组用于保存大量的、逻辑上有联系的数据 ◆数组的特点: >数据中的元素在类型上是一致的 >数组元素在内存空间上是连续存放的 >数组元素的引用可通过下标进行 >数组在使用前必须要定义(声明) 返回目录
4.1 数组-数组的概念 ◆ 数组用于保存大量的、逻辑上有联系的数据 ◆ 数组的特点: ➢ 数据中的元素在类型上是一致的 ➢ 数组元素在内存空间上是连续存放的 ➢ 数组元素的引用可通过下标进行 ➢ 数组在使用前必须要定义(声明) 返回目录
41数组一一维数组的定义和使用 1.数组的定义(声明) Dim数组名(下界To1上界)As数据类型 例如: Dim data(1To40) As Integer >定义数组可以使用类型符 例, Dim data%(1To40) >下界的默认值为0 B, Dim Salary(1000)As Currency >通过数组名和下标可引用数组中的元素 例,Data(25)=95 Forml Print Data(25) 返回目录
4.1 数组-一维数组的定义和使用 1. 数组的定义(声明) Dim 数组名([下界To ]上界)As 数据类型 例如: Dim Data(1 To 40) As Integer ➢ 定义数组可以使用类型符 例, Dim Data%(1 To 40) ➢ 下界的默认值为0 例,Dim Salary(1000) As Currency ➢ 通过数组名和下标可引用数组中的元素 例, Data(25)=95 Form1.Print Data(25) 返回目录
41数组一一维数组的定义和使用 说明-1: ◆数组定义后的初值:数值型数组各元素为0,逻辑型数组 各元素为 False,字符串数组各元素为空串("") 可同时声明几个数组,用逗号分隔,例如 Dim A%(10 To 100), B(800)As Long ◆定义数组时,下标的下界和上界值只能是常数或常数表达 式。下例的定义是错误的 N=100: Dim Data(N)As Integer ◆定义时,数组的上界值不得超出长整型范围,且数组的上 界值不得小于下界值 返回目录
4.1 数组-一维数组的定义和使用 说明-1: ◆ 数组定义后的初值:数值型数组各元素为0,逻辑型数组 各元素为False,字符串数组各元素为空串("")。 ◆ 可同时声明几个数组,用逗号分隔,例如 Dim A%(10 To 100), B(800) As Long ◆ 定义数组时,下标的下界和上界值只能是常数或常数表达 式。下例的定义是错误的 N=100 : Dim Data(N) As Integer ◆ 定义时,数组的上界值不得超出长整型范围,且数组的上 界值不得小于下界值。 返回目录
41数组一一维数组的定义和使用 说明-2: ◆数组的元素个数称为数组长度 ◆ Abound、 Abound函数可测定数组的下界与上界值 例如: Private Sub Form Click Form1 DimA%(12T024) 12 24 Print LBound(A), UBound(A) End Sub ◆用 Option Base n可设定数组的默认下界 >n的取值只能是0或1 >设定方法:在代码窗口的通用声明段中输入 Option Base 0 E Option Base 1 返回目录
4.1 数组-一维数组的定义和使用 说明-2: ◆ 数组的元素个数称为数组长度。 ◆ Lbound()、Ubound()函数可测定数组的下界与上界值 例如: Private Sub Form_Click() Dim A%(12 To 24) Print LBound(A), UBound(A) End Sub ◆ 用Option Base n可设定数组的默认下界 ➢ n的取值只能是0或1 ➢ 设定方法:在代码窗口的通用声明段中输入 Option Base 0 或 Option Base 1 返回目录
41数组一一维数组的定义和使用 2.数组元素的使用通过数组名和下标 教组元案的使用X 例41 Private Sub Commandl Click Dim Data (5)As Integer 单击此处 Dim Sum, I As Integer ForI=1To5输入5个数据到数组中 Data(D)= InputBox("输入第"&I&"个数据") Next I ForI=1T05完成5个数组元素的相加 Sum= Sum+ Data() Next I Print Sum End sub For i= 1 To 5 Data(D)= InputBox("输入第"&I&"个数据") Sum= Sum+ Data() 返回目录 Next I
4.1 数组-一维数组的定义和使用 2. 数组元素的使用 通过数组名和下标 [例4.1] Private Sub Command1_Click() Dim Data(5) As Integer Dim Sum, I As Integer For I = 1 To 5 '输入5个数据到数组中 Data(I) = InputBox("输入第" & I & "个数据") Next I For I = 1 To 5 '完成5个数组元素的相加 Sum = Sum + Data(I) Next I Print Sum End Sub 返回目录 For I = 1 To 5 Data(I) = InputBox("输入第" & I & "个数据") Sum = Sum + Data(I) Next I
41数组一一维数组的定义和使用 说明: >数组实际上是用一个变量名字代表一组数,这组数是 连续排列的,用顺序号作为下标区分各个数 数组下标是一个整型量,如果有小数则自动按四舍五 入取整。例如,Data(3.4)=3,而Data(3.5)=2。 >数组常见的错误: T Private Sub Form c1ickO 下标出界 Dim Test%(3), I% For i=1 To 4 Test(I)=5-I: Print Test(I) Test(1)=4 Next工 A Forml End Sub 4 Test(2)=3 Microsoft visual Basic 实时错误g Test(3)=2 下标越界 Tst(4超出定义 继续()结束)调试①】帮助0 返回目录
4.1 数组-一维数组的定义和使用 说明: ➢ 数组实际上是用一个变量名字代表一组数,这组数是 连续排列的,用顺序号作为下标区分各个数。 ➢ 数组下标是一个整型量,如果有小数则自动按四舍五 入取整。例如,Data(3.4)=3,而Data(3.5)=2。 ➢ 数组常见的错误: 下标出界 返回目录 Test(1)=4 Test(2)=3 Test(3)=2 Test(4)超出定义
41数组一一维数组应用例题 「例4.3输出斐波那契级数的前20项 Private Sub Form Click Dim F(20)As Integer, I As Integer F(1)=1:F(2)=1第一、第二项为1 ForI=3To20第三项起每项为前二项之和 F(I)=F(I-2)+F(-1) Next I 捡出斐波那契级数的前20项 ForI=1To20在窗体上输出 11235 Print F(; 813213455 89144233377610 If I mod 5=0 Then print 9871597258441816765 Next I End sub 返回目录
4.1 数组-一维数组应用例题 [例4.3] 输出斐波那契级数的前20项 Private Sub Form_Click() Dim F(20) As Integer, I As Integer F(1) = 1 : F(2) = 1 '第一、第二项为1 For I = 3 To 20 '第三项起每项为前二项之和 F(I) = F(I - 2) + F(I - 1) Next I For I = 1 To 20 '在窗体上输出 Print F(I); If I Mod 5 = 0 Then Print Next I End Sub 返回目录
41数组一一维数组应用例题 例44输入一组不重复的数据,找出最大值及其位置 Private Sub Form Click Const Length= 5 定义常量 Length作为数组最大下标 Dim Test%(Length), I%, Max%, L% For=l To length 通过键盘输入给数组赋值 Test(D= InputBox("输入第"&I&"个数据") Next I Max=Test1):L=1设数组第一个元素为最大值 For I=2 To Length If max<Test①)Then"'找到新的最大值,记录其值和位置 Max= Test() 工程1 End If Next i 最大值=99,位置是4 MsgB0x"最大值x="&Max&",位置是"&L End sub 匚确定 返回目录
4.1 数组-一维数组应用例题 [例4.4] 输入一组不重复的数据,找出最大值及其位置 Private Sub Form_Click() ConstLength = 5 '定义常量Length作为数组最大下标 Dim Test%(Length),I%, Max%, L% For I = 1 To Length '通过键盘输入给数组赋值 Test(I) = InputBox("输入第" & I & "个数据") Next I Max = Test(1) : L = 1 '设数组第一个元素为最大值 For I = 2 To Length If Max < Test(I) Then '找到新的最大值,记录其值和位置 Max = Test(I) L = I End If Next I MsgBox "最大值x=" & Max & " ,位置是"& L End Sub 返回目录