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

下载本文档

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

文档简介

2023/12/13《VisualBasic程序设计简明教程》16.1一维数组一维数组的定义方式:

Dim数组名([下界To]上界)As类型例如:

Dima(1To5)AsInteger

数组的元素在内存中按顺序存放,数组所占据的字节数是各元素所占字节数之和。

2023/12/13《VisualBasic程序设计简明教程》2说明:(1)数组名应该是一个合法的标识符,数组中所有元素的数据类型都相同。(2)下界和上界均为整型常量表达式,它们规定了元素下标的取值范围。下界最小可以是-32768,上界最大可以是32767。应该满足下界≤上界,一维数组的长度即元素的个数为上界-下界+1。(3)对于没有赋初值的数组元素,如果是数值型,系统都自动赋以0;如果是字符型,系统都自动赋以空串;如果是逻辑型,系统都自动赋以False。(4)如果定义数组时省略了下界,则下界默认是0。2023/12/13《VisualBasic程序设计简明教程》3数组元素的引用元素引用的形式是:数组名(下标)例如:

a(4)=a(1)*a(3)+a(2)在引用数组的元素时,应注意下标值不要超过数组的范围。2023/12/13《VisualBasic程序设计简明教程》4例6.1计算全班学生的VB平均成绩ConstNAsInteger=30PrivateSubCommand1_Click()Dima(1ToN)AsInteger,iAsInteger,sumAsInteger,aver!Fori=1ToN'输入学生成绩

a(i)=Val(InputBox("请输入第"&i&"位学生的成绩"))Nextisum=0Fori=1ToN'累加学生成绩

sum=sum+a(i)Nextiaver=sum/N'计算平均成绩

Picture1.Print"平均成绩是";averEndSub2023/12/13《VisualBasic程序设计简明教程》5ConstNAsInteger=30PrivateSubCommand2_Click()Dima(1ToN)AsString,i%,j%,flagAsBoolean,name$Fori=1ToN'输入学生姓名

a(i)=InputBox("请输入第"&i&"位学生的姓名")NextiDoname=InputBox("请输入要查询的学生姓名")flag=FalseFori=1ToNIfa(i)=nameThenflag=True'找到,改变标志

ExitForEndIfNextiIfflag=TrueThenPicture1.Print"找到姓名为";name;"的学生"ElsePicture1.Print"没有找到姓名为";name;"的学生"EndIfj=MsgBox("还要继续查询吗?",vbYesNo+vbquestin)LoopWhilej=6'如果按下“是”按钮,则继续循环

EndSub例6.2查询学生2023/12/13《VisualBasic程序设计简明教程》6ConstNAsInteger=30PrivateSubCommand3_Click()Dima(1ToN)AsInteger,iAsInteger,maxAsInteger,minAsIntegerFori=1ToN'输入学生成绩

a(i)=Val(InputBox("请输入第"&i&"位学生的成绩"))Nextimax=a(1)'假定第一位学生的成绩是最高分min=a(1)'假定第一位学生的成绩是最低分Fori=2ToNIfmax<a(i)Thenmax=a(i)'确保max是当前最高分

EndIfIfmin>a(i)Thenmin=a(i)'确保min是当前最低分

EndIfNextiPicture1.Print"最高分是";maxPicture1.Print"最低分是";minEndSub例6.3统计全班最高分和最低分返回2023/12/13《VisualBasic程序设计简明教程》76.2二维数组二维数组的定义方式:Dim数组名([下界To]上界,[下界To]上界)As类型例如:Dima(1To2,1To2)AsIntegera(1,1)a(1,2)a(2,1)a(2,2)2023/12/13《VisualBasic程序设计简明教程》8说明:(1)通常把二维数组的第一个下标形象地称为行下标,第二个下标称为列下标。(2)二维数组的元素个数为行的长度×列的长度,行或者列的长度为各自的上界-下界+1。(3)类似地还可以定义多维数组。例如:

Dima(1To2,1To2,1To2)AsInteger’共有8个元素的三维数组2023/12/13《VisualBasic程序设计简明教程》9例6.4

求两个3×3矩阵的和。

