VB 教案之数组
(2011-04-01 10:11:03)
标签:
杂谈 |
分类: vb数组 |
授课对象:初一兴趣班学生)
教学过程:
一、引入: 在学习if语句时,我们曾做过一个题,在文本框内输入正整数,判断这3个数的大小然后将他们按从小到大的顺序输出。
这是3个数的大小排序,假如多于三个数的排序呢? 当然我们还可以用IF语句予以解决,但大家可以想象到它的麻烦程度,其实,我们可以用数组来解决这个问题。那么何谓数组呢?
二、1)新课讲授:所谓数组是一群数据类型相同的变量,在内存里能拥有连续存放空间的集合。数组在使用之前必须先声明,声明的目的是确定内存中应保留多少连续空间给此数组使用,并定出数组中每一个元素的数据类型。
eg :
声明一个a(6)的数组,其包含了a(0)---a(6)7个整型变量。数组的默认下标值从0开始,假如你觉得不习惯的话,可以用用这个方式声明:
假若要定义a(1)----a(6)的整型数组,则可以这样写:
请学生判断以下下列数组说明语句是否正确,说明原因:
(1) Dim a(10) as integer
(2) Dim b(-10) as
integer
(3)Dim c(5,3)as byte
(4)Dim
y()
2)回到我们刚上课讲的内容,如何利用数组解决数字的排序问题呢?这里我们先介绍两个函数:
随机函数Rnd
(注:如果不用语句来播放随机数的种子,则每次使用Rnd函数时将会得到相同顺序的随机数)
下面我们用数组来解决数字的排序问题:
1)定义数组,产生1000内的随机数 (这里我们以生成6个数为例)
Dim a(1 to 6) as integer
Dim i as integer,j as integer
Dim t as integer
cls
Randomize
for i =1 to
6
a(i)=int(Rnd*1000+1)
print a(i);
next i
print "-----------------------------------------------"
end sub
(解释程序,使学生读懂本程序后,关闭代码。让学生自己编程:由button控制产生出10个随机整数)
2) 6个随机数按大小顺序排列
for i = 1 to 6
next
i
print
a(1)
end sub
我们当然可以用5个if语句依次将6个数从小到大打印出来,但如果是20个、100、1000个数的排序,那我们就得相应的写出无数的if语句来做,但显然这办法是不理想的。其实这里我们可以套用两个循环语句完成此题。
3)将2)改成
for i=1 to 6
next
i
end sub
解释:1)当i =1的时候, j=2时,比较出a(1) a(2)的大小,将大的数给a(1)
(在学生读懂程序的情况下请学生写出程序:随机产生100个数并将其排序)
三、课堂小结 :(数组声明、如何利用数组和循环语句给数字排序等)
四、作业:对于给定的数组a(n)as integer(n>=20),设计一个程序,找出在a中出现频率最高的元素值及出现的次数。例如(1,5,4,2,5,8,5,4)中,出现频率最高的是5, 次数是3次。

加载中…