内容正文:
模块5 数组
学习目标
认识一维数组、二维数组和控件数组的定义
能够应用合适的数组来解决实际问题
任务1使用一维数组与二维数组
任务要点
认识一维数组与二维数组
会应用一维数组与二维数组编程
3
一、一维数组
案例5-1:打印动漫人物名称。
设计一个程序,单击窗体,要求输入6个喜欢的动漫人物名称并在窗体上打印出来。运行界面如图5-1所示。
图5-1 运行界面
任务1使用一维数组与二维数组
4
一、一维数组
案例5-1:打印动漫人物名称。
案例分析:该案例主要涉及数据的接收问题。我们多采用InputBox函数接收动漫人物名称,并将得到的数据存储在事先定义的一维数组中,然后利用循环结构将其在窗体上打印出来。
任务1使用一维数组与二维数组
一、一维数组
案例5-1:打印动漫人物名称。
内容讲解:
1.数组的定义:数组是若干具有相同数据类型的数据的集合。一维数组相当于数学中的数列。
2.数组必须先声明后使用,一维数组的声明格式为:
Dim 数组名(下标) As 数据类型
3.数组名的命名规则与简单变量命名规则相同。
任务1使用一维数组与二维数组
一、一维数组
案例5-1:打印动漫人物名称。
内容讲解:
4.数组元素个数为下标数字加1,默认数组第1个元素下标从0开始,如数组rw(5)有6个元素;也可以这样声明数组:
Dim 数组名(下界 To 上界) As 数据类型
此时数组第1个元素为数组名(下界)。
5.若数组下标为一固定值,则此数组为静态数组,在程序运行中数组元素个数不变;若Dim 数组名() As 数据类型,则该数组为动态数组,在程序运行中数组元素个数是动态变化的。
任务1使用一维数组与二维数组
一、一维数组
案例5-2:评委打分。
有10个评委对歌手进行打分,要求编程计算出歌手平均得分(按去掉一个最高分和一个最低分的计算方法计算)。运行界面如图5-2所示。
任务1使用一维数组与二维数组
图5-2 运行界面
一、一维数组
案例5-2:评委打分。
案例分析:该案例主要涉及三个方面,一是输入并记录一个数组;二是数组之间的比较运算;三是数值的求平均值运算。对于第一方面我们多采用InputBox函数用于接收数据;对于第二方面我们需要用到分支结构If…then…筛选出最大值与最小值;第三方面需要进行除法运算,但是需要注意将最大值与最小值减去。
任务1使用一维数组与二维数组
一、一维数组
案例5-2:评委打分。
小贴士:
在程序中最高分的处理是这样实现的:假设a(0)是最高分max,然后将它与数组的其它元素逐个比较,如果有比max大的,就将其赋给max,最后max中的值就是最高分。最低分同理。
注意总分去掉最高分和最低分后求平均分时应除以8。
任务1使用一维数组与二维数组
课堂小练手
5-1:设计程序,给出15个1~100以内的随机数,将其对调后输出。
二、二维数组
案例5-3:打印成绩表。
单击窗体要将三个学生的语文、数学、英语和VB成绩打印出来,打印时注意要在成绩之间留一定的空格,运行界面如图5-3所示。
图5-3 运行界面
任务1使用一维数组与二维数组
12
二、二维数组
案例5-3:打印成绩表。
案例分析:这是一个类似二维表格数据的案例,用二维数组存储非常直观方便。可以定义一个3行4列的二维数组,正好可以保存这些数据。接收数据存储到二维数组中要利用双重循环来实现,外层循环控制行数,内层循环控制列数。本案例中要灵活运用Tab(n)函数或Space(n)函数,使得各科成绩之间间隔相等。
任务1使用一维数组与二维数组
二、二维数组
案例5-3:打印成绩表。
内容讲解:
1.二维数组的声明格式为:
Dim 数组名(下标1, 下标2) As 数据类型
2. Dim fs(2, 3) As Integer语句表示定义一个3行4列的二维数组,元素个数为12。
任务1使用一维数组与二维数组
二、二维数组
案例5-4:浏览房源信息。
单击“上一条记录”或“下一条记录”按钮,可以浏览一室一厅房源信息,包括房源编号、客厅朝向及各室面积信息。运行界面如图5-4所示。
任务1使用一维数组与二维数组
图5-4 运行界面
二、二维数组
案例5-4:浏览房源信息。
案例分析:此案例中有多条房源信息,每条房源信息都有7个字段,是典型的二维表格数据,这就需要用二维数组来实现。本例中同一条记录里的7个数据类型不一样,因此在定义二维数组时,要定义成Variant类型的。
任务1使用一维数组与二维数组
任务2使用控件数组
任务要点
认识控件数组
会应用控件数组编程
17
案例5-5:选择食品。
从三种食品中选择一种,再选择一个包装重量,单击“您的选择是”按钮,则将你的选择标签上。运行界面如图5-5所示。
图5-5 运行界面
任务2使用控件数组
18
案例5-5:选择食品。
案例分析:食品名称和包装重量中各有3个单选按钮,它们各为一组,只能选择其中的一项。我们把一类单选按钮设置成控件数组,使它们拥有相同的控件名,但是标识号是不同的,我们便根据标识号来判断用户选择的是哪个单选按钮,这样可以大大简化程序。
任务2使用控件数组
案例5-5:选择食品。
内容讲解:
1.控件数组由一组相同的控件组成,它们拥有相同的控件名。
2.通常设置好第一个控件后,通过复制粘贴产生这一组控件数组,系统通过为其赋予不同的Index值来对这个控件数组中的元素进行区分,如案例5-5中薯条单选按钮的Index值为0,巧克力单选按钮的Index值为1,瓜子单选按钮的Index值为2。使用控件数组可以使编程简化。
任务2使用控件数组
案例5-6:简易计算器。
制作一个简易计算器,实现简单的加减乘除运算。运行界面如图5-6所示 。
图5-6 运行界面
任务2使用控件数组
21
案例5-6:简易计算器。
案例分析:以此案例来巩固按钮控件数组的使用。本例关键在于判断哪些按钮是同一个控件数组里的。经分析,数字按钮0~9为一个控件数组,4个操作符为另一个控件数组。要注意复制的按钮按顺序排列整齐。
任务2使用控件数组
案例实施
第一步:添加控件、并修改控件属性
第二步:编写事件代码
任务2使用控件数组
课堂小练手
5-2:设计程序,要求单击按钮分别以不同的填充样式打印出Shape控件的6种形状,如图5-7所示。
Shape控件的Shape属性赋值为0~5,分别对应的形状为:矩形、正方形、椭圆形、圆形、圆角矩形、圆角正方形;FillStyle属性赋值为2~7,分别对应的填充样式为:实心填充、透明填充、以水平线进行填充、以垂直线进行填充、向上对角线填充、向下对角线填充、交叉线填充、对角交叉线填充。
图5-7 运行界面
敬请指正
$$