首页 VB教程_全套课件_vb-5

VB教程_全套课件_vb-5

举报
开通vip

VB教程_全套课件_vb-5第五章数组(4学时)5.1数组的概念5.2静态数组及声明5.3动态数组及声明5.4数组的基本操作5.5控件数组5.6自定义数据类型5.7常用算法(二)5.8常见错误一、数组的概念1.引例例5.1若我们要求一个班100个学生的平均成绩,然后统计高于平均分的人数。按以前简单变量的使用和循环结构相结合,求平均成绩程序段如下:aver=0Fori=1To100mark=InputBox("输入"+i+"位学生的成绩")aver=aver+markNextiaver=aver/100但若要统计高于平均分的人数,则无法实现。m...

VB教程_全套课件_vb-5
第五章数组(4学时)5.1数组的概念5.2静态数组及声明5.3动态数组及声明5.4数组的基本操作5.5控件数组5.6自定义数据类型5.7常用算法(二)5.8常见错误一、数组的概念1.引例例5.1若我们要求一个班100个学生的平均成绩,然后统计高于平均分的人数。按以前简单变量的使用和循环结构相结合,求平均成绩程序段如下:aver=0Fori=1To100mark=InputBox("输入"+i+"位学生的成绩")aver=aver+markNextiaver=aver/100但若要统计高于平均分的人数,则无法实现。mark是一个简单变量,存放的是最后一个学生的成绩。已有知识解决方法:再重复输入成绩,带来两个问题:(1)输入数据的工作量成倍增加;(2)若本次输入的成绩与上次不同,则统计的结果不正确。解决此问题的根本方法,引入数组,始终保持输入的数据,一次输入,多次使用。二、数组的声明数组并不是一种数据类型,而是一组相同类型的变量的集合。数组必须先声明后使用。两类数组:静态(定长)数组、动态(可变长)数组1.静态数组及声明形式:Dim数组名(下标1[,下标2…])[As类型]声明了数组的名、维数、大小、类型维数:几个下标为几维数组,最多60维。下标:[下界To]上界省略下界为0,必须为常数。每一维大小:上界-下界+1数组大小:每一维大小的乘积例:Dimmark(1to100)AsIntegerDimlArray(0To3,0To4)AsLong共有4×5个元素等价于:DimlArray(3,4)AsLong注意:(1)下界缺省为0,也可在重新定义数组的下界。例如:OptionBase1(2)错误的声明,下标是变量n=Inputbox(“输入n”)Dimx(n)AsSingle(3)在数组声明中的下标说明了数组的整体,即每一维的大小;而在程序其他地方出现的下标表示数组中的一个元素。两者写法形式相同,但意义不同。例如:Dimx(10)AsInteger'声明了x数组有11个元素x(10)=100'对x(10)这个数组元素赋值三、动态数组及声明动态数组指在声明数组时未给出数组的大小(省略括号中的下标),当要使用它时随时用ReDim语句重新指出数组大小。形式如下:ReDim数组名(下标[,下标2…])[As类型]例:SubForm_Load()DimsArray()AsSingle…ReDimsArray(4,8)…EndSub说明:(1)Dim、Private、Public变量声明语句是说明性语句,可出现在过程内或通用声明段ReDim语句是执行语句,只能出现在过程内。(2)在过程中可多次使用ReDim来改变数组的大小,也可改变数组的维数.(3)每次使用ReDim语句都会使原来数组中的值丢失,可以在ReDim语句后加Preserve参数用来保留数组中的数据,但使用Preserve只能改变最后一维的大小,前面几维大小不能改变。例5.2,求若干个学生的平均分。(4)ReDim中的下标可以是常量,也可以是有了确定值的变量。四、数组的基本操作1.数组元素的赋初值(1)用循环Fori=1To10iA(i)=0Nexti(2)Array函数DimibAsVariantib=Array("abc","def","67")Fori=0ToUBound(ib)Picture1.Printib(i);"";Nexti注意:(1)利用Array对数组各元素赋值,声明的数组是可调数组或连圆括号都可省,并且其类型只能是Variant。(2)数组的下阶为零,上界由Array函数括号内的参数个数可决定,也可通过函数Ubound获得。2.数组的赋值在VB6.0中,提供了数组直接对数组的赋值。例如:Dima()AsVariant,b()AsVariant,i%a=Array(1,2,3,4,5)ReDimb(UBound(a))b=a3.数组的输出输出方阵sC中的下三角元素Fori=0To4Forj=0Toisc(i,j)=i*5+jPrintsc(i,j);"";NextjPrint'换行NextIFori=0ToUBound(a)b(i)=a(i)Nexti注意:赋值号左边的数组只能声明为Variant的可调数组或简单变量。4.求数组中最大元素及所在下标DimMaxAsInteger,iMaxAsIntegerMax=iA(1):iMax=1Fori=2To10IfiA(i)>MaxThenMax=iA(i)iMax=iEndIfNextI5.将数组中各元素交换Fori=1To10\2t=iA(i)iA(i)=iA(10-i+1)iA(10-i+1)=tNextI五.控件数组一组相同类型的控件组成。它们共用一个控件名,具有相同的属性,建立时系统给每个元素赋一个唯一的索引号(Index)。控件数组共享同样的事件过程,通过返回的下标值区分控件数组中的各个元素。例:PrivateSubcmdName_Click(IndexAsInteger)…IfIndex=3then‘处理第四个命令按钮的操作EndIf…EndSub1.在设计时建立控件数组在窗体上画出控件,进行属性设置,这是建立的第一个元素选中该控件,进行“Copy”进行若干次和“Paste”操作建立了所需个数的控件数组元素。进行事件过程的编程。例5.3建立含有四个命令按钮的控件数组,当单击某个命令按钮,分别显示不同的图形或结束操作。PrivateSubCommand1_Click(IndexAsInteger)SelectCaseIndexCase0……"画直线"Case1……"画矩形"Case2……“画圆”CaseElseEndEndSelectEndSub2.运行时添加控件数组建立的步骤如下:在窗体上画出某控件,设置该控件的Index值为0,表示该控件为数组,这是建立的第一个元素在编程时通过Load方法添加其余的若干个元素,也可以通过Unload方法删除某个添加的元素。每个新添加的控件数组通过Left和Top属性确定其在窗体的位置,并将Visible属性设置为True。例5.4利用在运行时产生控件数组,构成一个国际象棋棋盘。当单击棋格,显示对应的序号,并且将所有棋格颜色变反。六、自定义数据类型一组不同类型变量的集合。相当于C语言中的结构类型;Pascal中的 记录 混凝土 养护记录下载土方回填监理旁站记录免费下载集备记录下载集备记录下载集备记录下载 类型。1.自定义类型的定义形式如下:Type自定义类型名元素名[(下标)]As类型名…[元素名[(下标)]As类型名]EndType例如以下定义了一个有关学生信息的自定义类型:TypeStudTypeNoAsInteger'学号NameAsString*20'姓名SexAsString*1'性别Mark(1To4)AsSingle'4门课程成绩TotalAsSingle'总分EndType元素名:表示自定义类型中的一个成员。下标:表示是数组。类型名:为 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 类型。注意:(1)自定义类型一般在标准模块(.BAS)中定义,默认是Public;在窗体必须是Private。(2)自定义类型中的元素类型可以是字符串,但应是定长字符串。(3)不要将自定义类型名和该类型的变量名混淆,前者表示了如同Integer、Single等的类型名,后者VB根据变量的类型分配所需的内存空间,存贮数据。(4)自定义类型一般和数组结合使用,简化程序的编写。2.自定义类型变量的声明和使用(1)声明形式:Dim变量名As自定义类型名例:DimStudentAsStudType(2)引用形式:变量名.元素名例:表示Student变量中的姓名,第4门课程的成绩,则表示如下:Student.Name,Student.Mark(4)3.自定义类型数组的应用例5.5利用自定义类型数组,编一类似数据管理(输入、显示、查询)的程序。七、常用算法(二)1.统计例5.6输入一串字符,统计各字母出现的次数,大小写字母不区分。分析:1.统计26个字母出现的个数,先声明一个具有26个元素的数组,每个元素的下标表示对应的字母,元素的值表示对应字母出现的次数。2.从输入的字符串中逐一取出字符,转换成大写字符(使得大小写不区分),进行判断。3.运行界面:ForI=1Tolec=UCase(Mid(Text1,I,1))Ifc>="A"Andc<="Z"Thenj=Asc(c)-65+1a(j)=a(j)+1EndIfNextI2.大量数据的输入例5.7输入一系列的数据,并将它们分离后存放在数组中。对输入的数据允许修改和自动识别非数字数据。分析:(1)利用文本框输入和编辑数据,输入时去除非法数字。(2)输入结束利用Rplace函数去除重复输入的分隔符;(3)对利用Split函数按分隔符分离,放到数组中;(4)还可利用Join函数将数组中各元素合并成一个字符串。3.数组排序例5.8对已知存放在数组中的n个数,用选择法按递增顺序排序。(1)从n个数的序列中选出最小的数(递增),与第1个数交换位置;(2)除第1个数外,其余n-1个数再按(1)的方法选出次小的数,与第2个数交换位置;(3)重复(1)n-1遍,最后构成递增序列。Fori=1Ton-1iMin=iForj=i+1TonIfiA(j)
本文档为【VB教程_全套课件_vb-5】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
个人认证用户
平方米
暂无简介~
格式:ppt
大小:524KB
软件:PowerPoint
页数:18
分类:成人教育
上传时间:2022-04-13
浏览量:0