VB实验三0001.docx
- 文档编号:9908978
- 上传时间:2023-02-07
- 格式:DOCX
- 页数:18
- 大小:628.30KB
VB实验三0001.docx
《VB实验三0001.docx》由会员分享,可在线阅读,更多相关《VB实验三0001.docx(18页珍藏版)》请在冰豆网上搜索。
VB实验三0001
VB实验三
实验报告三
实验目的
(1)掌握一维数组(静态、动态)定义及使用
(2)掌握二维数组(静态、动态)定义及使用
(3)掌握“控件数组”的使用
(4)掌握数组相关算法(求最值,排序,查找)
(5)通过数组巩固循环及多重循环程序设计
实验内容
【实验1】已知10个数为53、67、42、89、65、18、98、67、54、36,编写程序,使用Array函数存储这10个数并求和。
程序运行界面如下图所示。
(10分)
掌握一维静态数组的定义及使用
实验结果:
【实验1代码】
OptionBase1
PrivateSubForm_Click()
Dima(),sum%
sum=0
a=Array(53,67,42,89,65,18,98,67,54,36)
Fori=1To10Step1
sum=sum+a(i)
Nexti
Print"10个数字和为"&sum
EndSub
【实验1典型结果】
【实验2】动态数组声明及输入输出,程序运行界面如下图所示。
(10分)
掌握动态数组的使用
实验结果:
【实验2代码】
PrivateSubcommand1_Click()
Dima()AsInteger
n=3
ReDima(n)
a
(1)=10
a
(2)=20
a(3)=30
Printa
(1),a
(2),a(3)
Print"用RedimPreservea(n)改变数组大小"
n=4
ReDimPreservea(n)
a(4)=40
Printa
(1),a
(2),a(3),a(4)
EndSub
【实验2典型结果】
【实验3】编写程序,定义一个二维静态数组,输出下列矩阵并分别计算矩阵两条对角线元素之和。
(10分)
程序运行界面如下图所示。
掌握二维数组的定义及使用
实验结果:
【实验3代码】
OptionExplicit
OptionBase1
PrivateSubForm_Click()
Dima%(5,5),i%,j%,sum%,n%,s1%,s2%
Fori=1To5
Forj=1To5
a(i,j)=5*(i-1)+j'给数组赋值
Nextj
Nexti
Fori=1To5
Forj=1To5
PrintTab(7*j);a(i,j);'输出数组
Nextj
Nexti
n=5
s1=0
s2=0
Fori=1To5
Forj=1Ton
Ifi=jThens1=s1+a(i,j)'主对角线之和
Ifi+j=n+1Thens2=s2+a(i,j)'次对角线之和
Nextj
Nexti
Print"主对角线之和=";s1
Print"次对角线之和=";s2
EndSub
【实验3典型结果】
【实验4】利用控件数组模拟电话拨号程序,界面设计如下图所示。
要求按任意一个字符,在文本框中显示,最多可拨11位数字字符,单击“重拨”按钮,重新显示原来所拨的号码。
建立Command1控件数组,索引为0-9;Command2和Command3分别为“重拨”、“清屏”按钮;Timer1控件为“重拨”服务。
(10分)
掌握控件组的使用
实验结果:
【实验4代码】
DimnoAsString,iAsInteger
PrivateSubCommand1_Click(indexAsInteger)
Text1.Text=Text1.Text&index
EndSub
PrivateSubCommand2_Click()
no=Text1.Text
Text1.Text=""
i=1
Timer1.Interval=200
Timer1.Enabled=True
EndSub
PrivateSubCommand3_Click()
Text1.Text=""
EndSub
PrivateSubTimer1_Timer()
Text1.Text=Text1.Text&Mid(no,i,1)
i=i+1
Ifi>Len(no)ThenTimer1.Enabled=False
EndSub
【实验4典型结果】
【实验5】随机产生10个100-999之间的数以递增顺序存放在列表框中,并实现对列表框内数据插入、删除等操作,使得列表框内数据还是有序。
程序运行界面如下图所示(10分)
掌握数组插入与删除操作
实验结果:
【实验5代码】
OptionBase1
OptionExplicit
PrivateSubcommand1_Click()
Dimi%,j%
Fori=1To10
j=Int(Rnd*900+100)
List1.AddItemj
Nexti
EndSub
PrivateSubCommand2_Click()
Dimx%,y%
x=Val(Text1.Text)
Fory=1ToList1.ListCount-1
Ifx Nexty List1.AddItemx,y Label1.Caption="列表框有"&List1.ListCount&"个数据项" EndSub PrivateSubCommand3_Click() Dima%,b% a=Val(Text1.Text) Forb=0ToList1.ListCount-1 Ifa=Val(List1.List(b))ThenList1.RemoveItemb Nextb Label1.Caption="列表框有"&List1.ListCount&"个数据项" EndSub 【实验5典型结果】 【实验6】设计一个利用简单组合框对各省、直辖市名称维护的应用程序。 要求: 添加不重复的省或直辖市到组合框中,对不正确的可修改,以按汉字内码顺有序显示。 运行效果如下图所示。 (10分) 掌握数组常用算法: 插入与删除操作 实验结果: 【实验6代码】 Dimpos% PrivateSubCombo1_Click() pos=Combo1.ListIndex EndSub PrivateSubCombo1_keypress(keyasciiAsInteger) Dimi%,findAsBoolean Ifkeyascii=13Then find=False Fori=0ToCombo1.ListCount-1 IfCombo1.Text=Combo1.List(i)Then find=True Nexti IfNotfindThen Combo1.AddItemCombo1.TextCombo1.Text="" EndIf EndSub PrivateSubCommand1_Click() Combo1.List(pos)=Combo1.Text EndSub PrivateSubForm_Load() Combo1.AddItem"上海市" Combo1.AddItem"北京市" Combo1.AddItem"重庆市" Combo1.AddItem"四川省" Combo1.AddItem"陕西省" Combo1.AddItem"山西省" Combo1.AddItem"河南省" Combo1.AddItem"山东省" EndSub 【实验6典型结果】 【实验7】用比较法对数组中的元素按升序排列,程序运行界面如下图所示。 (10分) 掌握数组常用算法: 数组排序 实验结果: 【实验7代码】~ OptionBase1 PrivateSubCommand1_Click() Dima(),i%,j%,t% a=Array(82,12,78,36,73,90,18,99,67,56) n=UBound(a) Print"比较法排序前: " Fori=1Ton Printa(i); Nexti Print Print"比较法排序后: " Fori=LBound(a)Ton-1 Forj=i+1Ton Ifa(i)>a(j)Then t=a(i): a(i)=a(j): a(j)=t EndIf Nextj Printa(i); Nexti EndSub 【实验7典型结果】 【实验8】选择法对数组中的元素按升序排列,程序运行界面如下图所示。 (10分) 掌握数组常用算法: 数组排序 实验结果: 【实验8代码】 OptionBase1 PrivateSubForm_Click() Dima(),i%,j%,t%,P% a=Array(82,12,78,36,73,90,18,99,67,56) n=UBound(a) Print"比较法排序前: " Fori=1Ton Printa(i); Nexti Print Print"比较法排序后: " Fori=LBound(a)Ton-1 P=i Forj=i+1Ton
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VB 实验 0001
![提示](https://static.bdocx.com/images/bang_tan.gif)