PrivateSubCommand1_Click()ConstNAsInteger=3Dima(1ToN,1ToN)AsInteger,b(1ToN,1ToN)AsIntegerDimc(1ToN,1ToN)AsInteger,iAsInteger,jAsIntegerFori=1ToNForj=1ToNa(i,j)=Val(InputBox("输入a("&i&","&j&")"))'输入数据存入数组aNextjNextiMsgBox("矩阵A的数据输入完毕!")Fori=1ToNForj=1ToNb(i,j)=Val(InputBox("输入b("&i&","&j&")"))'输入数据存入数组bNextjNextiMsgBox("矩阵B的数据输入完毕!")2023/12/13《VisualBasic程序设计简明教程》10Picture1.Print"开始输出矩阵C的数据"Fori=1ToNForj=1ToNc(i,j)=a(i,j)+b(i,j)'矩阵求和

NextjNextiFori=1ToNForj=1ToNPicture1.PrintTab(j*4);c(i,j);'输出数组cNextjPicture1.Print'输出一行数据,另换一行

NextiEndSub2023/12/13《VisualBasic程序设计简明教程》11输入输出返回2023/12/13《VisualBasic程序设计简明教程》126.3动态数组动态数组在程序运行过程中才被分配存储空间,它的定义方式是:

Dim数组名()As类型例如:

Dima()AsInteger2023/12/13《VisualBasic程序设计简明教程》13数组名赋值Dima(1To3)AsInteger,b()AsInteger,i%Fori=1To3'对静态数组a的所有元素赋值

a(i)=iNextib=a'数组名赋值

ForEachxInb'输出动态数组b中所有元素的值

PrintxNextx2023/12/13《VisualBasic程序设计简明教程》14两个函数的格式是:

LBound(a[,n])UBound(a[,n])说明:(1)参数a是数组名。参数n表示数组a的第n维,如果省略,则默认是1。(2)LBound函数返回数组a第n维的下界,UBound函数返回数组a第n维的上界。LBound和UBound函数2023/12/13《VisualBasic程序设计简明教程》15Array函数

Dimb(),i%b=Array(1,2,3)Fori=0To2Printb(i)Nexti2023/12/13《VisualBasic程序设计简明教程》16ReDim语句使用ReDim语句,确定动态数组的维数以及元素下标的下界和上界。其一般形式为:

ReDim[Preserve]数组名([下界To]上界[,下界To上界,…])[As类型]2023/12/13《VisualBasic程序设计简明教程》17说明:(1)可以多次使用ReDim语句对某个动态数组进行设置。(2)数组的维数以及元素下标的下界和上界都能够改变,甚至下界和上界可以是有了确定值的变量,但是数组的类型不能改变。(3)每次执行ReDim语句之后,数组中所有元素的值将会丢失。如果想保留数组元素的值,则可以使用关键字Preserve。2023/12/13《VisualBasic程序设计简明教程》18例6.6

计算Fibonacci数列的前n项

PrivateSubCommand1_Click()Dima()AsLong,nAsInteger,iAsInteger,j%n=Val(Text1.Text)ReDima(1Ton)'设置动态数组的长度

Fori=1TonIfi=1Ori=2Thena(i)=1'第一项和第二项都是1Elsea(i)=a(i-1)+a(i-2)'每一项是前两项之和

EndIfNextij=0Fori=1TonPicture1.PrintTab(j*7);a(i);j=j+1IfiMod5=0ThenPicture1.Printj=0EndIfNextiEndSub返回2023/12/13《VisualBasic程序设计简明教程》196.4控件数组控件数组的创建方法:(1)复制现有的控件,然后粘贴在窗体中。(2)为现有的同类控件取同一个对象名,一般是与第一个控件的名字一致。这时系统会提示是否创建控件数组,选择“是”即可。

2023/12/13《VisualBasic程序设计简明教程》20例6.7

用控件数组改写例4.6

PrivateSubCommand1_Click()DimsAsString,iAsIntegerDimt1(3)AsString,t2(4)AsStringt1(0)="计算机":t1(1)="汽车"t1(2)="机械":t1(3)="管理"t2(0)="足球":t2(1)="围棋"t2(2)="游泳":t2(3)="文学"t2(4)="上网"s=s+"姓名:"+Text1.Text+vbCrs=s+"年龄:"+Text2.Text+vbCrFori=0To3IfOption1(i).Value=TrueThens=s+t1(i)+"系"+vbCrExitForEndIfNextIs=s+"爱好:"Fori=0To4IfCheck1(i).Value=1Thens=s+t2(i)EndIfNextiMsgBox(s)EndSub返回2023/12/13《VisualBasic程序设计简明教程》216.5自定义类型自定义的类型又称为记录类型,它由一些基本类型的成员所组成。定义记录类型的关键字是Type,其一般形式为:

Type记录类型名成员表列

