VB实验指导书测试题参考答案.docx
《VB实验指导书测试题参考答案.docx》由会员分享,可在线阅读,更多相关《VB实验指导书测试题参考答案.docx(15页珍藏版)》请在冰豆网上搜索。
![VB实验指导书测试题参考答案.docx](https://file1.bdocx.com/fileroot1/2023-1/31/95876cf9-e21b-42c9-a81e-385089ec2cf6/95876cf9-e21b-42c9-a81e-385089ec2cf61.gif)
VB实验指导书测试题参考答案
第1章测试题答案一、选择题AABD
第2章测试题答案一、选择题BCDACACC二、填空题
1.Gotfocus2.Lostfocus3.Setfocus4.Style,15.S(165)6.Vbp7.18.ScrollBars
三、编程题
1.答:
PrivateSubForm_Click()
Form1.BackColor=vbBlue
EndSub
PrivateSubForm_DblClick()
Form1.BackColor=vbRed
EndSub2.答:
(1)若在设计状态完成:
在窗体上放一标签框,各对象属性按下表进行设置即可。
对象
属性
属性值
Form1
Caption
示例
BackColor
白色
StartUpPosition
2
Label1
Caption
欢迎使用VB6.0!
BackColor
蓝色
ForeColor
黄色
Font
黑体斜体20号
(2)若在运行状态完成:
编写窗体的Load事件过程如下:
PrivateSubForm_Load()
Form1.BackColor=vbWhite
Label1.Caption="欢迎使用VB6.0!
"
Label1.ForeColor=vbYellow
Label1.BackColor=vbBlue
Label1.FontName="黑体"
Label1.FontItalic=True
Label1.FontSize=20
EndSub
第3章测试题答案一、选择题BBDBCADA
二、填空题1.False”cde”2.”bcd”-123.True”abc123xy”
4.A*exp(-2*t)*sin(50*t+3)5.4/3*3.1416*r^36.Long&
7.Double#8.关系逻辑
第4章测试题答案一、选择题BBBACADCDAD
二、填空题1.判断奇偶数
InputBox("输入一个整数",”4-奇偶数”)
IfaMod2=1Then
Else
MsgBoxa&"是偶数"
2.计算Y值Val(Text1.Text)
x>100Then
x>0Then
Else
3.购物优惠x
Is>5000
Is>3000
Is>2000
Is>1000
CaseElse
4.1+2+3+。
。
。
+N>1000的最小N值
Untils>1000
s=s+n
5.输出图形
i=1To6
j=1To2*i-1
Print"*";
Nextj
三、编程题1.判断任意一个三位正整数是否为水仙花数。
PrivateSubCommand1_Click()
k=InputBox("输入3位正整数")
s1=Val(Mid(k,1,1))
s2=Val(Mid(k,2,1))
s3=Val(Mid(k,3,1))
Ifs1^3+s2^3+s3^3=Val(k)Then
MsgBoxk+"是水仙花数"
Else
MsgBoxk+"不是水仙花数"
EndIf
EndSub
2.找出不大于1000的最大素数。
PrivateSubCommand1_Click()
DimIAsInteger,JAsInteger
ForI=1000To1Step-1
K="I是素数"'先假设I是素数
'以下判断I是否是素数
ForJ=2ToI-1
IfIModJ=0ThenK="I不是素数"
NextJ
IfK="I是素数"ThenPrintI:
ExitFor
NextI
EndSub
3.用近似公式计算ex值:
PrivateSubCommand1_Click()
DimxAsInteger,iAsInteger,kAsDouble
DimexAsDouble,tAsDouble
x=Val(Text1.Text)
ex=1:
i=0:
k=1:
t=1
DoWhileAbs(t)>=0.000001
i=i+1
k=k*i
t=x^i/k
ex=ex+t
Loop
Text2.Text=ex
EndSub
4.求
的值。
PrivateSubForm_Click()
DimiAsInteger,sAsDouble
s=0
Fori=1To100
s=s+(-1)^(i-1)/i
Nexti
Print"s=";s
EndSub
5.求
的值。
PrivateSubCommand1_Click()
Dimx,n,s,i,j,k,m
s=1
x=Val(Text1.Text)
n=Val(Text2.Text)
m=1
Fori=1Ton
m=m*x*x
k=1
Forj=2To2*n
k=k*j
Nextj
s=s+(-1)^n*m/k
Nexti
Text3.Text=s
EndSub
第5章测试题及答案一、选择题AACBCCCCDBBABCCB
二、程序填空1.找最大数组元素:
Explicit
Option
A(4,5)
Randomize
i=1To4
j=1To5
Int(90*Rnd)+10
Nexti
A(1,1)
i=1To4
j=1To5
A(i,j)
A(i,j)
i
j
2.互不相同的数组元素:
Whilen<6
Int(((9-1+1)*Rnd)+1)
k
"不是重复数"
n=n+1
A(n)
Text1.Text+Str(A(i))
3.插入数组元素:
A()
Val(Text1.Text)
Val(Text2.Text)
插入的下标+1
A(i-1)
插入的数组元素
"A("&i&")="&A(i)
4.4个数排序:
Ifk1k1=k3:
k3=t'到此时,k1是三个数中最大数
Ifk2k2=k3:
k3=t'到此时,k3是三个数中最小数
Text2.Text
Val(Text3.Text)
d=Val(Text4.Text)
a,b,d
三个数排序b,c,d
""+CStr(b)+""+CStr(c)+""+CStr(d)
5.判断完全数:
k+1
A(k)
i
Sum+i
完全数
完全数(N)
A(k)
N;"不是完全数"
6.升序数:
Mid(s,2,1)
k3=Mid(s,3,1)
k1<=k2Andk2<=k3
True
升序数
Randomize
Int((999-100+1)*Rnd)+100
A(i);
i/5=INT(i/5)
i=1To10
A(i)
三、编程题1.找最小数组元素:
'在(通用)处:
要求强制显式声明变量,定义数组的默认下界为1
OptionExplicit
OptionBase1
'在窗体模块的(通用)处定义数组A,该数组可被本窗体的所有过程调用
DimA(3,4)AsInteger
'“产生数组”按钮
PrivateSubCommand1_Click()
DimiAsInteger,jAsInteger
Randomize'初始化随机数发生器
'生成一个3行4列的数组,并输出到图片框中
Fori=1To3'i是行号,i从1循环到3
Forj=1To4'j是列号,j从1循环到4
A(i,j)=Int((999-100+1)*Rnd)+100'用随机函数产生一个3位正整数赋给数组元素A(i,j)
Picture1.PrintA(i,j);'在图片框中输出A(i,j),不换行
Nextj'列号增加1
Picture1.Print'当1行结束后(行号要增加1时)再换行
Nexti'行号增加1
EndSub
'“开始查找”按钮
PrivateSubCommand2_Click()
DimiAsInteger,jAsInteger
Dim最小值AsInteger
Dim最小值行下标AsInteger,最小值列下标AsInteger
最小值=A(1,1)'先假设A(1,1)是最小值
'用穷举法将所有的数组元素与最小值比较
Fori=1To3'i是行号,i从1循环到3
Forj=1To4'j是列号,j从1循环到4
IfA(i,j)<最小值Then'如果有更小的数组元素A(i,j),那么
最小值=A(i,j)'最小值等于A(i,j)
最小值行下标=i'记录最小值的行下标
最小值列下标=j'记录最小值的列下标
EndIf
Nextj
Nexti
Picture1.Print'在图片框中输出一个空行
'输出最小数组元素及下标位置
Picture1.Print"最小元素A("&最小值行下标&","&最小值列下标&")="&最小值
EndSub
2.找自然数对:
OptionExplicit
OptionBase1
PrivateSubCommand1_Click()
DimmAsInteger,nAsInteger,kAsInteger,iAsInteger
DimA(30)AsInteger,B(30)AsInteger
k=0'用k来记录数组元素的个数,也是数组下标,k的初值为0
Form=1To30
Forn=m+1To30
IfSqr(m+n)=Int(Sqr(m+n))AndSqr(n-m)=Int(Sqr(n-m))Then
k=k+1
A(k)=m
B(k)=n
EndIf
Nextn
Nextm
Fori=1Tok
PrintTab(5);A(i),Tab(15);B(i)
Nexti
EndSub
3.求算式:
Sub阶乘(nAsInteger,pAsInteger)
DimiAsInteger
p=1
Fori=1Ton
p=p*i
Nexti
EndSub
PrivateSubCommand1_Click()
DimmAsInteger,nAsInteger
Dimp1AsInteger,p2AsInteger,p3AsInteger
m=Val(Text1.Text)
n=Val(Text2.Text)
Call阶乘(m,p1)
Call阶乘(n,p2)
Call阶乘(m-n,p3)
Text3.Text=p1/(p2*p3)
EndSub
4.求最小公倍数:
OptionExplicit
'自定义函数"最小公倍数",参数M>N,求出M和N的最小公倍数
Function最小公倍数(MAsInteger,NAsInteger)AsInteger
DimKAsInteger
ForK=MToM*N
IfK\M=K/MAndK\N=K/NThen
最小公倍数=K
ExitFor
EndIf
NextK
EndFunction
PrivateSubCommand1_Click()
DimMAsInteger,NAsInteger,RAsInteger
M=Val(Text1.Text)
N=Val(Text2.Text)
'让N中保存小数
IfMM=N:
N=R
'调用函数“最小公倍数(M,N)”求出M和N的最小公倍数
Text3.Text=最小公倍数(M,N)
EndSub
第6章测试题答案一选择题1A2A3B4C5D6D7C8B9B10C
11B12B13C14B15B16A
二、填空题
1.AddItem2.ListCount3.选中状态4.框架5.LoadPicture6.SmallChange
7.Scroll8.False9.毫秒
10.Pict1.Picture=loadPicture(“c:
\abc.jpg”)11.选中12.不可以
13114True1510016Enabeld17BorderStyle18选中19Timer
20Scroll21clear
220
List1.ListIndex
List1.ListCount
23Change
AddItem
24单击了窗体空白处
文本框的文字已改变
25True
第7章测试题答案
1c:
\ab\cd\ab.txt,ab.txt2a)OpenFileb)Word文档(*.Doc)C)所有文件(*.*)
Word文档(*.Doc)文本文件(*.Txt)
3cdlCFBothOrcdlCFEffects4“MicrosoftCommonDialogContral6.0”
5CommonDialog1.ShowSave6D7C8D
第8章测试题答案1D2C3C4D5A6D7A8MouseDown(MouseUp),PopupMenu
第9章测试题答案一、选择题ABBDDB
二、编程题‘首先要自定义用户类型,写在窗体的通用部分
PrivateTypestud
姓名AsString*8
性别AsString*4
年龄AsInteger
名次AsIntegerEndType
DimtAsstud
PrivateSubCommand1_Click()
'向随机文件中写记录
Open"out.txt"ForRandomAs#1Len=Len(t)'打开随机文件,注意要有Len=Len(t)
ForI=1To3'用FOR循环写入三条记录
t..姓名=InputBox("请输入学生姓名")
t..性别=InputBox("请输入学生性别")
t..年龄=InputBox("请输入学生年龄")
t..名次=InputBox("请输入学生名次")
Put#1,I,t'随机文件记录写入的命令
NextI
Close#1
EndSub
PrivateSubCommand2_Click()
‘从随机文件中读记录,并从文本框text1中输出
Open"out.txt"ForRandomAs#1Len=Len(t)‘打开随机文件,注意要有Len=Len(t)
DoWhileNotEOF
(1)‘此处也可用用FOR结构
i=i+1
Get#1,i,t‘随机文件记录读取的命令
Text1.Text=Text1.Text&t.姓名&t.性别&t.年龄&t.名次&vbCrLf
Loop
EndSub
第10章测试题答案DABAABBCAD
16.1综合练习一答案一、选择题(每小题1分,共30题30分)
ACABBAAAADBABAAABADABDACDCDADBCCADDC
二、根据程序写运行结果(每小题4分,共24分)
1.822.123.t=6
4.-505.06.1
三、填空题(每空1分,共10分)
(1)0
(2)True(3)5000(4)End(5)Caption(6)Click(7)C3.SetFocus(8)Action
(9)CommonDialog1.Color(10)2
四、判断题(每题1分,共10分,对的打√,错的打╳)
1
2
3
4
5
6
7
8
9
10
×
∨
∨
∨
×
×
×
∨
∨
×
五、程序填空(每空2分,共10分)
1.AsInteger2.Y3.CaseElse(或Is>5)
4.EndSelect5.Z
六、编程题(每题10分,共10分)
DimA(6)AsInteger
PrivateSubCommand1_Click()
Randomize'初始化随机发生器
Text1.Text=""'清空第一个文本框
Fori=1To6
A(i)=Int((999-100+1)*Rnd+100)'随机产生2位正整数
Text1.Text=Text1.Text+Str(A(i))'在文本框输出数组
Nexti
EndSub
PrivateSubCommand2_Click()
'选择排序
Text2.Text=""'清空第二个文本框
Fori=1To5
Forj=i+1To6
IfA(i)>A(j)Thent=A(i):
A(i)=A(j):
A(j)=t
Nextj
Nexti
'输出排序结果
Fori=1To6
Text2.Text=Text2.Text&""&A(i)'在第二个文本框输出排序结果
Nexti
EndSub
16.2综合练习二答案
一、选择题(每小题1分,共30题30分)
CDBBBCDBDBCAABC
BCBCCCBDBDAACAA
二、填空题(每空1分,共10分)
(1)Exe
(2)Form1.Hide(3)分号或;(4)Print或Form1.Print
(5)Form1.Caption=“计算机程序”(6)Command2.SetFocus
(7)Text1.PasswordChar=”#”(8)Change(9)DimXAsSingle(10)False
三、判断题(每题1分,共10分,对的打√,错的打╳)
1
2
3
4
5
6
7
8
9
10
×
∨
∨
∨
∨
×
×
×
×
∨
四、读程序,写运行结果(共5题,每题4分,共20分)
1.221343.14.50785.中国韩国香港
五、程序填空(每空2分,共12分)
[1]100+Int(899*Rnd)[2]Put#1,i,k[3]Close#1[4]DimiAsInteger[5]iMod10
[6]x1^3+x2^3+x3^3=i
六、编程题(每题9分,共18分),说明:
程序答案并不唯一
1.
(1)、进行部分对象的属性设置,共3分,每个空1分。
①True②ScrollBars③Text
(2)、事件代码设计,共6分。
PrivateSubCheck1_Click()
IfCheck1.Value=1Then
Text1.FontBold=True
Else
Text1.FontBold=False
EndIf
EndSub
PrivateSubCheck2_Click()
IfCheck2.Value=1Then
Text1.FontItalic=True
Else
Text1.FontItalic=False
EndIf
EndSub
PrivateSubCheck3_Click()
IfCheck3.Value=1Then
Text1.FontUnderline=True
Else
Text1.FontUnderline=False
EndIf
EndSub
2、事件代码设计,共9分
PrivateSubCommand1_Click()
X=Val(Text1.Text)
Text2.Text=“是素数”
Fori=2toX-1
Ifx/i=int(x/i)Then
Text2.Text=“不是素数”
ExitFor
Endif
Nexti
EndSub