《Visual Basic程序设计》课件第5章_第1页
《Visual Basic程序设计》课件第5章_第2页
《Visual Basic程序设计》课件第5章_第3页
《Visual Basic程序设计》课件第5章_第4页
《Visual Basic程序设计》课件第5章_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数组的基础知识一维数组二维数组控件数组动态数组主要内容1.1数组的概念数组用于表示一组性质相同的、有序的数据,这组数据用一个统一的名称来代替,称为数组名。例如,1000个学生的数学成绩,可以统一取名为Score。数组名的命令规则与简单变量的命名规则相同。数组中的每一个成员称为数组元素。为了在处理时能够区分数组中的每一个元素,需要用一个索引号加以区别,该索引号称为下标。数组中的每一个元素可以用“数组名”和“下标”唯一的表示,方法是:<数组名>(下标)1.1数组的概念在表示数组元素时,应注意以下几点:(1)要用圆括号把下标括起来,不能用中括号或者大括号代替,也不能省略圆括号。例如,将数组元素Score(1)表示成Score[1]或者Score{1}都是错误的;(2)下标可以是常量、变量或者表达式,但是其值必须是整数,且在被引用前必须有确定的值,否则将会被自动四舍五入成整数;(3)下标的最小取值称之为下界,下标的最大取值称之为上界。在不加任何说明的情况下,数组的下界默认为0。但是我们也可通过OptionBase语句来修改数组的下界。OptionBase语句只能在模块级中使用。

1.2数组的维数

如果数组的元素只有一个下标,则称这个数组为一维数组。用两个下标来表示元素的数组称为二维数组。对于可以表示成表格形式的数据,例如矩阵、行列式等,用二维数组来表示是非常方便的。根据问题的需要,我们还可以选择使用三维数组、四维数组,甚至更多维的数组。在VisualBasic中最多允许有60维数组。例如我们想表示空间上的一个点P,其坐标有三个,分别是X轴、Y轴、Z轴上的坐标,那么我们可以使用三维数组来表示,数组的第一维表示X坐标,第二维表示Y坐标,第三维表示Z坐标,如用P(x,y,z)来表示。1.3数组的声明

数组在定义之前必须先声明,声明数组的目的是为数组分配存储空间,“数组名”即为这个存储空间的名称,而数组元素则为存储空间的每一个单元。每个单元的大小(即所占字节数)与数组的类型有关。

1.4数组函数

1.Array函数: <数组变量名>=Array(<元素列表>)将<元素列表>中的数据赋给一个Variant型数组的数组元素,即可以使用该函数为数组元素赋值。例如:2.IsArray函数: IsArray(变量名)判断一个变量是否为数组变量。函数值为Boolean型3.下界函数(Lbound)

Lbound(数组名[,维数])求数组指定维数的最小下标。函数值为Long型数据。4.上界函数(Ubound)UBound(数组名[,维数]) 返回2.1数列排序案例说明该程序可以产生一个包含十个元素的随机整数序列,通过运行代码可以求出这个数列中的最大值、数列的平均值以及按升序排列,当按下“插入新数据”按钮时,用户可以通过键盘输入一个新的整数,构成一个包含11个元素的数组,并且把新输入的整数按升序插入到正确的位置,

2.2程序实现

界面设计:在界面上添加5个命令按钮,按图5-3调整控件的大小和位置,并按照图示设置窗体和命令按钮的Caption属性,并把它们的名称依次更改为cmdCreat、cmdMax、cmdAve、cmdSort、cmdInsert。2.代码设计:2.3相关知识

1.一维数组的定义

Public|Private|Dim<数组名>(下标)[As<类型>]

(1)建立“全局数组”,在模块的声明段用“Public”语句声明数组;(2)建立“模块”或“窗体数组”,在模块的声明段用“Private”语句声明数组;(3)建立“局部数组”,在过程中用“Private”语句声明数组。2.3相关知识

2.几点说明:(1)“下标”的一般形式为“[下界To]上界”。上界、下界为整数,不得超过Long数据类型的范围,并且下界应该小于上界。(2)如果无“下界”,则默认为“下界”为0。如果希望“下界”默认为1,应该通过语句“OptionBase1”来设置;(3)引用数组元素的格式是“数组名(下标)”。(4)给数组元素赋值的方法与变量的赋值相同。(5)要注意区分“可以使用的最大下标值”和“元素个数”。“可以使用的最大下标值”指的是“下标值”的“上界”,而“元素个数”则是指数组中“成员”的个数。(6)在同一个过程中,“数组名”不能与“变量名”相同,否则会出现“当前范围内的声明重复”的错误。返回3.1变换矩阵案例说明通过这个案例来掌握二维数组中第一维下标和第二维下标的含义,以及在程序中如何对二维数组的下标进行控制。在一个二维数组中存入一组数据,并且将这些数据按矩阵的方式显示在窗体的控件上。运行程序时,当用户按下“行列互换”按钮时,可以实现矩阵的行列互换,并且显示在右边的“图片框”中,按下“行颠倒”和“列颠倒”按钮时,能实现矩阵相关数据的“颠倒”,按下“退出”按钮时则可以退出程序。3.2程序实现1.界面设计:在窗体上添加2个图片框(PictureBox)控件、4个命令按钮控件,调整控件的大小和位置,并设置各个控件的有关属性:

