第6章- 数组ppt课件.pptx
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《第6章- 数组ppt课件.pptx》由会员分享,可在线阅读,更多相关《第6章- 数组ppt课件.pptx(49页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第6章- 数组第 6 章 数 组目录6.1 数组的概念数组的概念6.2 定长数组定长数组6.3 动态数组动态数组6.5 For EachNext循环循环6.4 数组的常用属性和方法数组的常用属性和方法6.6 自定义数组类型自定义数组类型Structure目录目录目录6.1 数组的概念数组的概念6.1.1 引例引例6.1.2 数组的概念数组的概念目录在实际应用中,常常需要处理同一类型的成批数据。在实际应用中,常常需要处理同一类型的成批数据。例如,为了处理例如,为了处理100100个学生某门课程的考试成绩,可以用个学生某门课程的考试成绩,可以用S1S1、S2S2、S3S3S100S100分别代表每
2、个学生的分分别代表每个学生的分数,其中数,其中S1S1代表第一个学生的分数,代表第一个学生的分数,S2S2代表第二个学生的分数代表第二个学生的分数。需要。需要S1S1、S2S2、S3S3S100S100共共100100个变量来存储个变量来存储, ,显然增加了应用程序的复杂度。然而,我们可以显然增加了应用程序的复杂度。然而,我们可以用一批具有相同名字、不同下标的下标变量来表示同一属性的一组数据,能用一批具有相同名字、不同下标的下标变量来表示同一属性的一组数据,能更清楚地表示它们之间的关系。更清楚地表示它们之间的关系。 【例【例6-1】输入】输入100名学生的成绩,求其平均成绩,然后统计高于平均分
3、的人数。名学生的成绩,求其平均成绩,然后统计高于平均分的人数。 考虑这个问题时,如果还用以前的简单变量,代码如下:考虑这个问题时,如果还用以前的简单变量,代码如下:56.1.1 6.1.1 引例引例Dim score1,score2,score3,score100, average As Single此处省略了变量名称score1=Val(InputBox(请输入第1位学生的成绩)score2=Val(InputBox(请输入第2位学生的成绩) 此处省略了部分代码score100=Val(InputBox(请输入第100位学生的成绩)average=(score1+score2+score3+
4、score100)/100目录如果用数组来解决这一问题,仅需一条语句:如果用数组来解决这一问题,仅需一条语句:Dim score(99) As Single即可定义一个包含即可定义一个包含100个元素的数组,而且每个数组元素个元素的数组,而且每个数组元素score(0),score(1),score(99)都可以像简单变量一样使用,分别存放一个学生的都可以像简单变量一样使用,分别存放一个学生的成绩,之后就可以利用循环来完成想要完成的任务。成绩,之后就可以利用循环来完成想要完成的任务。6目录 数组是具有相同数据类型且按一定次序排列的一组变量的集合数组是具有相同数据类型且按一定次序排列的一组变量的
5、集合体,构成数组的这些变量称为数组元素。数组元素之间是通过体,构成数组的这些变量称为数组元素。数组元素之间是通过下标来区分的。下标来区分的。6.1.2 6.1.2 数组的概念数组的概念目录6.2 定长数组定长数组6.2.1 定长数组的概念定长数组的概念6.2.2 一维数组的定义、赋值与引用一维数组的定义、赋值与引用6.2.3 二维数组的定义、赋值与引用二维数组的定义、赋值与引用目录6.2.1 6.2.1 定长数组的定长数组的概念概念 定长数组是在定义时就确定数组长度的数组。定长数组是在定义时就确定数组长度的数组。 定长数组的元素个数是固定不变的。定长数组的元素个数是固定不变的。目录6.2.2
6、6.2.2 一维数组的定义、赋值与引用一维数组的定义、赋值与引用一维数组:如果用一个下标就能确定数组中的不同元素,这种数组称为一维数组。一维数组:如果用一个下标就能确定数组中的不同元素,这种数组称为一维数组。(1)一维数组的定义)一维数组的定义 声明一维数组形式如下:声明一维数组形式如下: dim 数组名(下标上界)数组名(下标上界) as 数据类型数据类型 下标下界为下标下界为0,一维数组的大小为:上界,一维数组的大小为:上界+1(2)一维数组的赋值)一维数组的赋值 定义了数组之后,可以给它赋值。定义了数组之后,可以给它赋值。 通常可以通过一个通常可以通过一个for循环给该数组赋值。循环给该
7、数组赋值。 数组定义时,可直接赋值。数组定义时,可直接赋值。 dim a() as integer=100,100,100,100,100VB.NET是用基于所提供的值来计算上界的。是用基于所提供的值来计算上界的。下面的声明是不允许的:下面的声明是不允许的: dim a(4) as integer=100,100,100,100,100显式声明了长度的数组不能直接在初始化时赋值。显式声明了长度的数组不能直接在初始化时赋值。 10目录访问一维数组访问一维数组只需要在数组变量名后加上小括号,并且括号内指定访问第只需要在数组变量名后加上小括号,并且括号内指定访问第几个元素。其语法如下:几个元素。其语
8、法如下: Name(index)例如:例如: dim a(10) as integer则:则:a(4), a(8)等都可以访问。但要注意:下标不能超界。等都可以访问。但要注意:下标不能超界。11目录一维数组应用举例一维数组应用举例 【例【例6-1】输入】输入100名学生的成绩,求其平均成绩,然后统计高于平均名学生的成绩,求其平均成绩,然后统计高于平均分的分的人数。人数。12分别对“输入成绩”和“统计”按钮编写事件处理程序,代码如下:目录程序代码:程序代码:13Public Class Form1 在窗体模块的通用声明部分声明的编程元素,在各个过程中都有效 Dim score(99) As Si
9、ngle 声明定长一维数组,数组有100个元素 Dim flag As Boolean=False 设置标记,用于判断是否输入了分数 Dim i As Integer Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1. Click 输入成绩 For Me.i=0 To 99 循环控制变量i也就是数组元素的下标 score(i)=Val(InputBox(请输入第+(i+1).ToString+个学生的成绩) 从键盘输入分数 Next flag=True 输入分数后,将标记的值改为True Ms
10、gBox(输入结束) End Sub目录程序代码:程序代码: Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2. Click 统计Dim aver As Single=0.0 定义变量aver,放平均分 Dim n As Integer=0 定义变量n,放高于平均分的人数 If flag=False Then 如果一个分数也没有输入,则用消息框提示 MsgBox(请先输入成绩) Else For Me.i=0 To 99 本循环结构求分数总和 aver+=score(i) Next aver=
11、aver/100 求100人的平均分数 For Me.i=0 To 99 本循环结构统计高于平均分的人数 If score(i)aver Then n=n+1 End If Next TextBox1.Text=aver.ToString 输出平均分 TextBox2.Text=n.ToString 输出高于平均分的人数 End If End SubEnd Class目录 【例【例6-2】求一维整型数组】求一维整型数组A(数组长度任意)的最大值和最小值(数组长度任意)的最大值和最小值。15分析:按照题目要求,需要定义两个整型变量来存储数组的最大值和最小值,假设变量名为Max和Min。不管是求最
12、大值还是最小值,都要将数组A中的每一个元素和最大值变量Max或者最小值变量Min比较,不满足大小要求的,修改Max值或Min值。由于整型变量定义后被自动初始化为0,也就是说Max和Min的初值都是0,如果直接将数组元素与Max、Min比较,那么当数组元素均为负值时求最大值或者当数组元素均为正值时求最小值,将导致结果不正确。如何为变量Max、Min赋一个合理的初值是本例中需要首要考虑的地方。题目要求的是数组所有元素中的最大值和最小值,只有将Max、Min的初值设为数组元素值之一才是最简单合理的,那么就用数组首元素为其赋值。目录程序代码:程序代码:Private Sub Button1_Click
13、(sender As Object, e As EventArgs) Handles Button1.Click Dim A() As Integer Dim n, i, Max, Min As Integer Dim stroutput As String= n=Val(InputBox(请输入n值) ReDim A(n-1) For i=0 To n-1 A(i)=Val(InputBox(请输入第 & i+1 & 个数组元素) stroutput=stroutput & Str(A(i) Next Max=A(0) : Min=A(0) 将Max和Min的初值设为第一个数组元素 For
14、i=1 To n-1 从第二个数组元素开始进行遍历比较 If A(i)Max Then Max=A(i) If A(i)mark(n) Then mark(n+1)=mark(n+1)+1 Next i For i=0 To n-1 str1=str1 & mark(i) & vbCrLf Next i str2=平均分= & mark(n) & vbCrLf & 高于平均分的人数= & mark(n+1) TextBox1.Text=str1 MsgBox(str2, , 成绩统计结果)End Sub目录 【例【例6-7】编程输出斐波那契数列(】编程输出斐波那契数列(Fibonacci)的前
15、)的前N项。斐波那契数列为项。斐波那契数列为1、1、2、3、5、8分析:如果题目要求输出的是数列的前20项、30项,可以使用定长数组,但题目要求输出前N项,N是一个不确定的值,只能使用动态数组。斐波那契数列的前两项值为1,从第三项开始,每一项的值都是其相邻前两项的值之和。目录 程序代码如下:程序代码如下:Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click Dim fib() As Long Dim i, N As Integer Dim stroutput As String N=V
16、al(InputBox(请输入斐波那契数列的项数n(n1) ReDim fib(N-1) 声明存放n个斐波那契数列值的数组 fib(0)=1:fib(1)=1 为数列前两项赋初值 stroutput=Str(fib(0)&Str(fib(1) For i=2 To N-1 fib(i)=fib(i-2)+fib(i-1)从第三项开始依次计算数列值 stroutput=stroutput&Str(fib(i) Next MsgBox(当N= & N & 时,斐波那契数列为: & vbCrLf & stroutput, , MsgBox(当N= & N & 时,斐波那契数列为: & vbCrLf
17、& stroutput, , 斐波 那契数列) End Sub 例6-7运行结果目录 在在VB.NET中,所有数组都是从中,所有数组都是从System命名空间中的命名空间中的Array类继承的,用户可以在任何数组类继承的,用户可以在任何数组中访问中访问System.Array类的方法和属性。下面列出的是类的方法和属性。下面列出的是Array类的常用属性、方法及说明。类的常用属性、方法及说明。 (1)Rank属性:数组的维数称为数组的属性:数组的维数称为数组的“秩秩”,Rank 属性返回数组的秩。属性返回数组的秩。 (2)Length属性:获取数组所有维度中的元素总数。可以通过更改单个维的大小来
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第6章- 数组ppt课件 数组 ppt 课件
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内