VB作业第三章习题答案Word格式文档下载.docx
《VB作业第三章习题答案Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《VB作业第三章习题答案Word格式文档下载.docx(14页珍藏版)》请在冰点文库上搜索。
![VB作业第三章习题答案Word格式文档下载.docx](https://file1.bingdoc.com/fileroot1/2023-5/6/b1d17c01-5e60-448a-9ad4-c94272cdc256/b1d17c01-5e60-448a-9ad4-c94272cdc2561.gif)
<
表达式1>
To<
表达式2>
,则它的含义是:
当测试表达式的值等于(这个范围内的值)时,执行该case子句相应的程序块。
16.若case子句中的表达式表列具有形式:
<
关系运算符>
表达式>
,Is则它的含义是:
当测试表达式的值满足(Is后的关系)时,执行该case子句相应的程序块。
17.在循环语句中,反复执行的程序段称为(循环体)进入循环体的条件称为;
(循环条件);
中止循环体执行的条件称为(结束循环条件)。
3.2选择题1.下列赋值语句中,(d)是正确的。
a)x!
="abc"a)t=b:
b=a:
a=tc)t=a:
a=b:
b=tb)a%="10e"c)x+1=5d)s$=100
2.下列选项中,(d)不能交换变量a和b的值。
b)a=a+b:
b=a-b:
a=a-bd)a=b:
b=a
3.若在消息框MsgBox中显示“确定(Ok)”和“取消(Cancel)”两个按钮,则buttons参数的设置值是(b)。
a)0a)0a)1a)c)b)1b)256b)2c)3b)d)c)2c)512d)4IfxThent=t*xIfx<
0Theny=2*x-1:
PrintxEndIfd)3
4.若在消息框MsgBox中选择第二个按钮为默认值,则buttons参数的设置值是(b
d)768
)。
5.若单击了“终止(Abort)”按钮,则MsgBox函数的返回值是(c)。
6.以下不正确的单行结构条件语句是(d)。
yThenPrint“x>
y”IfxMod3=2Then?
x
7.给定程序段
DimaAsInteger,bAsInteger,cAsIntegera=1:
b=2:
c=3Ifa=c-bThenPrint"
#####"
ElsePrint"
*****"
b)有语法错d)输出*****Thenmax=aThenmax=bmax=aElsemax=bEndIf
以上程序(c)。
a)没有输出c)输出#####a)b)IfIfa>
ba>
b
8.把a,b之中的最大值存放于max,下面语句书写正确的是(d)。
ElseEndIfc)Ifa>
bmax=aElsemax=bd)Ifa>
Then
max=aElsemax=bEndIf
9.下列Case语句中正确的是(c)。
a)SelectCasexCase1Or3Or5y=x*x-1CaseIs>
10y=x+1EndSelectb)SelectCasexCase1,3,5y=2*x-1CaseIsx<
=1Y=2*x+1EndSelectc)SelectCasexCaseIs<
=0y=x-1CaseIs>
0y=Sqr(x)+1EndSelectd)SelectCasexCasex>
=1Andx<
=5y=x-1CaseIs>
10y=x*x+1EndSelect10.执行下列程序段后屏幕上(
c)。
i%=10:
Sum=0Whilei>
1Sum=Sum+ii=i-1WendPrintSum
a)无显示b)显示10c)显示54d)显示55
11.执行下列程序段输出结果是(c)。
x%=2Dowhilex<
8Print“*”;
x=x+2Loop
a)*b)**c)***d)****
12.设有程序段
Dimk%k=5Dountilk=0k=k-1Loop则下面对循环语句描述正确的是(c)。
a)循环体1次也不执行b)循环体执行1次c)循环体执行5次d)循环体执行无限次13.下面描述中错误的是(a,c)。
a)执行Dountil<
条件>
…loop语句中,当循环<
为false时,结束循环体的执行。
b)执行While<
…Wend语句时,循环体可能一次也不执行。
c)Do…loopWhile<
语句的循环体可能一次也不执行。
d)执行Do…loopUntil<
语句中,当循环条件为true时,结束循环体的执行。
14.下面程序段中循环语句的循环次数是(b)。
Forx=10To1Step-3PrintxNextx
a)0b)4b)4c)5c)5d)10
15.执行语句For
a)3
i=1to3:
i=i+1:
Nexti后变量i的值是(c
d)6
)。
16.下面程序段执行后输出结果是(b)。
Fori=1To2s=1Forj=0Toi-1s=s+s*jNextjPrints,Nexti
a)11b)12c)21d)22
3.3阅读下列程序,写出执行结果
1.PrivateSubForm_ClickPrint–2*3/2,“Visual”&
“BASIC”,Not5>
3,0.75Print–2*3/2;
“Visual”&
“BASIC”;
x=12.34Print“x=”;
PrintxEndSubNot5>
3;
0.75
答案:
-3-3x=12.34
VisualBASICVisualBASICFalse.75
False
.75
2.
PrivateSubForm_ClickPrintTab(10);
-100;
Tab(20);
200;
Tab(30);
-300PrintSpc(10);
Spc(10);
-300
EndSub
-100
-1003.x=12.35
200200
-300-300
PrivateSubForm_ClickPrintFormat(x,”###.##”)PrintFormat(x,”##.##”)PrintFormat(x,”000.00”)PrintFormat(x,”00.0”)PrintFormat(x,”0.00%”)PrintFormat(x,”$##.##”)PrintFormat(x,”+##.##”)PrintFormat(x,”00.00E+00”)EndSub
12.35
12.35012.3512.41235.00%$12.35+12.3512.35e+004.PrivateSubCommand1_Click()Dima%,b%,c%,s%,w%,t%a=-1:
b=3:
c=3s=0:
w=0:
t=0Ifc>
0Thens=a+bIfa<
=0ThenIfc<
=0Thenw=a-bEndIfElseIfc>
0Thenw=a-bElset=cEndIfc=a+bPrinta,b,cPrints,w,tEndSub
5.
-12
30
20
PrivateSubCommand1_Click()Dimx%,y%x=InputBox("
请输入x的值:
"
)SelectCasex
Case1,3,5y=x-1Case6To10y=x+1Case2,4y=2*xCaseIs>
10y=x*x+1EndSelectPrint"
x="
;
x,"
y="
yEndSub(x的输入值为2.5、8、4和15)
x=2x=8x=4x=15
y=4y=9y=8y=226
6.
PrivateSubCommand1_Click()Dimi%,t!
t=1:
i=1Whilei<
10t=t*ii=i+2WendPrint"
t="
tEndSub
t=945
7.PrivateSubCommand1_Click()Dimi%,x%,y%x=1:
y=1:
i=1DoUntili>
8IfiMod2=1Thenx=x*iElsey=y*iEndIfi=i+1LoopPrint"
yEndSub
x=105
Dimp%,s%p=1:
s=1Do
y=384
8.PrivateSubCommand1_Click()
p=p+2:
s=s+pLoopWhilep<
10Print"
s="
sEndSub
s=36
9.PrivateSubCommand1_Click()Dimm%,n%Form=1to3n=0Whilen<
=m-1Printm,nn=n+1WendNextmEndSub
答案:
122
333
001
012
3.4编程题1.输入一个学生成绩,若成绩在85分以上,则输出“verygood”;
若成绩在60分到80分之间,则输出“good”;
若成绩低于60分,则输出“nogood”。
解答:
(1)界面设计和属性设置在窗体上建立两个标签、两个文本框和两个命令按钮。
窗体和窗体上控件的主要属性设置如表3-3-1所示。
表3-3-1
控件名称Form1Label1Label2Text1Text2Command1Command2
第1题的属性设置
属性值根据分数给定评语分数评语空串空串开始结束
属性名CaptionCaptionCaptionTextTextCaptionCaption
(2)程序代码
PrivateSubCommand1_Click()Dimscore!
score=Val(Text1.Text)Ifscore>
=85ThenText2.Text="
Verygood!
ElseIfscore>
=60ThenText2.Text="
Good!
ElseText2.Text="
Nogood!
EndIfEndSubPrivateSubCommand2_Click()EndEndSub
(3)运行情况运行程序后,屏幕出现用户界面。
把鼠标移到Text1文本框并单击,输入分数。
然后,单击“开始”命令按钮,系统执行Command1_Click事件过程。
执行结果如图3.3.1所示。
单击标题为“结束”的命令按钮,执行Command2_Click事件过程,结束程序的执行。
图3.3.1
2
第1题的执行结果
2.求一元二次方程ax+bx+c=0的根。
(1)界面设计和属性设置在窗体上建立两个命令按钮。
窗体和命令按钮的主要属性设置如表3-3-2所示。
表3-3-2
控件名称Form1Command1Command2
第2题的属性设置
属性值求一元二次方程的根开始结束
属性名CaptionCaptionCaption
由中学数学知识知道,求一元二次方程的根的公式为:
编程时要考虑如下各种情况:
①当a=0时,方程不是二次方程;
x1,2=
−b±
b2−4ac2a,
②当b-4ac=0时,有两个相同的实根:
x1,2=−
b2a;
b2−4ac2a;
③当b-4ac>
0时,有两个不同的实根:
x1,2=
−b±
④当b-4ac<
0时,有两个共轭复根:
PrivateSubCommand1_Click()Cls
b±
2a
4ac−b2i2a。
Dima!
b!
c!
disc!
x1!
x2!
realpart!
imagpart!
a=InputBox("
请输入方程的系数a:
)b=InputBox("
请输入方程的系数b:
)c=InputBox("
请输入方程的系数c:
)Print:
PrintPrintTab(10);
"
输入方程的系数为:
a="
a;
b="
b;
c="
cPrintIfAbs(a)<
=0.000001ThenPrintTab(15);
方程不是一个二次方程!
Elsedisc=b^2-4*a*cIfAbs(disc)<
=0.000001ThenPrintTab(10);
方程有两个相同的实根:
x1=x2="
-b/(2*a)ElseIfdisc>
0.000001Thenx1=(-b+Sqr(disc))/(2*a)x2=(-b-Sqr(disc))/(2*a)PrintTab(5);
方程有两个实根:
PrintTab(18);
x1="
x1PrintTab(18);
x2="
x2ElseIfdisc<
0.000001Thenrealpart=-b/(2*a):
imagpart=Sqr(-disc)/(2*a)PrintTab(5);
方程有两个虚根:
realpart;
+"
imagpart;
i"
-"
EndIfEndIfEndSubPrivateSubCommand2_Click()EndEndSub
注意,程序中的条件“fabs(a)<
=0.000001”和“fabs(disc)<
=0.000001”分别用来判断a和disc的值是否为0。
因为实数在计算机计算和存储时会有微小的误差,若用“a=0”和“disc=0”来判断a和disc是否为0,则会由于误差导致条件不成立,无法得到正确的运行结果。
(3)运行情况
运行程序后,单击“开始”命令按钮,执行Command1_Click事件过程。
执行时,在InputBox框中输入a、b和c三个系数。
图3.3.2~图3.3.5显示了不同系数输入的执行结果。
图3.3.2
执行结果(a)
图3.3.3
执行结果(b)
图3.3.4
执行结果(c)
图3.3.5
执行结果(d)
3x−52cosx+11+x223.给定函数y=x−4x+5
1<
=x<
22<
44<
=5其它
从键盘上输入x的值,求y的值。
(要求使用Case语句)解答:
窗体和命令按钮的主要属性设置如表3-3-3所示。
表3-3-3
第3题的属性设置
属性值求给定分段函数的值开始结束
PrivateSubCommand1_Click()ClsDimx!
y!
x=InputBox("
)Ifx>
=1Andx<
=5ThenSelectCasexCaseIs<
2
y=3*x-5CaseIs<
4y=2*Cos(x)+1CaseIs<
=5y=Sqr(1+x*x)EndSelectElsey=x*x-4*x+5EndIfPrintTab(10);
yEndSubPrivateSubCommand2_Click()EndEndSub
(3)运行情况运行程序后,单击“开始”命令按钮,执行事件过程Command1_Click。
执行时,按InputBox对话框提示,输入x的值。
计算结果在窗体上显示。
4.输入圆的半径R和运算标志,
第1页第2页按照运算标志进行指定运算。
给定的运算标志及其表示的运算如下:
C(Circle)表示计算周长A(Area)表示计算面积B(Both)表示周长和面积都计算(要求使用Case语句)解答:
(1)界面设计和属性设置在窗体上放置两个命令按钮。
窗体和命令按钮的主要属性设置如表3-3-4所示。
表3-3-4
控件名称Form1
第4题的属性设置
属性值计算圆周长或圆面积或两者都计算
属性名Caption
Command1Command2
CaptionCaption
开始结束
(2)程序代码
PrivateSubCommand1_Click()ClsDimr!
fAsString*1Constpi!
=3.14159265r=InputBox("
请输入圆的半径r:
)Ifr>
=0Thenf=UCase(InputBox("
输入运算标志:
+Chr(13)&
_"
C___(计算周长)"
A___(计算面积)"
_
B___(两者都计算)"
))SelectCasefCase"
C"
'
提示信息分多行显示
PrintTab(10);
半径r="
r;
圆周长="
r*2*piCase"
A"
PrintTab(10);
圆面积="
r^2*piCase"
B"
r*2*piPrintTab(10);
r^2*piCaseElsePrintTab(18);
输入的运算标志错!
EndSelectElsePrintTab(18);
半径不能是负数!
(3)运行情况运行程序后,单击标题为“开始”的命令按钮,执行Command1_Click事件过程。
按InputBox对话框的提示输入半径r和运算标志。
2225.求满足1+2+…+n>
1000的最小n值。
(要求使用While…WEnd语句)解答:
(1)界面设计和属性设置在窗体上建立两个命令按钮。
窗体和命令按钮的主要属性设置如表3-3-5所示。
表3-3-5
第5题的属性设置
属性值求满足1^2+2^2+…+n^2>
1000的最小n值
PrivateSubCom