2.代码设计:3.3相关知识1.二维数组的定义:[Public|Private|Dim|Static]数组名(下标1,下标2)[As<类型>]说明:Public、Private、Dim和Static的用法与变量的定义一样。每一维的下标都有上界和下界来标示下标的取值范围。每一维的大小为“上界-下界+1”,二维数组元素的个数为“两个维的大小的乘积”。2.二维数组元素的引用二维数组的元素的引用方法和一维数组相同,格式为: 数组名(下标1,下标2)说明:“下标1”、“下标2”可以是常量、变量或者表达式,并且它们的取值范围不可以超过所声明的上界和下界。3.4拓展知识1.案例说明: 在窗体上绘制一个简易迷宫。在本案例中,“迷宫”用一个由0和1组成的“20×20”的矩阵来表示,这个矩阵可以定义为一个二维数组,整型,比如a(20,20)。在这个二维数组中,设0表示“隔墙”,1表示“通路”。 在一个记事本文件中先画好“迷宫”的线路,文本内容全部由0和1组成。然后利用文件操作的“读方式”和“字符串操作”函数,把这个文件中的每一行中的每一个字符读入到这个二维数组的各个数组元素中,根据数组元素中的值是0还是1,则利用窗体的“Line”方法画出“黑”“白”分明的“正方形”,其实“迷宫”就是由这些“正方形”紧密排列而成的。返回4.1简易计算器案例说明该“计算器”可以实现简单的四则混合运算。用户通过界面上的按钮输入“操作数”和“操作符”,按下“=”按钮之后可以在文本框中显示运算结果。按下“Cls”按钮可以清除文本框内容,按下“Exit”则退出“计算器”。

4.2

程序实现

1.界面设计 在计算器中的0~9数字“按钮”以及小数点“按钮”的功能是一样的,用来完成输入数据的工作,而“+”、“-”、“×”、“÷”以及“Mod”按钮的功能也是相通的,主要是提供输入运算符,以完成不同的运算。对于这些功能基本相同的控件,在实际编程中,无需定义单个的控件,因为这样在控件数量上会比较多,容易混淆。2.代码设计:4.3相关知识1.控件数组的概念“控件数组”由是一组相同类型的控件组成的,这一组控件共用一个相同的控件名称,即“名称”属性必须相同,具有基本相同的属性设置。当建立控件数组时,系统给每个元素赋予了一个唯一的索引号(Index),即控件数组的“下标”,下标值由Index属性指定。通过“属性”窗口的Index属性,可以知道该控件的下标是多少。系统规定第一个控件数组元素的下标是0,也就是说,控件数组的名字由“名称”属性指定,而数组中的每个元素则由Index属性指定。4.3相关知识2.创建控件数组的方法创建控件数组的方法有两种:(1)在进行界面设计添加控件时,通过“复制”、“粘贴”建立。(2)在给控件对象命名时建立,

4.4拓展知识1.函数Format的应用Forma()函数可以接受格式代码,按指定的格式输出表达式。使用格式为:Format(表达式[,格式])2.[案例5-5]——改进的“调色板”返回5.1变化矩阵案例说明该程序在运行时,如果单击“输出(3×3)数组”按钮,则会在界面上输出一个3行3列的矩阵,如图5-14所示;如果单击“输出(3×4)数组”,则会在界面上输出一个3行4列的矩阵,如图5-15所示。从表面上看,这应该需要定义两个不同的二维数组,但在程序中我们并没有定义两个,仅仅需要一个数组就可以实现该程序。5.2

程序实现

1.界面设计:2.代码设计:5.3相关知识可以通过使用“动态数组”,在程序中任意改变数组的长度。在VisualBasic6.0中,“动态数组”是最灵活、最方便的,有助于有效管理内存。动态数组的定义一般分为两步:5.3相关知识1.声明一个没有下标参数的数组,其格式为:Public|Static|Dim<数组名>()[As类型]“Public”,“Dim”,“Static”或“Dim”与前面的定义语句说明是一致的。2.用“ReDim”语句分配数组实际的元素个数,格式为:ReDim[Preserve]数组名[(维数定义)][As数据类型]……5.3相关知识几点说明:(1)“上界”和“下界”可以是常量和有确定值的变量;(2)可以使用“ReDim”语句多次改变数组的数组元素个数和维数,但不能改变这个数组的数据类型;(3)如果重新定义数组,则会删除它原有数组元素中的数据,并将数值型数组元素全部赋0,将字符型数组元素全部赋空

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论