《苏州市第一中学校 数组 课件》由会员分享,可在线阅读,更多相关《苏州市第一中学校 数组 课件(16页珍藏版)》请在金锄头文库上搜索。
1、数数 组组熊庆勇制作熊庆勇制作学习目标:学习目标: 理解数组的概念。掌握数组的理解数组的概念。掌握数组的赋值赋值与与输出输出。 能够使用简单的数组能够使用简单的数组处理数据处理数据,解决具体问题。,解决具体问题。难点:难点:1 1、数组的、数组的赋值赋值。2 2、使用数组解决具体问题。、使用数组解决具体问题。数组的引入:数组的引入: 请同学们讨论:请同学们讨论:1. 1.以前编程最多定义过多少个变量。以前编程最多定义过多少个变量。2. 2.以下问题需要定义多少个变量以下问题需要定义多少个变量我们班我们班4646位同学,编程求出信息技术课成绩所有同学的平均分,并位同学,编程求出信息技术课成绩所有
2、同学的平均分,并 且从高分到低分排序。且从高分到低分排序。-至少需至少需4646个个 传统定义变量方法太麻烦,需要引入新的数据结构类型传统定义变量方法太麻烦,需要引入新的数据结构类型- -数组数组 数组是一组有相同类型的变量的集合。数组是一组有相同类型的变量的集合。例如:例如:A(0),A(1),A(2)A(0),A(1),A(2),A(n)A(n)数组的概念:数组的概念: 每一个数组都有一个数组名,数组名的命名规则与简单变量相同。每一个数组都有一个数组名,数组名的命名规则与简单变量相同。例如:例如:A(3)A(3)、B2(20)B2(20)、Z_W(10) Z_W(10) 这些变量按照一定的
3、规则排列这些变量按照一定的规则排列, ,使用内存中连续的存储单元。使用内存中连续的存储单元。A (0) A (1) A (2) A (n-2) A (n-1) A (n)A (0) A (1) A (2) A (n-2) A (n-1) A (n) 数组内的每一个数据称为数组内的每一个数据称为数组元素数组元素。数组元素由数组名、下标和圆括。数组元素由数组名、下标和圆括 号共同组成,数组元素名的一般形式:号共同组成,数组元素名的一般形式:数组名(下标)数组名(下标)注意:注意:下标必须为常数,不能是表达式或变量。下标必须为常数,不能是表达式或变量。数组的分类:数组的分类: 一维数组:只有一个下标
4、,如:一维数组:只有一个下标,如:A(6)A(6) 二维数组:有二个下标,如:二维数组:有二个下标,如:F(2,2)F(2,2) 三维数组:有三个下标,如:三维数组:有三个下标,如:F(2,2,2)F(2,2,2) 下标的个数就是数组的维数下标的个数就是数组的维数A A (0)(0)A A (1)(1)A A (2)(2)A A (3)(3)A A (4)(4)A A (5)(5)A A (6)(6)F(0,0F(0,0) )F(0,1F(0,1) )F(0,2F(0,2) )F(1,0F(1,0) )F(1,1F(1,1) )F(1,2F(1,2) )F(2,0F(2,0) )F(2,1F(
5、2,1) )F(2,2F(2,2) )F(0,0F(0,0) )F(0,1F(0,1) )F(0,2F(0,2) )F(1,0F(1,0) )F(1,1F(1,1) )F(1,2F(1,2) )F(2,0F(2,0) )F(2,1F(2,1) )F(2,2F(2,2) )F(0,0F(0,0) )F(0,1F(0,1) )F(0,2F(0,2) )F(1,0F(1,0) )F(1,1F(1,1) )F(1,2F(1,2) )F(2,0F(2,0) )F(2,1F(2,1) )F(2,2F(2,2) )F(0,0,0F(0,0,0) )F(0,0,1F(0,0,1) )F(0,0,2F(0,0,
6、2) )F(0,1,0F(0,1,0) )F(0,1,1F(0,1,1) )F(0,1,2F(0,1,2) )F(0,2,0F(0,2,0) )F(0,2,1F(0,2,1) )F(0,2,2F(0,2,2) ) 数组在使用前数组在使用前必须先定义:必须先定义:定义数组的定义数组的名称名称、维数维数、上下界上下界、类型类型等。等。数组的定义:数组的定义: 格式:格式:Dim Dim 数组名(常数)数组名(常数)As As 数据类型数据类型Dim Dim 数组名(下界数组名(下界 to to 上界)上界) As As 数据类型数据类型 1 1)Dim A(6) As IntegerDim A(6
7、) As Integer 2) Dim A (0 to 6) As Integer2) Dim A (0 to 6) As Integer 根据定义方式,根据定义方式,VBVB中数组可分为两类:中数组可分为两类: 静态数组:静态数组:定义时确定大小(所包含的数组元素个数),定义时确定大小(所包含的数组元素个数), 程序执行过程中不能改变数组的大小。程序执行过程中不能改变数组的大小。 动态数组:动态数组:定义时不指定大小(所包含的数组元素个数)定义时不指定大小(所包含的数组元素个数) ,程序执行过程中可改变数组的大小。,程序执行过程中可改变数组的大小。数组的定义:数组的定义:Option Bas
8、e 1Dim A (6)A(1), A(2), A(3), A(4), A(5), A(6)1)如无 Option Base 1 语句,下界缺省值为0 2)上述数组说明语句中的A(6)和表示最后一个元素的A(6)有不同的含 意: Dim A(6) As Integer Print A(6) 定义一维数组A,下界 为6数组A中的第7个元 素数组的定义练习数组的定义练习 :Dim M As Integer Const N As Integer=5 Dim A(N) As Integer Dim B(1 To 6.6) As Integer Dim C(0 to M) As Integer Dim
9、D(-1 to 3) As Integer Dim D(1+N) As Integer数组的大小:数组的大小:数组的大小就是这个数组所包含的数组元素个数 。维的大小=维上界-维下界+1 Dim A(7) As Integer A数组的大小为7-0+1=8(个数组元素) Dim C(2,3) As Integer C数组的大小为3*4=12(个数组元素) 请说出下面数组的个数请说出下面数组的个数 Dim a(10) As IntegerDim a(10) As Integer Dim b(5Dim b(5,6) As Single 6) As Single Dim c(101) As Strin
10、gDim c(101) As String 对数组的操作是通过对对数组的操作是通过对数组元素数组元素的操作完成的。的操作完成的。 数组元素的本质仍是变量,与普通变量的区别是:数组元素的本质仍是变量,与普通变量的区别是: 1) 1) 数组元素带有下标数组元素带有下标, ,所以又叫下标变量。所以又叫下标变量。2) 2) 数组元素的排列是有序的。如:数组元素的排列是有序的。如:a(1), a(2), a(1), a(2), .a(n).a(n) 3 3)数组元素是一批具有相同类型的变量。个数是从)数组元素是一批具有相同类型的变量。个数是从0 0开始到最大下标值开始到最大下标值 。 4 4)下标变量适
11、用于处理大批量数据之间的比较、排序和检索。下标变量适用于处理大批量数据之间的比较、排序和检索。 5 5)数组的主要操作有赋值和输出。)数组的主要操作有赋值和输出。数组的操作:数组的操作: 1.1.用赋值语句给单个数组元素赋值。用赋值语句给单个数组元素赋值。如:如:Dim Score(3) As IntegerDim Score(3) As IntegerScore(0)=80 Score(0)=80Score(1)=89 Score(1)=89Score(2)=70 Score(2)=70Score(3)=68 Score(3)=68数组的赋值:数组的赋值: 2.2.通过循环逐一给数组元素赋值
12、通过循环逐一给数组元素赋值如:如:Dim ADim A(5 5) As IntegerAs IntegerFor i=0 To 5 For i=0 To 5 A (i)=1A (i)=1Next i Next i 3. 3. 用用InputBoxInputBox函数给数组元素赋值。函数给数组元素赋值。用户从键盘输入值赋给数组元素,但是在执行该函数时程用户从键盘输入值赋给数组元素,但是在执行该函数时程 序会暂停运行等待输入,而且每次只能输入一个值,占用序会暂停运行等待输入,而且每次只能输入一个值,占用 时间长,所以对大量数据的输入,很不不便。时间长,所以对大量数据的输入,很不不便。Private
13、 Sub Form_Click()Private Sub Form_Click()Dim A (6) As Integer Dim A (6) As IntegerFor i=0 To 6 For i=0 To 6A (i)= InputBox( A (i)= InputBox(“ “给数组元素赋值给数组元素赋值” ”, ,” ”数组数组A A赋值赋值” ”) )Print A (i) Print A (i)Next i Next iprint printEnd Sub End Sub数组的赋值:数组的赋值:数组的赋值:数组的赋值: 4.4.用用ArrayArray函数给数组元素赋值。函数给数
14、组元素赋值。格式:格式:=Array(=Array(数据列表数据列表)功能功能: : 把数据列表中数据依次赋值给数组元素。把数据列表中数据依次赋值给数组元素。 如如: : Dim A As VariantDim A As VariantA=Array(0,1,2,3,4) A=Array(0,1,2,3,4)Print A(3) Print A(3)变体型,是一种特殊的数据类变体型,是一种特殊的数据类 型,它的类型可以是数值、日期、型,它的类型可以是数值、日期、 字符等,完全取决于程序的需要。字符等,完全取决于程序的需要。 它增加了它增加了VBVB数据处理的灵活性。数据处理的灵活性。数组的输出
15、:数组的输出:利用循环的方法把数组输出利用循环的方法把数组输出 Dim A (5) As IntegerDim A (5) As Integer For i=0 To 5For i=0 To 5 A (i)=1A (i)=1 Next iNext iFor i=0 To 5For i=0 To 5 Print A (i)Print A (i) Next iNext i数组的简单应用:数组的简单应用:1 1、求裵波拉契数列的前、求裵波拉契数列的前1010项项 1,1, n=1 n=1 F(n)=F(n)=1,1, n=2 n=2 F(n-2)+F(n-1),F(n-2)+F(n-1), n=3 n=3 递推法和递推公式递推法和递推公式 初始条件初始条件递推公式递推公式初始条件初始条件数组的简单应用:数组的简单应用: 1,1, n=1 n=1 F(n)=F(n)=1,1, n=2 n=2 F(n-2)+F(n-1),F(n-2)+F(n-1), n=3 n=3 递推法和递推公式递推法和递推公式 初始条件初始条件Private Sub Form_Click()Pri