VB实验三Word下载.docx
《VB实验三Word下载.docx》由会员分享,可在线阅读,更多相关《VB实验三Word下载.docx(17页珍藏版)》请在冰豆网上搜索。
Fori=1To5
Forj=1To5
a(i,j)=5*(i-1)+j'
给数组赋值
Nextj
Nexti
PrintTab(7*j);
a(i,j);
'
输出数组
Print
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
Print"
主对角线之和="
;
s1
次对角线之和="
s2
EndSub
【实验3典型结果】
【实验4】利用控件数组模拟电话拨号程序,界面设计如下图所示。
要求按任意一个字符,在文本框中显示,最多可拨11位数字字符,单击“重拨”按钮,重新显示原来所拨的号码。
建立Command1控件数组,索引为0-9;
Command2和Command3分别为“重拨”、“清屏”按钮;
Timer1控件为“重拨”服务。
掌握控件组的使用
【实验4代码】
DimnoAsString,iAsInteger
PrivateSubCommand1_Click(indexAsInteger)
Text1.Text=Text1.Text&
index
PrivateSubCommand2_Click()
no=Text1.Text
Text1.Text="
"
i=1
Timer1.Interval=200
Timer1.Enabled=True
PrivateSubCommand3_Click()
PrivateSubTimer1_Timer()
Mid(no,i,1)
i=i+1
Ifi>
Len(no)ThenTimer1.Enabled=False
【实验4典型结果】
【实验5】随机产生10个100-999之间的数以递增顺序存放在列表框中,并实现对列表框内数据插入、删除等操作,使得列表框内数据还是有序。
程序运行界面如下图所示(10分)
掌握数组插入与删除操作
【实验5代码】
PrivateSubcommand1_Click()
Dimi%,j%
Fori=1To10
j=Int(Rnd*900+100)
List1.AddItemj
Dimx%,y%
x=Val(Text1.Text)
Fory=1ToList1.ListCount-1
Ifx<
Val(List1.List(y))ThenExitFor
Nexty
List1.AddItemx,y
Label1.Caption="
列表框有"
&
List1.ListCount&
"
个数据项"
Dima%,b%
a=Val(Text1.Text)
Forb=0ToList1.ListCount-1
Ifa=Val(List1.List(b))ThenList1.RemoveItemb
Nextb
【实验5典型结果】
【实验6】设计一个利用简单组合框对各省、直辖市名称维护的应用程序。
要求:
添加不重复的省或直辖市到组合框中,对不正确的可修改,以按汉字内码顺有序显示。
运行效果如下图所示。
掌握数组常用算法:
插入与删除操作
【实验6代码】
Dimpos%
PrivateSubCombo1_Click()
pos=Combo1.ListIndex
PrivateSubCombo1_keypress(keyasciiAsInteger)
Dimi%,findAsBoolean
Ifkeyascii=13Then
find=False
Fori=0ToCombo1.ListCount-1
IfCombo1.Text=Combo1.List(i)Then
find=True
IfNotfindThen
Combo1.AddItemCombo1.TextCombo1.Text="
EndIf
PrivateSubCommand1_Click()
Combo1.List(pos)=Combo1.Text
PrivateSubForm_Load()
Combo1.AddItem"
上海市"
北京市"
重庆市"
四川省"
陕西省"
Combo1.AddItem"
山西省"
河南省"
山东省"
【实验6典型结果】
【实验7】用比较法对数组中的元素按升序排列,程序运行界面如下图所示。
数组排序
【实验7代码】~
Dima(),i%,j%,t%
a=Array(82,12,78,36,73,90,18,99,67,56)
n=UBound(a)
比较法排序前:
Fori=1Ton
Printa(i);
比较法排序后:
Fori=LBound(a)Ton-1
Forj=i+1Ton
Ifa(i)>
a(j)Then
t=a(i):
a(i)=a(j):
a(j)=t
EndIf
【实验7典型结果】
【实验8】选择法对数组中的元素按升序排列,程序运行界面如下图所示。
【实验8代码】
Dima(),i%,j%,t%,P%
P=i
Ifa(j)<
a(P)ThenP=j
a(i)=a(P):
a(P)=t
Nexti
【实验8典型结果】
【实验9】用冒泡对数组中的元素按升序排列,程序运行如下图所示。
【实验9代码】
Dima(),i%,n%,j%,t%
DimflagAsBoolean
a=Array(12,78,36,73,89,18,90,67,56,99)
Fori=1Ton-1
Forj=1Ton-i
a(j+1)Then
t=a(j):
a(j)=a(j+1):
a(j+1)=t
Printa(j);
【实验9典型结果】
【实验10】编写程序,将随机产生的10个100—200之间的随机整数存入数组,求其中的最大值和最小值,程序运行如下图所示。
求最值
【实验10代码】
Dima%(1To10),i%,j%,n%,t%,min,max
n=UBound(a)
产生后的数据"
a(i)=Int(Rnd*101+100)
max=a
(1):
min=a
(1)
Fori=2Ton
maxThenmax=a(i)
Ifa(i)<
minThenmin=a(i)
最大值为:
max;
最小值为:
min”
【实验10典型结果】
【加分1】利用一维数组,统计一个班学生成绩0~59,60~69,70~79,80~89,90~100各分数段的人数,生成一个各分数段的柱状图。
人数为运行时输入,成绩给定方法要求为键盘输入。
(10分,最高100分)
掌握控件数组的使用
【选做1代码】
【选做1典型结果】
【加分2】从键盘输入10个整数,存放在一个一维数组中,然后将前5个元素与后5个元素交换,即第1个与第10个交换,第2个与第9个交换……(10分,最高100分)
掌握一维数组的使用
【选做2代码】
【选做2典型结果】
实验小结
1.遇到的问题:
2.对课程的建议: