VB课本习题答案第三章.docx
- 文档编号:12396359
- 上传时间:2023-06-05
- 格式:DOCX
- 页数:34
- 大小:196.38KB
VB课本习题答案第三章.docx
《VB课本习题答案第三章.docx》由会员分享,可在线阅读,更多相关《VB课本习题答案第三章.docx(34页珍藏版)》请在冰点文库上搜索。
VB课本习题答案第三章
第3章程序流程控制
3.1填空题
1.设变量r表示圆的半径,则计算圆的面积并赋给变量s使用的赋值语句为(s=3.14159*r*r)。
2.给命令按钮Command2的Caption属性赋予字符串“退出"使用的赋值语句为(Command2.Caption="退出")。
3.为了求n的阶乘,要求用户输入n的值。
程序使用InputBox函数输入,要求对话框提示信息为“请输入一个求阶乘的数:
”,标题为“求数的阶乘”,并且正确地把输入的信息转换为数值存放到变量n中,则使用的赋值语句为(n=val(InputBox("请输入一个求阶乘的数:
","求数的阶乘"))。
4.如果使用MsgBox对话框显示提示信息“退出本系统?
”,并显示“是(Yes)"和“否(No)”两个按钮,显示图标“?
"号,指定第一个按钮为默认值以及标题为“提示信息”,则调用MsgBox函数的形式为(MsgBox("退出本系统?
",4+32+0,"提示信息"))。
5.如果使用MsgBox对话框显示提示信息“文件未找到!
”,并显示“确定”按钮、图标“!
”号和标题“文件查找",则使用的MsgBox语句为(MsgBox"文件未找到",0+48+0,"文件查找" )。
6.要在当前窗体Form和立即窗口输出字符串“VisualBASIC6.0”使用的Print方法分别是(Print“VisualBASIC6。
0”)和(Debug。
Print“VisualBASIC6。
0”)。
7.使用Print方法时,若用逗号分隔,则按(标准)格式输出各表达式的值,若用分号分隔,则按(紧凑)格式输出各表达式的值。
8.注释语句是一个(非执行)语句,VB不对它们进行编译,对程序的执行结果没有任何影响。
9.判别变量i是否为偶数,若为偶数就把它显示出来。
使用单行结构条件语句为(IfiMod2=0Thenprintx)。
10.判别变量x是否大于0,若大于0,则累加到变量s1中,否则,累加到变量s2中,使用的单行结构条件语句为(Ifx>0Thens1=s1+xElses2=s2+x).
11.给定分段函数
求y的值,使用的单行结构条件语句为(Ifx〉0Theny=2*x+1ElseIfx=0Theny=0Elsey=2*x—1).
12.判别a是否等于b,若a=b,则输出字符串“aisequaltob"的块结构条件语句为().
答案:
Ifa=bThen
Print“aisequaltob”
End
13.判别ch是否为小写字母,若是,输出“yes”;否则,输出“No”的块结构条件语句为()。
答案:
IfAsc(ch)〉=97AndAsc(ch)<=122Then
Print“Yes”
Else
Print“No”
EndIf
14.若一个case子句中的表达式表由逗号分隔的若干个常数组成,则它的含义是:
当测试表达式的值等于(这些常数中的某一个)时,执行该case子句相应的程序块。
15.若case子句中的表达式表列具有形式:
〈表达式1>To<表达式2>,则它的含义是:
当测试表达式的值等于(这个范围内的值)时,执行该case子句相应的程序块。
16.若case子句中的表达式表列具有形式:
Is〈关系运算符〉<表达式〉,则它的含义是:
当测试表达式的值满足(Is后的关系)时,执行该case子句相应的程序块。
17.在循环语句中,反复执行的程序段称为(循环体);进入循环体的条件称为(循环条件);中止循环体执行的条件称为(结束循环条件)。
3.2选择题
1.下列赋值语句中,(d)是正确的.
a)x!
="abc"b)a%="10e"c)x+1=5d)s$=100
2.下列选项中,(d)不能交换变量a和b的值.
a)t=b:
b=a:
a=tb)a=a+b:
b=a-b:
a=a—b
c)t=a:
a=b:
b=td)a=b:
b=a
3.若在消息框MsgBox中显示“确定(Ok)”和“取消(Cancel)"两个按钮,则buttons参数的设置值是(b).
a)0b)1c)2d)3
4.若在消息框MsgBox中选择第二个按钮为默认值,则buttons参数的设置值是(b).
a)0b)256c)512d)768
5.若单击了“终止(Abort)"按钮,则MsgBox函数的返回值是(c)。
a)1b)2c)3d)4
6.以下不正确的单行结构条件语句是(d).
a)Ifx>yThenPrint“x>y”b)IfxThent=t*x
c)IfxMod3=2Then?
xd)Ifx<0Theny=2*x-1:
PrintxEndIf
7.给定程序段
DimaAsInteger,bAsInteger,cAsInteger
a=1:
b=2:
c=3
Ifa=c—bThenPrint"#####"ElsePrint”*****”
以上程序(c)。
a)没有输出b)有语法错
c)输出#####d)输出*****
8.把a,b之中的最大值存放于max,下面语句书写正确的是(d)。
a)Ifa>bThenmax=aElsemax=bEndIf
b)Ifa>bThenmax=a
Elsemax=b
EndIf
c)Ifa〉bThen
max=a
Else
max=b
d)Ifa〉bThen
max=a
Else
max=b
EndIf
9.下列Case语句中正确的是(c).
a)SelectCasex
Case1Or3Or5
y=x*x-1
CaseIs〉10
y=x+1
EndSelect
b)SelectCasex
Case1,3,5
y=2*x—1
CaseIsx〈=1
Y=2*x+1
EndSelect
c)SelectCasex
CaseIs〈=0
y=x—1
CaseIs>0
y=Sqr(x)+1
EndSelect
d)SelectCasex
Casex〉=1Andx〈=5
y=x-1
CaseIs〉10
y=x*x+1
EndSelect10.执行下列程序段后屏幕上(c).
i%=10:
Sum=0
Whilei〉1
Sum=Sum+i
i=i-1
Wend
PrintSum
a)无显示b)显示10c)显示54d)显示55
11.执行下列程序段输出结果是(c)。
x%=2
Dowhilex<8
Print“*”;
x=x+2
Loop
a)*b)**c)***d)****
12.设有程序段
Dimk%
k=5
Dountilk=0
k=k-1
Loop
则下面对循环语句描述正确的是(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-3
Printx
Nextx
a)0b)4c)5d)10
15.执行语句Fori=1to3:
i=i+1:
Nexti后变量i的值是(c ).
a)3b)4c)5d)6
16.下面程序段执行后输出结果是(b)。
Fori=1To2
s=1
Forj=0Toi-1
s=s+s*j
Nextj
Prints,
Nexti
a)11b)12c)21d)22
3.3阅读下列程序,写出执行结果
1。
PrivateSubForm_Click
Print–2*3/2,“Visual”&“BASIC”,Not5>3,0。
75
Print–2*3/2;“Visual”&“BASIC”;Not5>3;0.75
x=12.34
Print“x=”;
Printx
EndSub
答案:
—3VisualBASICFalse。
75
—3VisualBASICFalse.75
x=12.34
2.PrivateSubForm_Click
PrintTab(10);—100;Tab(20);200;Tab(30);—300
PrintSpc(10);—100;Spc(10);200;Spc(10);-300
EndSub
答案:
—100200-300
-100200-300
3.PrivateSubForm_Click
x=12.35
PrintFormat(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.35
012.35
12.4
1235.00%
$12。
35
+12。
35
12。
35e+00
4.PrivateSubCommand1_Click()
Dima%,b%,c%,s%,w%,t%
a=—1:
b=3:
c=3
s=0:
w=0:
t=0
Ifc>0Thens=a+b
Ifa<=0Then
Ifc〈=0Then
w=a—b
EndIf
Else
Ifc〉0Thenw=a—bElset=c
EndIf
c=a+b
Printa,b,c
Prints,w,t
EndSub
答案:
-132
200
5.PrivateSubCommand1_Click()
Dimx%,y%
x=InputBox("请输入x的值:
”)
SelectCasex
Case1,3,5
y=x—1
Case6To10
y=x+1
Case2,4
y=2*x
CaseIs〉10
y=x*x+1
EndSelect
Print”x=";x,"y=”;y
EndSub
(x的输入值为2.5、8、4和15)
答案:
x=2y=4
x=8y=9
x=4y=8
x=15y=226
6.PrivateSubCommand1_Click()
Dimi%,t!
t=1:
i=1
Whilei〈10
t=t*i
i=i+2
Wend
Print"t=”;t
EndSub
答案:
t=945
7.PrivateSubCommand1_Click()
Dimi%,x%,y%
x=1:
y=1:
i=1
DoUntili〉8
IfiMod2=1Then
x=x*i
Else
y=y*i
EndIf
i=i+1
Loop
Print"x=”;x,"y=";y
EndSub
答案:
x=105y=384
8.PrivateSubCommand1_Click()
Dimp%,s%
p=1:
s=1
Do
p=p+2:
s=s+p
LoopWhilep〈10
Print"s=";s
EndSub
答案:
s=36
9.PrivateSubCommand1_Click()
Dimm%,n%
Form=1to3
n=0
Whilen〈=m-1
Printm,n
n=n+1
Wend
Nextm
EndSub
答案:
10
20
21
30
31
32
3.4编程题
1.输入一个学生成绩,若成绩在85分以上,则输出“verygood";若成绩在60分到80分之间,则输出“good”;若成绩低于60分,则输出“nogood”。
解答:
(1)界面设计和属性设置
在窗体上建立两个标签、两个文本框和两个命令按钮.窗体和窗体上控件的主要属性设置如表3-3-1所示。
表3-3—1第1题的属性设置
控件名称
属性名
属性值
Form1
Caption
根据分数给定评语
Label1
Caption
分数
Label2
Caption
评语
Text1
Text
空串
Text2
Text
空串
Command1
Caption
开始
Command2
Caption
结束
(2)程序代码
PrivateSubCommand1_Click()
Dimscore!
score=Val(Text1。
Text)
Ifscore〉=85Then
Text2.Text="Verygood!
"
ElseIfscore〉=60Then
Text2。
Text=”Good!
”
Else
Text2.Text="Nogood!
"
EndIf
EndSub
PrivateSubCommand2_Click()
End
EndSub
(3)运行情况
运行程序后,屏幕出现用户界面。
把鼠标移到Text1文本框并单击,输入分数。
然后,单击“开始”命令按钮,系统执行Command1_Click事件过程。
执行结果如图3.3。
1所示。
单击标题为“结束”的命令按钮,执行Command2_Click事件过程,结束程序的执行。
图3。
3.1第1题的执行结果
2.求一元二次方程ax
+bx+c=0的根。
解答:
(1)界面设计和属性设置
在窗体上建立两个命令按钮。
窗体和命令按钮的主要属性设置如表3—3—2所示.
表3-3—2第2题的属性设置
控件名称
属性名
属性值
Form1
Caption
求一元二次方程的根
Command1
Caption
开始
Command2
Caption
结束
(2)程序代码
由中学数学知识知道,求一元二次方程的根的公式为:
,
编程时要考虑如下各种情况:
①当a=0时,方程不是二次方程;
②当b2—4ac=0时,有两个相同的实根:
;
③当b2—4ac>0时,有两个不同的实根:
;
④当b2-4ac〈0时,有两个共轭复根:
。
PrivateSubCommand1_Click()
Cls
Dima!
b!
c!
disc!
x1!
,x2!
realpart!
,imagpart!
a=InputBox("请输入方程的系数a:
")
b=InputBox(”请输入方程的系数b:
”)
c=InputBox(”请输入方程的系数c:
")
Print:
PrintTab(10);”输入方程的系数为:
”;”a=";a;”b=”;b;”c=”;c
IfAbs(a)〈=0.000001Then
PrintTab(15);"方程不是一个二次方程!
”
Else
disc=b^2-4*a*c
IfAbs(disc)<=0。
000001Then
PrintTab(10);"方程有两个相同的实根:
";"x1=x2=”;—b/(2*a)
ElseIfdisc〉0。
000001Then
x1=(—b+Sqr(disc))/(2*a)
x2=(-b-Sqr(disc))/(2*a)
PrintTab(5);"方程有两个实根:
"
PrintTab(18);"x1=";x1
PrintTab(18);”x2=";x2
ElseIfdisc<0.000001Then
realpart=-b/(2*a):
imagpart=Sqr(—disc)/(2*a)
PrintTab(5);"方程有两个虚根:
";
PrintTab(18);”x1=";realpart;"+";imagpart;"i"
PrintTab(18);"x2=”;realpart;”-";imagpart;”i”
EndIf
EndIf
EndSub
PrivateSubCommand2_Click()
End
EndSub
注意,程序中的条件“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)
3.给定函数y=
,从键盘上输入x的值,求y的值。
(要求使用Case语句)
解答:
(1)界面设计和属性设置
在窗体上建立两个命令按钮。
窗体和命令按钮的主要属性设置如表3—3-3所示。
表3—3—3第3题的属性设置
控件名称
属性名
属性值
Form1
Caption
求给定分段函数的值
Command1
Caption
开始
Command2
Caption
结束
(2)程序代码
PrivateSubCommand1_Click()
Cls
Dimx!
y!
x=InputBox(”请输入x的值:
")
Ifx〉=1Andx<=5Then
SelectCasex
CaseIs<2
y=3*x-5
CaseIs〈4
y=2*Cos(x)+1
CaseIs〈=5
y=Sqr(1+x*x)
EndSelect
Else
y=x*x-4*x+5
EndIf
PrintTab(10);"x=”;x,”y=";y
EndSub
PrivateSubCommand2_Click()
End
EndSub
(3)运行情况
运行程序后,单击“开始"命令按钮,执行事件过程Command1_Click。
执行时,按InputBox对话框提示,输入x的值.计算结果在窗体上显示。
4.输入圆的半径R和运算标志,按照运算标志进行指定运算.给定的运算标志及其表示的运算如下:
C(Circle)表示计算周长
A(Area)表示计算面积
B(Both)表示周长和面积都计算
(要求使用Case语句)
解答:
(1)界面设计和属性设置
在窗体上放置两个命令按钮.窗体和命令按钮的主要属性设置如表3—3-4所示。
表3-3-4第4题的属性设置
控件名称
属性名
属性值
Form1
Caption
计算圆周长或圆面积或两者都计算
Command1
Caption
开始
Command2
Caption
结束
(2)程序代码
PrivateSubCommand1_Click()
Cls
Dimr!
,fAsString*1
Constpi!
=3.14159265
r=InputBox("请输入圆的半径r:
”)
Ifr〉=0Then
f=UCase(InputBox("输入运算标志:
"+Chr(13)&_
"C___(计算周长)"+Chr(13)&_
"A___(计算面积)”+Chr(13)&_
”B___(两者都计算)”))’提示信息分多行显示
SelectCasef
Case"C”
PrintTab(10);"半径r=”;r;"圆周长=";r*2*pi
Case"A"
PrintTab(10);”半径r=”;r;”圆面积=";r^2*pi
Case"B"
PrintTab(10);”半径r=";r;”圆周长=”;r*2*pi
PrintTab(10);"半径r=”;r;"圆面积=”;r^2*pi
CaseElse
PrintTab(18);"输入的运算标志错!
”
EndSelect
Else
PrintTab(18);”半径不能是负数!
”
EndIf
EndSub
PrivateSubCommand2_Click()
End
EndSub
(3)运行情况
运行程序后,单击标题为“开始”的命令按钮,执行Command1_Click事件过程。
按InputBox对话框的提示输入半径r和运算标志。
计算结果在窗体上显示。
5。
求满足12+22+…+n2〉1000的最小n值。
(要求使用While…WEnd语句)
解答:
(1)界面设计和属性设置
在窗体上建立两个命令按钮。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VB 课本 习题 答案 第三