VB期末考试上机题编程答案.docx
- 文档编号:10064644
- 上传时间:2023-05-23
- 格式:DOCX
- 页数:15
- 大小:17.23KB
VB期末考试上机题编程答案.docx
《VB期末考试上机题编程答案.docx》由会员分享,可在线阅读,更多相关《VB期末考试上机题编程答案.docx(15页珍藏版)》请在冰点文库上搜索。
VB期末考试上机题编程答案
VB期末考试上机题编程答案
1.新建一个工程,编写一个找出所有四位幸运数显示在列表框中,并将幸运数的个数显示在文本框中。
所谓幸运数是指凡前两位数字之和等于后两位数字之和的四位数。
将原窗体文件和工程文件分别另存为为f.frm和p.vbp,保存在D盘的VBTest文件夹中。
如不按要求保存,造成文件无法上传,后果自负!
具体要求:
1、程序参考界面如图所示,编程时不得增加或减少界面对象或改变对象的种类,窗体及界面元素大小适中,且均可见;
2、单击"查找"按钮,则开始查找并在列表框中显示结果,并在文本框中显示幸运数的个数;
3、单击“清除”按钮,则将列表框和文本框清空;
4、单击“退出”按钮,结束程序运行;
5、程序中应包含一个过程,用于判断一个数是否是幸运数。
解:
PrivateSubCommand1_Click()
DimiAsInteger,aAsInteger
Fori=1000To9999
Ifk(i)ThenList1.AddItemi:
a=a+1
Nexti
Text1.Text=a
EndSub
PrivateSubCommand2_Click()
List1.Clear
Text1.Text=""
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.新建一个工程,编写求某一自然数因子和的程序。
要求通过文本框获取输入的自然数,计算后将所计算得到的因子和显示在另一文本框中。
将原窗体文件和工程文件分别另存为为f.frm和p.vbp,保存在D盘的VBTest文件夹中。
如不按要求保存,造成文件无法上传,后果自负!
具体要求:
1、程序参考界面如图所示,编程时不得增加或减少界面对象或改变对象的种类,窗体及界面元素大小适中,且均可见;
2、单击"求和"按钮,则在文本框中显示计算得到的因子和;
3、单击“清除”按钮,则将文本框清空,焦点设置在第一个文本框;
4、单击“退出”按钮,结束程序运行;
5、在程序中应包含一个用于计算自然数因子和的函数过程YinZi(n)。
解;PrivateSubCommand1_Click()
DimnAsInteger
n=Val(Text1.Text)
Callyinzi(n)
Text2.Text=yinzi(n)
EndSub
PrivateFunctionyinzi(nAsInteger)AsInteger
DimiAsInteger
Fori=1Ton/2
IfnModi=0Thenyinzi=yinzi+i
Nexti
EndFunction
PrivateSubCommand2_Click()
Text1.Text=""
Text2.Text=""
Text1.SetFocus
EndSub
PrivateSubCommand3_Click()
End
EndSub
3.新建一个工程,编写一个程序,判断随机生成的10个三位正整数是否是降序数。
所谓降序数是指百位数大于十位数且十位数大于个位数的数。
将原窗体文件和工程文件分别另存为为f.frm和p.vbp,保存在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)
List1.AddItema(i)
Ifjx(a(i))ThenList2.AddItema(i)
Nexti
EndSub
PrivateSubCommand2_Click()
List1.Clear
List2.Clear
EndSub
PrivateSubcommand3_click()
End
EndSub
4.新建一个工程,统计一个二进制数中0的个数和1的个数。
将原窗体文件和工程文件分别另存为为f.frm和p.vbp,保存在D盘的VBTest文件夹中。
如不按要求保存,造成文件无法上传,后果自负!
具体要求:
1、程序参考界面如图所示,编程时不得增加或减少界面对象或改变对象的种类,窗体及界面元素大小适中,且均可见;
2、第一个文本框用于输入一个二进制数,单击“统计”按纽,在另外两个文本框中分别显示0和1的个数;
3、单击“清除”按纽,将三个文本框内容清除,且光标落在第一个文本框;
4、单击“退出”按纽,则结束程序运行;
5、程序中应包含一个过程,用于统计字符串中0和1的个数。
解;PrivateSubCommand1_Click()
DimsAsString
s=Text1.Text
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
Text2.Text="0的个数有"&Val(a)&"个"
Text3.Text="1的个数有"&Val(b)&"个"
EndSub
PrivateSubcommand2_click()
Text1.Text=""
Text2.Text=""
Text3.Text=""
Text1.SetFocus
EndSub
PrivateSubcommand3_click()
End
EndSub
5.新建一个工程,编写一个程序,找出随机生成的30个三位正整数中的升序数。
所谓升序数是指百位数小于十位数且十位数小于个位数的数。
将原窗体文件和工程文件分别另存为为f.frm和p.vbp,保存在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))=TrueThenList1.AddItema(i,j)
Text1.Text=Text1.Text&a(i,j)&""
Nextj
Text1.Text=Text1.Text&vbCrLf
Nexti
EndSub
PrivateSubCommand2_Click()
List1.Clear
Text1.Text=""
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>=bThenExitFor
Nexti
Ifi>Len(Str(n))-1Thenjx=True
EndFunction
PrivateSubCommand3_Click()
End
EndSub
6.新建一个工程,编写一个程序,求两个正整数的最小公倍数。
将原窗体文件和工程文件分别另存为为f.frm和p.vbp,保存在D盘的VBTest文件夹中。
如不按要求保存,造成文件无法上传,后果自负!
具体要求:
1、程序参考界面如图所示,编程时不得增加或减少界面对象或改变对象的种类,窗体及界面元素大小适中,且均可见;
2、从两个文本框中输入两个正整数,单击"求解"按钮,在第三个文本框中显示求得的这两个数的最小公倍数;
3、单击“清除”按钮,则将三个文本框清空,并将焦点设置在第一个文本框;
4、单击“退出”按钮,结束程序运行;
5、程序中应包含一个过程,用于求两个正整数的最小公倍数。
解;PrivateSubCommand1_Click()
Dima,bAsInteger
a=Val(Text1.Text)
b=Val(Text2.Text)
Callgcd(a,b)
Text3.Text=gcd(a,b)
EndSub
PrivateSubCommand2_Click()
Text1.Text=""
Text2.Text=""
Text3.Text=""
Text1.SetFocus
EndSub
PrivateSubCommand3_Click()
End
EndSub
PrivateFunctiongcd(ByValnAsInteger,ByValmAsInteger)
DimrAsInteger
DimsAsInteger
s=m*n
DoWhilen<>0
r=mModn
m=n
n=r
Loop
gcd=s/m
EndFunction
7.新建一个工程,编写程序找出所有小于1000的完数。
一个数如果恰好等于它的因子之和,这个数称为完数。
一个数的因子是指除了该数本身以外能被其整除的数。
将原窗体文件和工程文件分别另存为为f.frm和p.vbp,保存在D盘的VBTest文件夹中。
如不按要求保存,造成文件无法上传,后果自负!
具体要求:
1、程序参考界面如图所示,编程时不得增加或减少界面对象或改变对象的种类,窗体及界面元素大小适中,且均可见;
2、单击“查找”按钮,在列表框中显示所有满足条件的完数;
3、单击“清除”按钮,清空列表框;
4、单击“结束”按钮,结束程序运行;
5、程序中应包含一个过程,用于判断某个数是否是完数。
解;PrivateSubCommand1_Click()
DimiAsInteger
Fori=1To1000
Ifk(i)ThenList1.AddItemi
Nexti
EndSub
PrivateSubCommand2_Click()
List1.Clear
EndSub
PrivateSubCommand3_Click()
End
EndSub
PrivateFunctionk(nAsInteger)AsInteger
DimiAsInteger,sAsInteger
Fori=1Ton/2
IfnModi=0Thens=s+i
Nexti
Ifs=nThenk=True
EndFunction
8.新建一个工程,编写一个程序找出所有满足条件的四位数。
这些数本身是素数,而且其每一位数都是素数。
将原窗体文件和工程文件分别另存为为f.frm和p.vbp,保存在D盘的VBTest文件夹中。
如不按要求保存,造成文件无法上传,后果自负!
具体要求:
1、程序参考界面如图所示,编程时不得增加或减少界面对象或改变对象的种类,窗体及界面元素大小适中,且均可见;
2、单击"查找"按钮,在列表框中显示所有满足条件的四位数数;
3、单击“清除”按钮,则将列表框清空;
4、单击“退出”按钮,结束程序运行;
5、程序中应包含一个过程,用于判断一个数是否为素数。
解;PrivateSubCommand1_Click()
DimiAsInteger
Fori=1000To9999
Ifk(i)Andk(Mid(i,1,1))Andk(Mid(i,2,1))Andk(Mid(i,3,1))Andk(Mid(i,4,1))ThenList1.AddItemi
Nexti
EndSub
PrivateSubCommand2_Click()
List1.Clear
EndSub
PrivateSubCommand3_Click()
End
EndSub
PrivateFunctionk(nAsInteger)AsInteger
DimiAsInteger
Fori=2ToSqr(n)
IfnModi=0ThenExitFor
Nexti
Ifi>Sqr(n)Then
k=True
EndIf
EndFunction
9.新建一个工程,编写一个程序,找出数组中最大的元素并显示其位置。
将原窗体文件和工程文件分别另存为为f.frm和p.vbp,保存在D盘的VBTest文件夹中。
如不按要求保存,造成文件无法上传,后果自负!
具体要求:
1、程序参考界面如图所示,编程时不得增加或减少界面对象或改变对象的种类,窗体及界面元素大小适中,且均可见;
2、单击"显示"按钮,则在图片框中显示由随机的二位数组成的5行5列的数组;
3、单击“查找”按钮,则在文本框中显示最大元素及其位置;
4、单击“清除”按钮,则将文本框和图片框清空;
5、单击“退出”按钮,结束程序运行;
6、程序中应包含一个过程,用于查找数组中的最大元素及其所在行和列。
解;OptionBase1
Dima(1To5,1To5)AsInteger
PublicSubCommand1_Click()
Dimi,jAsInteger
Fori=1To5
Forj=1To5
a(i,j)=10+Int(Rnd*90)
Picture1.Printa(i,j);
Nextj
Picture1.Print
Nexti
EndSub
PrivateFunctionk(nAsInteger)AsInteger
Dimi,jAsInteger
k=0
Dima(1To5,1To5)AsInteger
Fori=1To5
Forj=1To5
a(i,j)=10+Int(Rnd*90)
Ifa(i,j)>kThenk=a(i,j)
Nextj
Nexti
EndFunction
PrivateSubCommand2_Click()
DimmaxAsInteger,xAsInteger,yAsInteger
max=0
Fori=1To5
Forj=1To5
Ifa(i,j)>maxThenmax=a(i,j)Andx=iAndy=j
Nextj
Nexti
Text1.Text="最大数组的位置是:
"&"("&x&","&y&")"
EndSub
PrivateSubCommand3_Click()
Text1.Text=""
Picture1.Cls
EndSub
PrivateSubCommand4_Click()
End
EndSub
10.新建一个工程,编写一个程序,求乘积为180,最大公约数为3的数对。
将原窗体文件和工程文件分别另存为为f.frm和p.vbp,保存在D盘的VBTest文件夹中。
如不按要求保存,造成文件无法上传,后果自负!
具体要求:
1、程序参考界面如图所示,编程时不得增加或减少界面对象或改变对象的种类,窗体及界面元素大小适中,且均可见;
2、单击"查找"按钮,则开始查找并在列表框中显示结果,数据相同的两组数中只取一组,小的数在前面,大的数在后面,如12、15和15、12只取12、15这一对;
3、单击“清除”按钮,则将列表框清空;
4、单击“退出”按钮,结束程序运行;
5、程序中应包含一个求两个数的最大公约数的过程。
解;PrivateSubCommand1_Click()
Dimx,yAsInteger
Forx=1ToInt(Sqr(180))
y=180/x
Ifgcd(x,y)=3ThenList1.AddItemx&"和"&y
Nextx
EndSub
PrivateSubCommand2_Click()
List1.Clear
EndSub
PrivateSubCommand3_Click()
End
EndSub
PrivateFunctiongcd(ByValnAsInteger,ByValmAsInteger)
DimrAsInteger
DoWhilen<>0
r=mModn
m=n
n=r
Loop
gcd=m
EndFunction
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VB 期末考试 上机 编程 答案