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