数组及其应用.ppt
《数组及其应用.ppt》由会员分享,可在线阅读,更多相关《数组及其应用.ppt(47页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、数组及其应用数组及其应用现在学习的是第1页,共47页 输入10个数,输出它们的平均值及大于平均值的那些数?引例:引例:。输入 A当 NAve Then Print A1 IF A2Ave Then Print A2 IF A3Ave Then Print A3 IF A4Ave Then Print A4 .实际程序是不能这样写实际程序是不能这样写 现在学习的是第4页,共47页 引例:引例:思考:思考:如果能使用如果能使用Ai (i=1,2,.10)的形式?的形式?使用循环来写程序使用循环来写程序 VB中表示下标变量就是通过定义中表示下标变量就是通过定义数组数组来来实现的。实现的。现在学习的是
2、第5页,共47页4.1 概概 述述 数组的概念:数组的概念:数组并不是一种数据类型,而是数组并不是一种数据类型,而是一组一组相同类型数据相同类型数据的集合。用一个统一的名字(的集合。用一个统一的名字(数组名)数组名)代代表逻辑上相关的一批数据,每个元素用表逻辑上相关的一批数据,每个元素用下标变量下标变量来区分;来区分;下标变量代表元素在数组中的位置。下标变量代表元素在数组中的位置。VB中数组的表示形式:中数组的表示形式:A(1),A(10)一维数组一维数组 X(1,1),X(2,10)二维数组二维数组 Y(0,0,0),Y(1,2,5)三维数组三维数组 第第4章章 数数 组及其应用组及其应用现
3、在学习的是第6页,共47页Visual Basic中的数组分类:中的数组分类:按数组的大小(元素个数)是否可以改变来分为:定长数组、动态(可变长)数组定长数组、动态(可变长)数组。按元素的数据类型可分为:数值型数组、字符串数组、逻辑数组、数值型数组、字符串数组、逻辑数组、日期型数组、变体数组等、对象数组。日期型数组、变体数组等、对象数组。按数组的维数可分为:一维数组、二维数组、多维数组。一维数组、二维数组、多维数组。4.1 概概 述述 现在学习的是第7页,共47页一维数组形式一维数组形式:Dim 数组名数组名(to)As 或:或:Dim 数组名数组名(to)例:例:Dim a(1 to 10)
4、As Integer 声明了声明了a数组有数组有10个元素个元素1是下标的下界是下标的下界10是下标的上界是下标的上界数组元数的数据类型数组元数的数据类型与上面声明等价形式:与上面声明等价形式:Dim a%(1 to 10)4.2 一维数组一维数组4.2.1 一维数组的声明一维数组的声明 现在学习的是第8页,共47页说明:说明:1数组名的命名规则与变量的命名相同。数组名的命名规则与变量的命名相同。2数组的元素个数:数组的元素个数:上界上界-下界下界+1。3缺缺省省为为0,若若希希望望下下标标从从1开开始始,可可在在模模块块的的通通用用部部分分使使用用Option Base语句将设为语句将设为1
5、。其使用格式是:。其使用格式是:Option Base 0|1 后面的参数只能取后面的参数只能取 0 或或 1 例如:例如:Option Base 1 将数组声明中缺省将数组声明中缺省下标设为下标设为 1 4.2.1 一维数组的声明一维数组的声明4和和不能使用变量不能使用变量,必须是常量,常量可以是,必须是常量,常量可以是直接常量、符号常量,一般是整型常量。直接常量、符号常量,一般是整型常量。现在学习的是第9页,共47页4.如果省略As子句,则数组的类型为变体类型。6数组中各元素在内存占一片连续的存储空间。4.2.1 一维数组的声明一维数组的声明Dim N As IntegerN=Val(In
6、putBox(“Enter N=?”)Dim A(N)As Integer A(0)A(1)A(2)A(n).一维数组在内存中存放的顺序一维数组在内存中存放的顺序现在学习的是第10页,共47页使用形式:使用形式:数组名数组名(下标下标)其中:下标可以是整型变量、常量或表达式。其中:下标可以是整型变量、常量或表达式。例如:例如:设有下面的数组定义:设有下面的数组定义:Dim A(10)As Integer,B(10)As Integer 则下面的语句都是正确的。则下面的语句都是正确的。A(1)=A(2)+B(1)+5 取数组元素运算取数组元素运算 A(i)=B(i)下标使用变量下标使用变量 B(
7、i+1)=A(i+2)下标使用表达式下标使用表达式第五章第五章 数数 组组 4.2.2 一维数组元素的引用一维数组元素的引用现在学习的是第11页,共47页1.可通过循环给数组元素的初值可通过循环给数组元素的初值 For i=1 To 10 A数组的每个元素值为数组的每个元素值为1 A(i)=1 Next i 2.数组的输入数组的输入 输入输入10个数,并存入到数组个数,并存入到数组A中中For i=1 To 10 A(i)=Val(InputBox(“输入输入A(”&i&“)的值的值”)Next i第五章第五章 数数 组组 4.2.3 4.2.3 一维数组的基本操作一维数组的基本操作现在学习的
8、是第12页,共47页3.求数组中最大元素及所在下标求数组中最大元素及所在下标 Dim Max As Integer,iMax As Integer Max=A(1):iMax=1 For i=2 To 10 If A(i)Max Then Max=A(i)iMax=i End If Next i Print A(&iMax&)=;A(iMax)第五章第五章 数数 组组 4.2.3 4.2.3 一维数组的基本操作一维数组的基本操作现在学习的是第13页,共47页4.将数组元素倒置将数组元素倒置For i=1 To 102 t=A(i)A(i)=A(10-i+1)A(10-i+1)=tNext I(
9、演示)(演示)4.2.3 4.2.3 一维数组的基本操作一维数组的基本操作现在学习的是第14页,共47页一、统计问题一、统计问题 例例4.1例例4.1 编编程程求求某某班班60个个学学生生某某门门课课程程考考试试的的平平均均成成绩绩及及高高于于平平均成绩的学生人数。均成绩的学生人数。例例4.2 在在例例4.1中中如如果果还还要要统统计计09,1019,2029,.8089,9099分数段及分数段及100分的学生人。分的学生人。则可另用数组则可另用数组bn来存各分数段的人数,并用来存各分数段的人数,并用bn(0)存存09分的人分的人数,数,bn(1)存存1019分的人数,分的人数,bn(9)存存
10、9099分的人数,分的人数,bn(10)存存100分的人数。分的人数。4.2.4 一维数组的应用一维数组的应用现在学习的是第15页,共47页 二、排序问题二、排序问题 数据的排序就是将一批数据由小大到数据的排序就是将一批数据由小大到(升序)(升序)或由大到小或由大到小(降序)(降序)进行排列。常用的有进行排列。常用的有选择法、冒泡法。选择法、冒泡法。1选择法排序选择法排序753468 91算法算法 (升序升序)(设有设有n个数,存放在数组个数,存放在数组A(1).A(n)中)中)1)第)第1遍遍:从中选出最小的数,与第:从中选出最小的数,与第 1个数交换位置;个数交换位置;(演示)(演示)第五
11、章第五章 数数 组组 4.2.4 一维数组的应用一维数组的应用数据排序数据排序现在学习的是第16页,共47页 2)第)第2遍遍:除第除第1 个数外,其余个数外,其余n-1个数中选最小的数,与个数中选最小的数,与第第2个数交换位置;个数交换位置;(演示)(演示)753468 91 71 3)依次类推)依次类推,选择了,选择了n-1次后,这个数列已按升序排次后,这个数列已按升序排列。列。第五章第五章 数数 组组 4.2.4 一维数组的应用一维数组的应用数据排序数据排序现在学习的是第17页,共47页 选择法排序选择法排序算法的流程图:算法的流程图:第五章第五章 数数 组组 4.2.4 一维数组的应用
12、一维数组的应用数据排序数据排序现在学习的是第18页,共47页For i=1 To n-1For i=1 To n-1 p=i p=i For j=i+1 To n For j=i+1 To n If a(p)a(j)Then p=j If a(p)a(j)Then p=j Next j Next j t=a(i):a(i)=a(p):a(p)=t t=a(i):a(i)=a(p):a(p)=tNext iNext i选择法排序(选择法排序(升序升序)的)的VB程序程序:思考:如果按思考:如果按降序降序排,程序如何修改?排,程序如何修改?第五章第五章 数数 组组 4.2.4 一维数组的应用一维数
13、组的应用数据排序数据排序现在学习的是第19页,共47页 例例4.3 用随机函数产生用随机函数产生50个个10100的随机整数,并的随机整数,并按由小到大的顺序打印出来。按由小到大的顺序打印出来。演示演示第五章第五章 数数 组组 4.2.4 一维数组的应用一维数组的应用数据排序数据排序现在学习的是第20页,共47页2冒泡法排序(升序)冒泡法排序(升序)算法算法:(将相邻两个数比较,大数交换到后面将相邻两个数比较,大数交换到后面)1)第第 1 趟趟:将将每每相相邻邻两两个个数数比比较较,大大数数交交换换到到后后面面,经经n-1次次两两两两相相邻邻比比较较后后,最最大大的的数数已已交交换换到到最最后
14、后一一个个位位置。置。演示演示 4.2.4 一维数组的应用一维数组的应用数据排序数据排序2)第)第 2 趟:将前趟:将前n-1个数(最大的数已在最后)按上法比个数(最大的数已在最后)按上法比较,经较,经n-2次两两相邻比较后得次大的数;次两两相邻比较后得次大的数;3)依次类推,)依次类推,n个数共进行个数共进行n-1趟比较,趟比较,在第在第j趟中要进行趟中要进行n-j次两两比较。次两两比较。现在学习的是第21页,共47页冒泡法排序冒泡法排序算法的流程图:算法的流程图:第五章第五章 数数 组组 4.2.4 一维数组的应用一维数组的应用数据排序数据排序现在学习的是第22页,共47页For i=1
15、To n-1For i=1 To n-1 For j=1 To n-i For j=1 To n-i If a(j)a(j+1)Then If a(j)a(j+1)Then t=a(j)t=a(j):a(j)=a(j+1)a(j)=a(j+1):a(j+1)=ta(j+1)=t End if End if Next j Next jNext iNext i冒泡法排序(升序)程序冒泡法排序(升序)程序:演示演示第五章第五章 数数 组组 4.2.4 一维数组的应用一维数组的应用数据排序数据排序现在学习的是第23页,共47页3、两种排序方法的比较、两种排序方法的比较结论:结论:选择法排序比冒泡法排序
16、选择法排序比冒泡法排序算法优算法优问题:问题:两种排序方法那一种好?两种排序方法那一种好?第五章第五章 数数 组组 4.2.4 一维数组的应用一维数组的应用数据排序数据排序现在学习的是第24页,共47页4.3 二维数组及多维数组二维数组及多维数组 4.3.1 二维数组的声明二维数组的声明声明格式如下:声明格式如下:Dim 数组名数组名(to,to)As 其中的参数与一维数组完全相同。例如:例如:Dim a(2,3)As Single 二二维维数数组组在在内内存存的的存存放放顺顺序序是是“先先行行后后列列”。例例如如数数组组a的的各各元素在内存中的存放顺序是:元素在内存中的存放顺序是:a(0,0
17、)a(0,1)a(0,2)a(0,3)a(1,0)a(1,1)a(1,2)a(1,3)a(2,0)(2,1)a(2,2)a(2,3)现在学习的是第25页,共47页4.3.2 二维数组的引用二维数组的引用 引用形式:引用形式:数组名数组名(下标下标1,下标,下标2)例如:例如:a(1,2)=10 a(i+2,j)a(2,3)*2 在程序中常常通过二重循环来操作使用二维数组元素。在程序中常常通过二重循环来操作使用二维数组元素。4.3.3 二维数组的基本操作二维数组的基本操作 1.二维数组数据的输入二维数组数据的输入 2.求最大元素及其所在的行和列求最大元素及其所在的行和列 3.计算两矩阵相乘计算两
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数组 及其 应用
限制150内