VB期末考试上机题编程答案.docx
《VB期末考试上机题编程答案.docx》由会员分享,可在线阅读,更多相关《VB期末考试上机题编程答案.docx(11页珍藏版)》请在冰豆网上搜索。
![VB期末考试上机题编程答案.docx](https://file1.bdocx.com/fileroot1/2022-11/17/402e8ea0-b0d6-4491-8f2c-e324509f3157/402e8ea0-b0d6-4491-8f2c-e324509f31571.gif)
VB期末考试上机题编程答案
VB期末考试上机题编程答案
1.新建一个工程,编写一个找出所有四位幸运数显示在列表框中,并将幸运数的个数显示在文本框中。
所谓幸运数是指凡前两位数字之和等于后两位数字之和的四位数。
将原窗体文件和工程文件分别另存为为和,保存在D盘的
VBTest文件夹中。
如不按要求保存,造成文件无法上传,后果自负!
具体要求:
1、程序参考界面如图所示,编程时不得增加或减少界面对象或改变对象的种类,窗体及界面元素大小适中,且均可见;
2、单击"查找"按钮,则开始查找并在列表框中显示结果,并在文本框中显示幸运数的个数;3、单击“清除”按钮,则将列表框和文本框清空;
4、单击“退出”按钮,结束程序运行;
5、程序中应包含一个过程,用于判断一个数是否是幸运数。
解:
PrivateSubCommand1_Click()
DimiAsInteger,aAsInteger
Fori=1000To9999
Ifk(i)Theni:
a=a+1
Nexti
=a
EndSub
PrivateSubCommand2_Click()
一III!
EndSub
PrivateSubCommand3_Click()
End
EndSub
PrivateFunctionk(nAsInteger)AsInteger
DimiAsInteger,aAsInteger,s1AsInteger,s2AsInteger
DimsAsString
s=CStr(n)
Fori=1ToLen(s)/2
s1=s1+Mid(s,i,1)
s2=s2+Mid(s,Len(s)+1-i,1)
Nexti
Ifs1=s2Thenk=True
EndFunction
2.新建一个工程,编写求某一自然数因子和的程序。
要求通过文本框获取输入的自然数,计算后将所计算得到的因子和显示在另一文本框中。
将原窗体文件和工程文件分别另存为为和,保存在D盘的VBTest文件夹中。
如不按要求保存,造成文件无法上传,后果自负!
具体要求:
1、程序参考界面如图所示,编程时不得增加或减少界面对象或改变对象的种类,窗体及界面元素大小适中,且均可见;
2、单击"求和"按钮,则在文本框中显示计算得到的因子和;
3、单击“清除”按钮,则将文本框清空,焦点设置在第一个文本框;
4、单击“退出”按钮,结束程序运行;
5、在程序中应包含一个用于计算自然数因子和的函数过程YinZi(n)。
解;PrivateSubCommand1_Click()
DimnAsInteger
n=Val
Callyinzi(n)
=yinzi(n)
EndSub
PrivateFunctionyinzi(nAsInteger)AsIntegerDimiAsInteger
Fori=1Ton/2
IfnModi=0Thenyinzi=yinzi+i
Nexti
EndFunction
PrivateSubCommand2_Click()
一III!
一III!
Text1.SetFocus
EndSub
PrivateSubCommand3_Click()
End
EndSub
3.新建一个工程,编写一个程序,判断随机生成的10个三位正整数是否是
降序数。
所谓降序数是指百位数大于十位数且十位数大于个位数的数。
将原窗体文件和工程文件分别另存为为和,保存在D盘的VBTest文件夹中。
如不按要
求保存,造成文件无法上传,后果自负!
具体要求:
1、程序参考界面如图所示,编程时不得增加或减少界面对象或改变对象的种类,窗体及界面元素大小适中,且均可见;
2、单击"执行"按钮,随机生成10个三位正整数,显示在左边的列表框中,将判断结果参照样图的格式显示在右边的列表框中;
3、单击“清除”按钮,则将两个列表框清空;
4、单击“退出”按钮,结束程序运行;
5、程序中应包含一个名为jx的函数过程,用于判断一个正整数是否为降序数。
解;PrivateFunctionjx(nAsInteger)AsBoolean
DimiAsInteger
DimaAsInteger,bAsInteger
Fori=2ToLen(Str(n))
a=Val(Mid(n,i-1,1))
b=Val(Mid(n,i,1))
Ifa<=bThenExitFor
Nexti
Ifi>Len(Str(n))-1Thenjx=True
EndFunction
PrivateSubcommand1_click()
Dima(1To10)AsInteger
DimiAsInteger
Fori=1To10
a(i)=1000+Int(Rnd*9000)
a(i)
Ifjx(a(i))Thena(i)
Nexti
EndSub
PrivateSubCommand2_Click()
EndSub
PrivateSubcommand3_click()
End
EndSub
4.新建一个工程,统计一个二进制数中0的个数和1的个数。
将原窗体文件和工程文件分别另存为为和,保存在D盘的VBTest文件夹中。
如不按要求保存,造成文件无法上传,后果自负!
具体要求:
1、程序参考界面如图所示,编程时不得增加或减少界面对象或改变对象的种类,窗体及界面元素大小适中,且均可见;
2、第一个文本框用于输入一个二进制数,单击“统计”按纽,在另外两个文本框中分别显示0和1的个数;
3、单击“清除”按纽,将三个文本框内容清除,且光标落在第一个文本框;
4、单击“退出”按纽,则结束程序运行;
5、程序中应包含一个过程,用于统计字符串中0和1的个数。
解;PrivateSubCommand1_Click()
DimsAsStrings=
DimaAsInteger,bAsInteger
Callfun(s)
EndSub
PrivateSubfun(sAsString)
DimiAsInteger,aAsInteger,bAsInteger
Fori=1ToLen(s)
IfMid(s,i,1)=0Then
a=a+1
Else:
b=b+1
EndIf
Nexti
="0的个数有"&Val(a)&"个"
="1的个数有"&Val(b)&"个"
EndSub
PrivateSubcommand2_click()
一III!
III!
一III!
EndSub
PrivateSubcommand3_click()
End
EndSub
5.新建一个工程,编写一个程序,找出随机生成的30个三位正整数中的升
序数。
所谓升序数是指百位数小于十位数且十位数小于个位数的数。
将原窗体文件和工程文件分别另存为为和,保存在D盘的VBTest文件夹中。
如不按要求保存,造成文件无法上传,后果自负!
具体要求:
1、程序参考界面如图所示,编程时不得增加或减少界面对象或改变对象的种类,窗体及界面元素大小适中,且均可见;
2、单击"执行"按钮,随机生成30个三位正整数,按6个数一行的格式显示在多行文本框中,再找出其中的升序数输出到列表框;
3、单击“清除”按钮,则将文本框和列表框清空;
4、单击“退出”按钮,结束程序运行;
5、程序中应包含一个名为jx的函数过程,用于判断一个正整数是否为升序数。
解:
PrivateSubCommand1_Click()
Dima(1To6,1To5)AsInteger
DimiAsInteger,jAsInteger
Fori=1To6
Forj=1To5
a(i,j)=10+Int(Rnd*20)
Ifjx(a(i,j))=TrueThena(i,j)
=&a(i,j)&""
Nextj
=&vbCrLf
Nexti
EndSub
PrivateSubCommand2_Click()
一III!
EndSub
PrivateFunctionjx(nAsInteger)AsInteger
DimiAsInteger
DimaAsInteger,bAsInteger
Fori=2ToLen(Str(n))
a=Val(Mid(n,i-1,1))b=Val(Mid(n,i,1))
Ifa>=bThenExitForNexti
Ifi>Len(Str(n))-1Thenjx=TrueEndFunction
PrivateSubCommand3_Click()
End
EndSub
6.新建一个工程,编写一个程序,求两个正整数的最小公倍数。
将原窗体文件和工程文件分别另存为为和,保存在D盘的VBTest文件夹中。
如不按要求保
存,造成文件无法上传,后果自负!
具体要求:
1、程序参考界面如图所示,编程时不得增加或减少界面对象或改变对象的种类,窗体及界面元素大小适中,且均可见;
2、从两个文本框中输入两个正整数,单击"求解"按钮,在第三个文本框中显示求得的这两个数的最小公倍数;
3、单击“清除”按钮,则将三个文本框清空,并将焦点设置在第一个文本框;
4、单击“退出”按钮,结束程序运行;
5、程序中应包含一个过程,用于求两个正整数的最小公倍数。
解;PrivateSubCommand1_Click()
Dima,bAsInteger
a=Val
b=Val
Callgcd(a,b)
=gcd(a,b)
EndSub
PrivateSubCommand2_Click()
III!
一III!
一III!
EndSub
PrivateSubCommand3_Click()
End
EndSub
PrivateFunctiongcd(ByValnAsInteger,ByValmAsInteger)
DimrAsInteger
DimsAsIntegers=m*n
DoWhilen<>0r=mModnm=nn=r
Loop
gcd=s/m
EndFunction
7.新建一个工程,编写程序找出所有小于1000的完数。
一个数如果恰好等
于它的因子之和,这个数称为完数。
一个数的因子是指除了该数本身以外能被其整除的数。
将原窗体文件和工程文件分别另存为为和,保存在D盘的VBTest文件夹中。
如不按要求保存,造成文件无法上传,后果自负!
具体要求:
1、程序参考界面如图所示,编程时不得增加或减少界面对象或改变对象的
种类,窗体及