您当前的位置:主页>教案>其他教案>

vb数组6课时

作者:wudi来源:k12zy.com时间:2005-06-23 查看

  本文为网络收集的文档文件的文本样式预览,部分可能不能显示插图等其他格式文件,你也可以通过下载察看文档文件版本。

Visual Basic的编程基础——数组

教学内容:Visual Basic的编程基础——数组

教学目的:了解什么是visual basic数组

掌握vb数组的定义方法

掌握数组在程序中的应用

教学重点难点:vb数组的定义及应用

教学方法:讲授、演示法

课时:6

教学过程:

第1、2课时

一、数组的概念

到目前为止,我们所使用的变量都是独立的变量,每一个变量与其它变量之间没有内在的联系,称为简单变量。然而在实际应用中,许多数据之间是有联系的,如一个班级有50名学生,这50名学生的成绩是一个整体,都是数值型的数据。如果要对这50名学生的成绩进行处理,没有必要定义也无法处理50个s1、s2、s3…这样的变量,我们可以把这些具有相同性质的数据组合在一起,作为一个整体参加运算,称为数组(array),用一个统一的名字如s来代表50个数据,s称为数组名,数组的命名规则与简单变量相同。数组中的每个数据称为数组元素,数组元素用数组名和它在数组中的序号来确定,这个序号就是数组元素下标,如用s(1)代表第1个数据,s(2)代表第2个数据,…因此,数组元素又称为下标变量。在程序中,常把数组和循环联合使用,顺序处理数组中的各个元素。

数组可以有一个、二个或多个下标,下标的个数称为数组的维数,具有一个下标的数组称为一维数组,具有二个下标的数组称为二维数组等,使用得较多的是一维数组和二维数组。

二、一维数组

在使用一个数组之前,应先用Dim语句定义数组,定义一维数组的形式如下:

Dim 数组名(最大下标) As 数据类型

其中:

下标必须为常数,不能是表达式或变量。

例如:

Dim f(20) As Integer

Dim s(50) As Single

Dim address(100) As String

第一个语句定义了一个一维整型数组,该数组的最大下标值为20,由于下标从0开始,因此数组中共有f(0)、f(1)、f(2)、…、f(20)计21个元素。第二个语句定义了一个一维实型数组,下标从0到50,数组中共有s(1)、s(2)、s(3)、…、s(50)计51个元素。第三个语句定义了一个具有101个元素的字符串数组。

【例】使用“递推”法打印费波那契数列前20项的值。

费波那契数列是这样一列数:它的前两个数是1,从第三个数开始,每一个数为其前面两个数之和。也就是说,此数列为:

1,1,2,3,5,8,13,21,34,55……

从上可以看出:fn=1 (n≤2)

fn=fn-2+fn-1(n>2)

因此,可以在程序中定义一个数组f,使用下标变量存放求出的新值f(i)=f(i-2)+f(i-1),程序代码如下:

′打印斐波那契数列

Private Sub Form_Click()

Dim f(20) As Integer

Dim i As Integer

f(1) = 1: f(2) = 1

For i = 3 To 10

f(i) = f(i - 2) + f(i - 1)

Next i

For i = 1 To 10

Print f(i);

Next i

End Sub

这种根据前面的数推出后面的结果,如果不知道前面两个数就推不出第3个数的算法称为“递推”。

【例】输入10个数给x数组,找出其中的最大数。

这是一个查找(Searching)问题,其基本思路是:将数组中的第一个数赋给一个变量max,然后将max与数组中其余各个元素比较,如果某一个元素比max大,将该元素赋给max,否则与下一个元素比较,最后max中就是该数组中的最大数。流程图如图,程序如下:

′找最大数

Private Sub Form_Click()

Dim x(10) As Single

Dim i As Integer

Dim max As Single

For i = 1 To 10 ' 输入10个数到x数组

x(i) = InputBox("输入一个元素", "输入")

Next i

max = x(1)

For i = 2 To 10

If x(i) > max Then max = x(i)

Next i

Print "最大数="; max

End Sub

【例】输入10个数,将它们按从小到大顺序排列输出。

这是一个排序(sorting)问题,排序的方法很多,我们只介绍最简单的简单选择排序(simple selection sort),基本思路如下:设有10个数,存放在数组a中。先将a(1)与a(2)比较,如果a(2)' 简单选择排列

Private Sub Form_Click()

Dim a(10) As Single

Dim i As Integer,j As Integer

Dim m As Single

For i = 1 To 10 ' 给数组a置初值

a(i) = InputBox("输入一个元素", "输入")

Next i

For i = 1 To 9

For j = i + 1 To 10

If a(j) < a(i) Then

m = a(j)

a(j) = a(i)

a(i) = m

End If

Next j

Next i

For i = 1 To 10 ' 输出排序后的数组

Print a(i)

Next i

End Sub

实践与探索

仔细分析上例程序不难看出,每进行一次比较,只要a(j)练 习

⑴ 请指出下列定义的数组中有多少个元素?

① Dim a(10) As Integer

② Dim x(3,4) As Single

③ Dim str(7) As String

⑵ 写出下列程序的执行结果:

① Private Sub Form_Click()

Dim a(6) As Integer

For i = 1 To 5

a(i) = i * i

Print a(i)

Next i

a(i) = i * i

Print a(i)

End Sub

② Private Sub Form_Click() 本文文档版下载:http://www.k12zy.com/20/07/200786.htm


END

相关文章

正在加载...
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
 匿名?
资源属性
文件名称 vb数组6课时
资源类型 教案
资源学科 其它课程
资源层次 暂未分类
文件类型 doc
文件属性
文档标题 Visual Basic的基本知识
文档大小 88.5K
文档作者 wuyang
文档字数 5603
文档页数 3
创建时间 2005-6-23 9:40:00
下载地址点击下载文档文件
关于本站|免责声明|广告服务|网站地图|网站搜索|友情链接|联系我们

Copyright © 2006-2008 k12zy.com    鲁ICP备06022298号