EndType2023/12/13《VisualBasic程序设计简明教程》22说明:(1)对成员表列中的所有成员都应进行类型声明。成员声明的形式为:成员名As类型(2)记录类型只是刻画了一个数据结构的模型,并没有定义实例,也不要求分配实际的内存空间。在程序中使用记录类型时,必须定义记录变量。2023/12/13《VisualBasic程序设计简明教程》23Student类型

TypeStudentsnoAsLong'学号

nameAsString'姓名

sexAsString'性别

scoreAsInteger'成绩

EndTypeDims1AsStudent,s2AsStudent引用记录变量成员的形式为:记录变量名.成员名例如:

s1.sno=2051226记录变量2023/12/13《VisualBasic程序设计简明教程》24记录数组

Dims(1To10)AsStudent访问记录数组元素的成员:记录数组名(下标).成员名例如:

s(2).sno=2051227Text1.Text=s(6).name

返回2023/12/13《VisualBasic程序设计简明教程》256.6字符串的处理——格式转换

⑴Val函数⑵Str函数⑶Asc函数⑷Chr函数⑸UCase函数⑹LCase函数2023/12/13《VisualBasic程序设计简明教程》266.6字符串的处理——统计长度函数Len用于统计字符串的长度即所包含字符的个数,其格式是:

Len(s)例如Len("VB6.0环境")得到的值是7。2023/12/13《VisualBasic程序设计简明教程》276.6字符串的处理——删除多余的空格LTrim(s)RTrim(s)Trim(s)函数LTrim删除字符串中前面的空格,函数RTrim删除字符串中后面的空格,函数Trim则删除字符串中前后两边的空格。2023/12/13《VisualBasic程序设计简明教程》286.6字符串的处理——生成字符串⑴String函数

String(m,s|n)⑵Space函数

Space(n)(1)InStr函数

InStr([n,]s1,s2)(2)Replace函数

Replace(s1,s2,s3[,m][,n][,…])6.6字符串的处理——查找和替换2023/12/13《VisualBasic程序设计简明教程》296.6字符串的处理——截取子串⑴Left函数

Left(s,n)⑵Right函数

Right(s,n)⑶Mid函数

Mid(s,m[,n])⑷Split函数

Split(s[,d][,n][,…])2023/12/13《VisualBasic程序设计简明教程》30PrivateSubCommand1_Click()Dima()AsString,i%,j%,flagAsBoolean,name$a=Split(Text1.Text)'输入学生姓名

Doname=InputBox("请输入要查询的学生姓名")flag=FalseFori=LBound(a)ToUBound(a)Ifa(i)=nameThenflag=True'找到,改变标志

ExitForEndIfNextiIfflag=TrueThenPicture1.Print"找到姓名为";name;"的学生"ElsePicture1.Print"没有找到姓名为";name;"的学生"EndIfj=MsgBox("还要继续查询吗?",vbYesNo+vbquestin)LoopWhilej=6EndSub例6.9

改写例6.2

2023/12/13《VisualBasic程序设计简明教程》31返回2023/12/13《VisualBasic程序设计简明教程》326.7列表框列表框(ListBox)控件能够显示一个项目列表,用户可以从中选择一个或者多个项目。如果项目列表中的项目过多而无法一次全部显示,则列表框将自动出现滚动条。在工具箱中图示为:2023/12/13《VisualBasic程序设计简明教程》33列表框的常用属性属性作用Name设置列表框的对象名Text确定用户当前所选的项目,该属性不能在属性窗口中设置,只能在程序中设置或引用List设置列表框所显示的项目列表ListCount确定列表框中项目的总数,该属性只能在程序中设置或引用ListIndex确定当前选中的项目在项目列表中的索引值,该属性只能在程序中设置或引用Selected确定项目列表中某个项目是否被选中,该属性只能在程序中设置或引用MultiSelect确定列表框是否允许多选Style设置列表框的外观,默认值是0,表示标准方式;如果是1,则项目的左边有复选框2023/12/13《VisualBasic程序设计简明教程》34说明:(1)程序第一个列表框控件的默认对象名是List1,依次类推。(2)List是列表框控件最重要的属性之一,其属性值是一个字符串数组,每一个元素存放项目列表其中的一个项目。(3)在程序中ListIndex和ListCount往往与List属性配合使用。如果用户未选择任何项目,ListIndex的值是-1;如果用户选中项目列表中的第一项,ListIndex的值是0;如果用户选中项目列表中的最后一项,则ListIndex的值是ListCount-1。

温馨提示

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

评论

0/150

提交评论