一维数组应用实例
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数组特点
Visual Basic 程序设计
1)、数组是一组相同类型的元素的集合;
2 )、数组中各元素有先后顺序,它们 在内存中按排列顺序连续存储在一起;
3 )、所有的数组元素是用一个变量名命名的一个 集合体,而且每一个数组元素在内存中独占一个内 存单元,可视为同一个内存变量。为了区分不同的 数组元素,每一个数组元素都是通过数组名和下标 来访问的,如A(1,2),B(5)。
A = Split(Text1.Text, “,”) N = UBound(A) Total = 0 MaxNum = Val(A(0))
MinNum = Val(A(0))
Visual Basic 程序设计
Visual Basic 程序设计
Visual Basic 程序设计
1、一维数组: 一个数组若只有一个下标就能确定一个数组元素的数组中的位置
定义形式:
Dim 数组名([下标下界 To ]下标上界 ) As 类型名称
如:Dim
a(1 to10) as integer
Dim b(10) as integer
Visual Basic 程序设计
Visual Basic 程序设计
一维数组 应用实例
实例一 分类统计
解题思路:定义一个有11个元素的一维数组a( 0 to 10), a(0):0-9分的学生人数; a(1):10-19分的学生人数; a(2):20-29分的学生人数; … a(9):90-99分的学生人数; a(10):100分的学生人数;
[下界1 To] 上界1,[下界2 To] 上界2,…
Visual Basic 程序设计
如果下界省略,则使用默认下界 定义默认下界: Option Base {0|1}
不加任何定义时,默认下界为0
数组元素个数: (上界1-下界1+1)*(上界2-下界2+1)*…
4)<类型>:
Integer
Long
Single
Double
Boolean String
Byte Date
String*n
Variant
Curency
Object
用户定义类型……
Visual Basic 程序设计
5)数组在定义后自动被初始化 例如: 将数值型数组元素值置为0; 将字符串类型数组元素值置为零长度字符串
4)、使用数组时必须对数组进行“声明”,即 先声明后使用。所谓声明,就是对数组名、数组元 素的数据类型、数据元素的个数进行定义。
一维数组的定义
1. 格式 Public|Private|Dim 数组名(维数定义) [As 类型],… 2. 功能 声明数组名称、维数、维大小、类型。 为数组分配存储空间。 例:定义数组G保存全班40名同学的英语成绩 Dim G( 1 To 40) As Integer
例【7-2】输入若干个学生的成绩,统计不及格人数和优秀人数。
设计界面:
Text 1 Command 1
Picture 1
分析:
Visual Basic 程序设计
设运行时学生成绩直接输入到文本框Text1中,各成绩之间用 逗号分隔。代码首先使用Split函数将文本框Text1中输入的成 绩分离开,保存到数组A中。 引入计数变量—设两个计数变量num1和num2,分别用来保存 不及格学生人数和优秀学生人数。将计数变量初始化为0, 统计过程—逐一取数组元素进行判断,如果数组元素的值小 于60,则让num1累加1,如果数组元素的值大于或等于90,则 让num2累加1。
Visual Basic 程序设计
“求值”按钮Command1的Click事件过程:
Private Sub Command1_Click() Dim A, N As Integer Dim MaxNum As Integer, MinNum As _
Integer, Average As Single
Visual Basic 程序设 计
Visual Basic 程序设计
——数组及应用
Visual Basic 程序设计
学习目标
01 02
掌握控件数组的定义和应用 掌握数组的定义
重点掌握一维数组的定义、引用 和应用
03
Visual Basic 程序设计
在实际应用中,常常
需要处理类型相同的一 批数据。
Visual Basic 程序设计
代 码 设 计
End Select
Next i
Visual Basic 程序设计
' 显示统计结果 Picture1.Cls ' 定义打印位置 Picture1.CurrentX = 100
运行界面:
Picture1.CurrentY = 100
6 )静态数组被定义后, VB 为其分配固定大小的存储空 间,在运行期大小不能改变。
数组概念释义
Visual Basic 程序设计
dim
mark( 1 to 100) as integer
声明了一个一维定长数组,数组的名字为mark,类型为整型;
共有100个元素,下标的取值范围:1~100。
Visual Basic 程序设 计
例【7-1】利用一维数组统计一个班学生的成绩在 0-9、10-19、20-29、…、90-99 以及100各分数段的人数分布
根据学生成绩score,计算int(score/10),将其分类到相应的数组元素中。
Visual Basic 程序设计
Private Sub Command1_Click() Dim A, N As Integer Dim num1 As Integer, num2 As Integer A = Split(Text1.Text, ",") N = UBound(A) num1 = 0: num2 = 0 For i = 0 To N Select Case Val(A(i)) Case Is < 60 num1 = num1 + 1 Case Is >= 90 num2 = num2 + 1
Visual Basic 程序设计
数组的定义方式:
◆Dim:用在窗体模块或标准模块及过程中,定义窗体或标准模块级数组
;
◆ReDim:用来重新定义动态数组; ◆Static:用来说明该数组为静态数组; ◆Global(Public):用在全局模块中(标准模块)中,说明数组为全局的;
例如,为了处理 100 个员工的工资,可 以用 S ( 1 ) ,S (2), S (3) ,· · · · · · S(100)来分 别代表每个员工的工资 ,其中S(1)代表第一 个员工的工资, S ( 2 )代表第二个员工的工 资,以此类推· · · · · ·
实 例 概 述
Visual Basic 程序设计
例: Dim C(9) As Integer 一维整型数组;下界0,上界为9 元素:C(0) C(1) C(2) …… C(9) 例: Dim A(-4 TO 10) As Integer
一维整型数组;下界 -4,上界 10
元素 A(-4) A(-3) ... A(0) A(1) ... A(10) 例: DIM M(-3 TO 10) 一维可变类型数组 例: CONST Y1=10 CONST Y2=50 DIM ABC(Y1 TO Y2) AS INTEGER
Visual Basic 程序设计
Visual Basic 程序设计
3. 说明
1) Public|Private|Dim: 在标准模块的通用声明段使用Public语句建立一个全局级数组; 在模块的通用声明段使用Private语句或Dim语句建立一个模块级数组; 在过程中用Dim语句建立一个过程级数组。 2)数组名:需遵循变量命名约定。 3)“维数定义”:
Visual Basic 程序设计
注意
下标可以是整形的常数、变量、表达式。
如: G(8)
B(I)
C(3+K)
下标还可以是下标变量
如: A(A(4
则
下标的取值范围是:下界To上界,缺省下界 时,系统默认取 0 。
数组分类
Visual Basic 程序设计
mark的数组元素依次为mark(1)、mark(2)、…mark(100);
mark数组内存分配示意图:
mark(1)
mark(2)
· · · · · ·
mark(i)
· · · · · ·
mark(99) mark(100)
Visual Basic 程序设计
每组数组元素有一个唯一的顺序号,下标不能超出 数组声明时的上、下界范围。 一个下标表示一维数组;多个下标,表示多维数组。 下标可以是整型的常数、变量、表达式; 一般情况下,数组中的各元素类型必须相同;但若 数组类型为Variant时,可包含不同类型的数据。
由生活中的实例,我们不难得出,像 员工和员工工资一样的类似的很多数据, 都具有相互密切关系。
在 VB 中,把一组相互关系密切的数
据放在一起并用一个同意的名字作为标 志,这就是数组。
Visual Basic 程序设计
数组概念
在 VB中,把一组具有同一名字、不同下标的下标变量称为数
组。一个数组可遗憾又若干个下标变量。下标用来指出某个数组 元素在数组中的位置。如S(1 to 100)中S是数组名,可以表示 逻辑上相关的一组数,其中,“1 to 100”称为下标,可以表示 该数组中的各个元素。 数组并不是一种数据类型,而是一组有序的同类型数据的集 合。利用数组,可以方便的组织和使用数据。
Visual Basic 程序设计
有关基本概念
数组元素
数组中的每一 个数据称为数 组元素。用数 组名和该数据 在数组中的序 号来标识。
下标
下标表示顺序 号(即序号), 每个数组有唯 一的顺序号, 下标不能超过 数组声明的上、 下界范围。
数组维数
数组类型
由数组元素中下标 按数组占用存储空间的 的个数决定,一个 方式不同,分为两种数 下标表示一维数组 组:静态数组和动态数 (下面将会重点学 组。两种数组的定义方 习),两个下标表 法不同,使用方法也略 示二维数组。VB中 有不同。 有一维数组,二维 组· · · · · · 最多60维数组。
Text 4
分析:
Visual Basic 程序设计
假设运行时输入到文本框 Text1 中的各成绩之间用逗号分隔。代
码首先使用Split函数将文本框Text1中输入的成绩分离开,保存
到数组A中,然后进行求值。
求平均分时只需先求数组所有元素之和,再除以数组元素的个数 即可。求最高分、最低分的问题实际上就是求一组数据的最大值 、最小值问题。
Picture1.Print "不及格人数:"; num1; _ Tab(18); "优秀人数:"; num2 End Sub
实例二
求平均分,最高分,最低分
Visual Basic 程序设计
例【7-3 】 输入若干名学生的成绩,求平均分、最高分、最低分 。
设计界面:
Text 1
Text 2
Text 3
一维数组
只用一个下标就 能确定某个数组
二维数组
用两个(多个) 下标才能确定某 个数组元素在数 组中的位置,则 数组称为二维 (多维)数组。
元 素在数 组中 的
位置,这样的数 组称为一维数组。
Visual Basic 程序设计
数组声明
数组必须先声明后使用。声明数组的 目的是通知计算机为其留出所需要的 空间,用来存储数组元素。在计算机 中,数组占据一块连续的内存区域, 数组名是这个区域的名称,区域的每 个单元都有自己的地址,该地址用下 标表示。可声明的内容包括数组名、 类型、维数、数组大小。
Visual Basic 程序设计
求最大值的方法:
1)设一个存放最大值的变量MaxNum,其初 值为数组的第一个元素,即MaxNum=A(0); 2)依次将MaxNum与A(1)到A(N)的所有数据 进行比较,如果数组中的某个数A(I)大于MaxNum, 则用该数替换MaxNum,即MaxNumx=A(I),所有 数据比较完后,MaxNum中存放的数即为整个数 组的最大数。 求最小值的方法与求最大值的方法类似。