中国石油大学vb题目.docx
- 文档编号:30488334
- 上传时间:2023-08-15
- 格式:DOCX
- 页数:33
- 大小:285.49KB
中国石油大学vb题目.docx
《中国石油大学vb题目.docx》由会员分享,可在线阅读,更多相关《中国石油大学vb题目.docx(33页珍藏版)》请在冰豆网上搜索。
中国石油大学vb题目
一、时钟
程序运行后,每隔2秒命令按钮Command1向右移动100个单位。
PrivateSubForm_Load()
Timer1.Interval=2
EndSub
PrivateSubtimer1_timer()
Callmymove
EndSub
Submymove()
Command1.Left=Command1.Left+200
EndSub
二、滚动条
水平滚动条HScroll1的数值范围0~4000,LargeChange设置为200,SmallChange设置为50,水平滚动条HScroll1的值(Value)代表命令按钮Command1的宽度,当水平滚动条的滑块变化时,命令按钮Command1的宽度随之改变
PrivateSubForm_Load()
HScroll1.Min=0
HScroll1.Max=4000
HScroll1.SmallChange=50
HScroll1.LargeChange=200
Command1.Caption=""
EndSub
PrivateSubHScroll1_Change()
Command1.Width=Val(HScroll1.Value)
EndSub
三、列表框
①点击“->”按钮,将左边列表中的选中项移动到右边列表的末尾;点击“<-”按钮,将右边列表中的选中项移动到左边列表的末尾;点击“=>”按钮,将左边列表所有内容移动到右边列表的末尾;点击“<=”按钮,将右边列表所有内容移动到左边列表的末尾。
PrivateSubForm_Load()
List1.AddItem"A"
List1.AddItem"B"
List1.AddItem"C"
List2.AddItem"d"
List2.AddItem"e"
EndSub
PrivateSubCommand1_Click()
i=List1.ListIndex
Ifi>=0Andi<=List1.ListCount-1Then
List2.AddItemList1.Text
List1.RemoveItemi
EndIf
EndSub
PrivateSubCommand2_Click()
i=List2.ListIndex
Ifi>=0Andi<=List2.ListCount-1Then
List1.AddItemList2.Text
List2.RemoveItemi
EndIf
EndSub
PrivateSubCommand3_Click()
Dimi%
Fori=0ToList1.ListCount-1
List2.AddItemList1.List(i)
Nexti
List1.Clear
EndSub
PrivateSubCommand4_Click()
Dimi%
Fori=0ToList2.ListCount-1
List1.AddItemList2.List(i)
Nexti
List2.Clear
EndSub
②实现追加、插入、修改、删除、清空等5个按钮的功能
SubClrList(AListAsListBox)
Fori=AList.ListCount-1To0Step-1
AList.RemoveItemi
Nexti
EndSub
PrivateSubCommand1_Click()
List1.AddItemText1.Text
EndSub
PrivateSubCommand2_Click()
i=List1.ListIndex
WithList1
Ifi>=0Andi<=.ListCount-1Then.AddItemText1.Text,i
EndWith
EndSub
PrivateSubCommand3_Click()
i=List1.ListIndex
Ifi>=0Andi<=List1.ListCount-1Then
List1.List(i)=Text1.Text
EndIf
EndSub
PrivateSubCommand4_Click()
WithList1
If.ListIndex>-1Then_
.RemoveItem.ListIndex
EndWith
EndSub
PrivateSubCommand5_Click()
ClrListList1'List1.Clear
EndSub
PrivateSubForm_Load()
List1.Clear:
List1.AddItem"语文":
List1.AddItem"数学":
List1.AddItem"英语"
EndSub
③实现第一条、前一条、后一条、最后一条等4按钮的功能
PrivateSubform_load()
List1.AddItem"财务"
List1.AddItem"会计"
List1.AddItem"国贸"
List1.AddItem"营销"
List1.AddItem"工管"
PrivateSubCommand1_Click()
List1.Text=List1.List(0)
EndSub
PrivateSubCommand2_Click()
List1.Text=List1.List(List1.ListIndex-1)
EndSub
PrivateSubCommand3_Click()
List1.Text=List1.List(List1.ListIndex+1)
EndSub
PrivateSubCommand4_Click()
List1.Text=List1.List(List1.ListCount-1)
EndSub
4、复选框
①窗体中4个复选框分别代表4各班级,复选框中的标题文字代表班级人数,用户选择复选框后,点击命令按钮Command1,程序计算出所选班级的总人数,结果放入文本框Text1中。
PrivateSubCommand1_Click()
Dims%
IfCheck1.Value=1Then
s=s+Val(Check1.Caption)
EndIf
IfCheck2.Value=1Then
s=s+Val(Check2.Caption)
EndIf
IfCheck3.Value=1Then
s=s+Val(Check3.Caption)
EndIf
IfCheck4.Value=1Then
s=s+Val(Check4.Caption)
EndIf
Text1.Text=Str(s)
EndSub
PrivateSubForm_Load()
Check1.Caption=30
Check2.Caption=28
Check3.Caption=31
Check4.Caption=29
Label1.Caption="人数"
Text1.Text=""
EndSub
②用户选择复选框后,点击命令按钮Command1,程序根据复选框对文本框Text1中的字体进行相应的设置。
PrivateSubCommand1_Click()
IfCheck1.Value=1ThenText1.FontBold=True
IfCheck2.Value=1ThenText1.FontItalic=True
IfCheck3.Value=1ThenText1.FontUnderline=True
EndSub
五、单选框
用户在数和算法两个框架中各选一个单选按钮,点击命令按钮Command1,程序根据选中单选按钮进行相应的计算,结果放入文本框Text1中。
PrivateSubCommand1_Click()
Dima%,b%,c%,d%
k=1:
t=0
a=Val(Option1.Caption)
b=Val(Option2.Caption)
IfOption1.ValueAndOption3.ValueThen
Fori=1Toa
k=k*i
Nexti
Text1.Text=k
ElseIfOption1.ValueAndOption4.ValueThen
Fori=1Toa
t=t+i
Nexti
Text1.Text=t
ElseIfOption2.ValueAndOption3.ValueThen
Fori=1Tob
k=k*i
Nexti
Text1.Text=k
ElseIfOption2.ValueAndOption4.ValueThen
Fori=1Tob
t=t+i
Nexti
Text1.Text=t
EndIf
EndSub
5、组合框
字体组合框包括宋体、黑体、幼圆、隶书4个列表项;字号组合框列表项的值从12~48,以4递增。
选择字体组合框或者字号组合框中的某一项,点击按钮Command1,文本框中的字体和字号进行相应的改变。
PrivateSubCommand1_Click()
Text1.FontName=Combo1.Text
Text1.FontSize=Combo2.Text
EndSub
PrivateSubForm_Load()
Combo1.AddItem"宋体"
Combo1.AddItem"黑体"
Combo1.AddItem"幼圆"
Combo1.AddItem"隶书"
Fori=12To48Step4
Combo2.AddItemi
Nexti
Text1.Text="VisualBasic"
EndSub
8、定义函数:
①【一个月有几天】一个月的天数:
在窗体Form1中实现函数Days。
参数y和m分别表示年份和月份,函数返回该年该月的天数。
提示:
闰年2月份有29天,平年有28天。
闰年的条件:
1)年份能被4整除,但不能被100整除;2)或年份能被400整除PublicFunctionDays(yAsLong,mAsLong)AsLong……EndFunction
Functionleap(yAsLong)AsBoolean
b1=yMod4=0
b2=yMod100<>0
b3=yMod400=0
leap=b1Andb2Orb3
EndFunction
PublicFunctiondays(yAsLong,mAsLong)AsLong
SelectCasem
Case2
Ifleap(y)Then
days=29
Else
days=28
EndIf
Case4,6,9,11
days=30
Case1,3,5,7,8,10,12
days=31
EndSelect
EndFunction
PrivateSubCommand1_Click()
Dima&,b&,c&
a=Val(InputBox(""))
b=Val(InputBox(""))
c=days(a,b)
MsgBoxc
EndSub
②【三角形】:
在窗体Form1中实现函数Triangle。
a,b,c三个参数为三角形三条边,若三边能构成三角形,通过参数p将周长返回,函数返回值返回三角形面积;否则周长和面积均返回0。
提示:
海伦公式为:
PublicFunctionTriangle(aAsLong,bAsLong,cAsLong,pAsLong)AsDouble……EndFunction
PublicFunctionTriangle(aAsLong,bAsLong,cAsLong,ByRefpAsLong)AsDouble
Diml
Ifa+b<=cOra+c<=bOrb+c<=aThen
Triangle=0:
p=0
Else
p=a+b+c
l=p/2
Triangle=Sqr(l*(l-a)*(l-b)*(l-c))
EndIf
EndFunction
PrivateSubCommand1_Click()
Dima&,b&,c&,p&,s#
a=Val(Text1.Text)
b=Val(Text2.Text)
c=Val(Text3.Text)
s=Triangle(a,b,c,p)
Text4.Text=str(p)
Text5.Text=str(s)
EndSub
③【计算总和】:
在窗体Form1中实现函数Sum。
参数a()为输入的数组,函数返回数组中所有元素之和。
PublicFunctionSum(a()AsLong)AsLong……EndFunction
Functionsum(a()AsLong)AsLong
sum=0
Fori=LBound(a)ToUBound(a)
sum=sum+a(i)
Nexti
EndFunction
PrivateSubCommand1_Click()
Dima(3)AsLong
TextToArrayText1,a
MsgBoxsum(a)
EndSub
④【排序】:
在窗体Form1中实现子程序Sort。
参数a()为数组,子程序Sort对该数组按正序(从小到大)排序。
PublicSubSort(a()AsLong)……EndSub
PublicSubsort(a()AsLong)
Dimi%,j%,k%,p%
Fori=LBound(a)ToUBound(a)-1
p=i
Forj=i+1ToUBound(a)
Ifa(p)>a(j)Thenp=j
Nextj
k=a(i)
a(i)=a(p)
a(p)=k
Nexti
EndSub(王老师的那种算法可能会评测错误)
⑤【判断是否三角形等腰】:
在窗体Form1中实现函数TriangleClass。
a,b,c三个参数为三角形三条边,函数返回三角形的形状。
可能的三角形形状为以下4种:
等边三角形,等腰三角形,一般三角形,不构成三角形。
PublicFunctionTriangleClass(aAsLong,bAsLong,cAsLong)AsString……EndFunction
PrivateSubCommand1_Click()
DimaAsLong,bAsLong,cAsLong
a=Val(InputBox(""))
b=Val(InputBox(""))
c=Val(InputBox(""))
MsgBoxtriangleclass(a,b,c)
EndSub
PublicFunctiontriangleclass(aAsLong,bAsLong,cAsLong)AsString
Dims$
Ifa+b<=cOrb+c<=aOra+c<=bThen
s="不构成三角形"
ElseIfa=bAnda=cAndb=cThen
s="等边三角形"
ElseIfa=bOrb=cOra=cThen
s="等腰三角形"
Else:
s="一般三角形"
EndIf
triangleclass=s
EndFunction
⑥【最大值】:
在窗体Form1中实现函数Max。
参数a()为输入的数组,函数返回数组中的最大值。
PublicFunctionMax(a()AsLong)AsLong……EndFunction
OptionBase1
PrivateSubForm_Load()
Dimn%,a%(),i%
n=Val(InputBox(""))
ReDima(n)
Fori=1Ton
a(i)=Val(InputBox(""))
Nexti
MsgBoxmax(a())
EndSub
PublicFunctionmax(a()AsLong)AsLong
DimiAsInteger
max=a(LBound(a))
Fori=LBound(a)ToUBound(a)
Ifa(i)>maxThenmax=a(i)
Nexti
EndFunction
⑦【排序】:
在窗体Form1中实现子程序Sort。
参数a()为数组,子程序Sort对该数组按逆序(从大到小)排序。
PublicSubSort(a()AsLong)……EndSub
PublicSubSort(a()AsLong)
n=UBound(a)
Fori=0Ton-1
Forj=i+1Ton
Ifa(j)>a(i)Then
t=a(i)
a(i)=a(j)
a(j)=t
EndIf
Nextj
Nexti
EndSub
⑧【完数】:
在窗体Form1中实现函数Perfect。
如果参数x为完全数,该函数返回True;否则返回False。
(完全数:
真因子(除自身以外的因子)之和为其本身)PublicFunctionPerfect(xAsLong)AsBoolean……EndFunction
PrivateSubCommand1_Click()
DimxAsLong
x=Val(InputBox(""))
MsgBoxperfect(x)
EndSub
PublicFunctionperfect(xAsLong)AsBoolean
Fori=0Tox-1
IfxModi=0Then
s=s+i
EndIf
Nexti
Ifs=xThen
perfect=True
Else
perfect=False
EndIf
EndFunction
⑨【符号函数】在窗体Form1中实现函数MySgn。
当参数x>0时,函数MySgn返回1;当参数x<0时,函数MySgn返回-1;当参数x=0时,函数MySgn返回0。
PublicFunctionMySgn(xAsLong)AsLong……EndFunction
PublicFunctionMySgn(ByValxAsLong)AsLong
Ifx>0Then
MySgn=1
ElseIfx=0Then
MySgn=0
Else
MySgn=-1
EndIf
EndFunction
九、TXT:
①复制文件:
复制文件。
点击Command1按钮,程序将文件a.txt中的内容复制到文件b.txt中
PrivateSubCommand1_Click()
Dima$
Open"a.txt"ForInputAs#1
Open"b.txt"ForOutputAs#2
DoWhileNotEOF
(1)
LineInput#1,a
Print#2,a
Loop
Close#2
②逆序:
文件a.txt中每行包括2列内容,分别为姓名,成绩。
单击Command1按钮,程序将a.txt文件中的各行,逆序写入b.txt文件中。
a.txt文件格式示例------------------"小红",90"小明",95"小刚",85b.txt文件格式示例------------------"小刚",85"小明",95"小红",90
PrivateSubCommand1_Click()
Dima$(1To10),b%(1To10),i%,j%
Open"a.txt"ForInputAs#1
Open"b.txt"ForOutputAs#2
i=1
DoWhileNotEOF
(1)
Input#1,a(i),b(i)
i=i+1
Loop
Forj=UBound(b)ToLBound(b)Step-1
Ifb(j)>0Then
Write#2,a(j),b(j)
EndIf
Nextj
Close#2
Close#1
EndSub
③找最大:
文件a.txt中每行包括2列内容,分别为姓名,成绩。
单击Command1按钮,程序找出最高分所在行,将姓名和成绩写入b.txt文件中。
a.txt文件格式示例------------------"小红",90"小明",95"小刚",85b.txt文件格式示例------------------"小明",95
PrivateSubCommand1_Click()
Dima$,b%,c$,d%
Open"a.txt"ForInputAs#1
Open"b.txt"ForOutputAs#2
DoWhileNotEOF
(1)
Input#1,a,b
Ifb>dThend=b:
c=a
Loop
Write#2,c,d
Close#1
Close#2
EndSub
④求和:
文件a.txt中每行包括3列内容,分别为姓名,语文成绩,数学成绩。
单击Command1按钮,程序计算出每名同学的总成绩,写入b.txt文件中。
a.txt文件格式示例------------------"小红",80,90"小明",70,80b.t
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 中国 石油大学 vb 题目