程序设计基础-Visual Basic(2019秋)

沈阳师范大学 刘立群

目录

  • 认识 Visual Basic
    • ● 认识 Visual Basic
    • ● 对象的属性、事件和方法
    • ● 控件的容器-窗体
    • ● 文本编辑工具-文本框
    • ● 命令按钮和标签
  • 程序设计基础
    • ● 语句和语法规则
    • ● 数据类型和常量变量
    • ● 运算符与表达式
    • ● 常用内部函数
    • ● 输入与输出
  • 基本控制结构和算法
    • ● 程序结构与算法
    • ● 选择结构的语句实现
    • ● 循环结构的语句实现
    • ● 穷举和递推问题求解
    • ● 嵌套循环解百钱百鸡问题
    • ● 星形矩阵的显示问题
  • 常用标准控件
    • ● 选择控件和滚动条--设置文字格式
    • ● 列表框及组合框—购票系统
    • ● 计时器与图片控件—自动变换的交通灯
    • ● 图形操作—小球运动
  • 数组和过程
    • ● 数组的定义与一维数组的应用
    • ● 二维数组
    • ● 控件数组
    • ● 自定义过程
    • ● 参数传递
    • ● 变量的作用域
  • 键盘鼠标事件与菜单设计
    • ● 鼠标键盘事件--小鸡吃虫游戏
    • ● 菜单程序设计--控制移动字幕
  • 通用对话框与文件操作
    • ● 通用对话框与文件操作
    • ● 文件操作--打开保存数据实例
二维数组


 

 

 

1.多维数组的定义

格式:Public|Dim|Static <数组名> (第一维下标,第二维下标) [As 数据类型]

例如:

Public Arr(2,3) As Integer

定义一个二维数组,名字为Arr,数据类型为Integer,该数组有3行(02)、4列(03),共12个元素,见表1

1 二维数组元素

                       
 

Arr(0,0)

 
 

Arr(0,1)

 
 

Arr(0,2)

 
 

Arr(0,3)

 
 

Arr(1,0)

 
 

Arr(1,1)

 
 

Arr(1,2)

 
 

Arr(1,3)

 
 

Arr(2,0)

 
 

Arr(2,1)

 
 

Arr(2,2)

 
 

Arr(2,3)

 

同一维数组一样,二维数组也可以用指定上下界的方式定义,例如:

Public a(1 To 2,1 To 3)As Integer

定义后数组元素为:a(1,1) a(1,2) a(1,3) a(2,1) a(2,2) a(2,3),共6个元素。

2.二维数组的应用

矩阵问题是二维数组的一个重要的应用。利用二维数组可以方便的表示矩阵,并实现对矩阵进行计算。矩阵的计算问题是针对数组元素下标按照一定规则进行引用。表25*5矩阵下标,例如求第2行的和,即求行标为2的所有元素a(2, j)的和。求对角线元素的和,则是求行标与列标相等的元素a(I , i)的和。

2 矩阵元素下标

                                                 
 

11

 
 

12

 
 

13

 
 

14

 
 

15

 
 

21

 
 

22

 
 

23

 
 

24

 
 

25

 
 

31

 
 

32

 
 

33

 
 

34

 
 

35

 
 

41

 
 

42

 
 

43

 
 

44

 
 

45

 
 

51

 
 

52

 
 

53

 
 

54

 
 

55

 

 

1二维数组的输入/输出。

程序代码:

Private Sub Form_Click()

Const m% = 3, n% = 4

Dim a(m, n) As Integer

Dim s As Integer, i As Integer, j As Integer

For i = 1 To m                                    '外循环控制二维数组行数

  For j = 1 To n                                           '内循环控制二维数组列数

      a(i, j) = Val(InputBox("输入数据", "二维数组输入"))     '输入数组元素

  Next j

Next i

For i = 1 To m                              

   For j = 1 To n                              

      Print Tab(8 * j); a(i, j);                        '二维数组的输出

  Next j

Print                                      '换行

Next i

End Sub

运行结果如下图所示: