第2题'【程序填空】
'功能:
完成程序,使程序输出值为15
'-------------------------------------------------------
PrivateSubCommand1_Click()
'**********SPACE**********
Dimi,j,x,【?
】AsInteger
Fori=1To4
x=4
Forj=1To3
x=3
'**********SPACE**********
For【?
】=1To2
'**********SPACE**********
x=x+【?
】
Nextk
Nextj
Nexti
Printx
EndSub
答案:
1).k2).k3).6
第3题'【程序填空】
'功能:
用输入对话框输入x,根据如图公式计算对应的y,
'在窗体上输出y的值。
'-------------------------------------------------------
PrivateSubCommand1_Click()
'**********SPACE**********
DimxAsSingle,【?
】AsSingle
'**********SPACE**********
x=Val(【?
】("Pleaseinputx:
","输入X的值"))
Ifx=10Then
'**********SPACE**********
【?
】
ElseIfx>10Then
'**********SPACE**********
y=Sqr(x)【?
】
Else
y=2*x^3+6
EndIf
Printy
EndSub
答案:
1).y2).InputBox3).y=04).+Sin(x)
四、程序改错共3题(共计30分)
第1题'【程序改错】
'题目:
设窗体中有图片框Pic1,现要求在其中绘制10个同心圆,
'然后将此图以Test.BMP作文件名存入磁盘。
'------------------------------------------------
OptionExplicit
PrivateSubCommand1_Click()
DimXAsInteger
DimYAsInteger
DimIAsInteger
Dimrad(9)AsInteger
X=Pic1.ScaleWidth/2
Y=Pic1.ScaleHeight/2
'**********FOUND**********
ForI=1To9
rad(I)=500*Rnd
NextI
I=9
'**********FOUND**********
DoUntilI<1
Pic1.Circle(X,Y),rad(I),RGB(256*Rnd,256*Rnd,256*Rnd)
'**********FOUND**********
I=I+1
Loop
SavePicturePic1.Image,"Test.BMP"
EndSub
答案:
1).fori=0to9或fori=0to9step1
2).DoUntilI<0或dountil0>i
3).I=I-1或i=-1+i
第2题'【程序改错】
'题目:
从计算机输入三个数,找出中间数
'------------------------------------------------
OptionExplicit
PrivateSubFindMidNum()
DimxAsInteger,yAsInteger,zAsInteger,AAsInteger
x=InputBox("PLEASEINPUTTHEFIRSTNUMBER")
y=InputBox("PLEASEINPUTTHESECONDNUMBER")
z=InputBox("PLESSEINPUTTHETHIRDNUMBER")
'**********FOUND**********
Ifx>yThen
A=x
x=y
y=A
EndIf
'**********FOUND**********
Ify=zThen
Printy
'**********FOUND**********
ElseIfx=zThen
Printz
Else
Printx
EndIf
EndSub
PrivateSubForm_Click()
FindMidNum
EndSub
答案:
1).IfxxThen
2).Ify>=zThen或Ifz<=yThen
3).ElseIfx>=zThen或ElseIfz<=xThen
第3题'【程序改错】
'题目:
输出40以内能够被3整除的数,要求输出结果为5
'个数一行。
'------------------------------------------------
OptionExplicit
PrivateSubForm_Click()
Cls
DimxAsInteger
DimiAsInteger
'**********FOUND**********
i=1
Forx=1To40
If(x/3)=(x\3)Then
'**********FOUND**********
Printx
i=i+1
EndIf
'**********FOUND**********
IfiMod3=0Then
Print
EndIf
Nextx
EndSub
答案:
1).i=02).Printx;3).ifimod5=0then
五、程序设计共2题(共计20分)
第1题'【程序设计】
'题目:
编写函数fun其功能是:
根据整型形参m,计算如下公式的值:
y=1/5+1/6+1/7+1/8+1/9+1/10...+1/(m+5)例如:
若m=9,则应输出:
1.168229'要求:
函数中用到的中间变量必须声明为Single类型。
'-------------------------------------------------
答案:
----------------------
DimyAsDouble
DimiAsInteger
Fori=0Tom
y=y+1/(i+5)
Next
Fun=y
----------------------
第2题(10.0分)题号:
488
'【程序设计】
'题目:
(事件)单击窗体。
(响应)已知sum=1/2!
-1/4!
+1/6!
-1/8!
+1/10!
请将sum结果值输出到窗体上。
使用dowhile...loop语句完成程序
'----------------------------------------
答案:
----------------------
DimiAsInteger
DimnAsInteger
i=1
p=1
DoWhilei<=10
p=p*i
IfiMod2=0Then
n=n+1
sum=sum+(-1)^(n-1)/p
EndIf
i=i+1
Loop
Printsum
----------------------
一、判断共10题(共计10分)
第1题所有的对象都有caption属性.答案:
N
第2题事件过程由某个用户事件或系统事件触发执行,它不能被其它过程调用.答案:
N
第3题当定时器控件的interval属性值设置为0时,会连续不断地激发Timer事件.答案:
N
第4题当需要在同一窗体中建立几组相互独立的单选钮时,就要用框架将每一组单选钮框起来.答案:
Y
第5题在窗体模块的声明部分中用Private声明的变量的有效范围是其所在的工程.答案:
N
第6题VisualBasic程序的运行可以从Main()过程启动,也可以从某个窗体启动.答案:
Y
第7题VB允许设计和使用用户自己设计的控件.答案:
Y
第8题在VB中,可以将在Picture控件中绘制的图形以文件的形式保存在磁盘上.答案:
Y
第9题Function函数有参数传递,并且一定有返回值.答案:
N
第10题在VB的工具栏中包括了所有的VB控件,我们不能再加载其他的控件.答案:
N
置顶
二、单项选择共10题(共计10分)
第1题代数式x1-|a|+ln10+sin(x2+2л)/cos(57o)对应的VisualBasic表达式是().
A:
X1-Abs(A)+Log(10)+Sin(X2+2*3.14)/Cos(57*3.14/180)
B:
X1-Abs(A)+Log(10)+Sin(X2+2*л)/Cos(57*3.14/180)
C:
X1-Abs(A)+Log(10)+Sin(X2+2*3.14)/Cos(57)
D:
X1-Abs(A)+Log(10)+Sin(X2+2*л)/Cos(57)答案:
A
第2题设计动画通常使用时钟控件()来控制动画速度.
A:
EnabledB:
IntervalC:
TimerD:
Move答案:
B
第3题要把一个命令按钮设置成无效,应设置其哪一属性值().
A:
VisibleB:
EnabledC:
DefaultD:
Cancel答案:
B
第4题设a=10,b=5,c=1,执行语句Printa>b>c后,窗体上显示的是().
A:
TrueB:
FalseC:
1D:
出错信息答案:
B
第5题任何控件都具有的属性是().
A:
TEXTB:
CAPTIONC:
NAMED:
FORECOLOR答案:
C
第6题当事件能被触发时,()就会对该事件作出响应.
A:
对象B:
程序C:
控件D:
窗体答案:
A
第7题下列叙述正确的是().
A:
对象是包含数据又包含对象数据进行操作的方法的物理实体
B:
对象的属性只能在属性窗口中设置
C:
不同的对象能识别不同的事件
D:
事件过程都要由用户点击对象来触发答案:
C
第8题下列关于设置控件属性的叙述正确的是().
A:
用户必须设置属性值B:
所有的属性值都可以由用户随意设定
C:
属性值不必一一重新设置D:
不同控件的属性项都完全一样答案:
C
第9题表达式2+3*4^5-SIN(X+1)/2中最先进行的运算是().
A:
4^5B:
3*4C:
x+1D:
SIN答案:
C
第10题一个对象可以执行的动作和可被对象识别的动作分别称为().
A:
事件、方法B:
方法、事件C:
属性、方法D:
过程、事件答案:
A
三、程序填空共3题(共计30分)
第1题'【程序填空】
'下面过程max()用于求3个数中最大值,利用这个过程求5个数中最大值。
'-------------------------------------------------------
PrivateSubForm_Click()
Print"5个数34、124、68、73、352的最大值是:
"
max1=max(34,124,68)
'**********SPACE**********
max1=【?
】
Printmax1
EndSub
PublicFunctionmax(ByVala%,ByValb%,ByValc%)
'**********SPACE**********
If【?
】Then
m=a
Else
m=b
EndIf
'**********SPACE**********
If【?
】Then
max=m
Else
max=c
EndIf
EndFunction
答案:
1).max(max1,73,352)2).a>b或bc或c第2题'【程序填空】
'功能:
输入数字1-7,显示其对应是星期几(例:
输入1,显示星期日,
'如果输入其它内容,一律显示"输入错误")
'-------------------------------------------------------
PrivateSubCommand1_Click()
dimxasinteger
dimyasstring
x=val(text1.text)
'**********SPACE**********
【?
】
case1
y="今天是星期日"
case2
y="星期一"
case3
y="星期二"
case4
y="星期三"
case5
y="星期四"
case6
'**********SPACE**********
【?
】
case7
y="星期六"
'**********SPACE**********
【?
】
y="输入错误"
endselect
Text2.Text=y
EndSub
答案:
1).selectcasex2).y="星期五"3).CaseElse
第3题'【程序填空】
'功能:
以下程序段用于求∑n!
'-------------------------------------------------------
PrivateSubForm_Click()
DimsumAsInteger,nAsInteger
n=InputBox("请输入一个正整数")
sum=0
Fori=1Ton
'**********SPACE**********
sum=【?
】
Nexti
Printsum
EndSub
PrivateFunctionmul(ByValxAsInteger)
DimsAsInteger,iAsInteger
s=1
'**********SPACE**********
Fori=1To【?
】
s=s*i
Nexti
'**********SPACE**********
【?
】
EndFunction
答案:
1).sum+mul(i)2).x3).mul=s
四、程序改错共3题(共计30分)
第1题'【程序改错】
'题目:
输出40以内能够被3整除的数,要求输出结果为5个数一行。
'------------------------------------------------
OptionExplicit
PrivateSubForm_Click()
Cls
DimxAsInteger
DimiAsInteger
'**********FOUND**********
i=1
Forx=1To40
If(x/3)=(x\3)Then
'**********FOUND**********
Printx
i=i+1
EndIf
IfiMod5=0Then
Print
EndIf
'**********FOUND**********
stepi
EndSub
答案:
1).i=02).Printx;或?
x;3).Nextx或Next
第2题'【程序改错】
'题目:
程序功能为求解一元二次方程的实根,请修正程序中错误。
'------------------------------------------------
OptionExplicit
PrivateSubForm_Load()
Dima!
b!
c!
root1#,root2#,workAsDouble
a=Val(InputBox("请输入系数a的值"))
b=Val(InputBox("请输入系数b的值"))
c=Val(InputBox("请输入系数c的值"))
'**********FOUND**********
work=b*2-4*a*c
Ifwork>=0Anda<>0Then
'**********FOUND**********
root1=(Sqr(work))/(2*a)
'**********FOUND**********
root2=(Sqr(work))/(2*a)
Debug.Print"有二个实根"+Str$(root1)+","+Str$(root2)
Else
Debug.Print"无实根!
"
EndIf
EndSub
答案:
1).work=b^2-4*a*c或work=b*b-4*a*c
2).root1=(-b+Sqr(work))/(2*a)或root1=(Sqr(work)-b)/(2*a)或root1=(-b+Sqr(work))/(a*2)
3).root2