VB作业第三章习题答案.docx
- 文档编号:10611971
- 上传时间:2023-02-21
- 格式:DOCX
- 页数:14
- 大小:24.02KB
VB作业第三章习题答案.docx
《VB作业第三章习题答案.docx》由会员分享,可在线阅读,更多相关《VB作业第三章习题答案.docx(14页珍藏版)》请在冰豆网上搜索。
VB作业第三章习题答案
本文由goodlak贡献
亲亲资料网
第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)。
2x+1x>0y=0x=02x−1x<011.给定分段函数,求y的值,使用的单行结构条件语句为
Ifx>0Theny=2*x+1ElseIfx=0Theny=0Elsey=2*x-1)。
12.判别a是否等于b,若a=b,则输出字符串“aisequaltob”的块结构条件语句为()。
答案:
Ifa=bThenPrint“aisequaltob”End
(
13.判别ch是否为小写字母,若是,输出“yes”;否则,输出“No”的块结构条件语句为()。
答案:
IfAsc(ch)>=97AndAsc(ch)<=122ThenPrint“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"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)。
Ifx>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>b
Then
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);-100;Spc(10);200;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"x=";x,"y=";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
(2)程序代码
由中学数学知识知道,求一元二次方程的根的公式为:
编程时要考虑如下各种情况:
①当a=0时,方程不是二次方程;
x1,2=
−b±b2−4ac2a,
②当b-4ac=0时,有两个相同的实根:
2
x1,2=−
b2a;
b2−4ac2a;
③当b-4ac>0时,有两个不同的实根:
2
x1,2=
−b±
④当b-4ac<0时,有两个共轭复根:
PrivateSubCommand1_Click()Cls
2
x1,2=−
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);"方程有两个虚根:
";PrintTab(18);"x1=";realpart;"+";imagpart;"i"PrintTab(18);"x2=";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<=x<44<=x<=5其它
从键盘上输入x的值,求y的值。
(要求使用Case语句)解答:
(1)界面设计和属性设置在窗体上建立两个命令按钮。
窗体和命令按钮的主要属性设置如表3-3-3所示。
表3-3-3
控件名称Form1Command1Command2
第3题的属性设置
属性值求给定分段函数的值开始结束
属性名CaptionCaptionCaption
(2)程序代码
PrivateSubCommand1_Click()ClsDimx!
y!
x=InputBox("请输入x的值:
")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);"x=";x,"y=";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___(计算周长)"+Chr(13)&_"A___(计算面积)"+Chr(13)&_
"B___(两者都计算)"))SelectCasefCase"C"
'提示信息分多行显示
PrintTab(10);"半径r=";r;"圆周长=";r*2*piCase"A"PrintTab(10);"半径r=";r;"圆面积=";r^2*piCase"B"PrintTab(10);"半径r=";r;"圆周长=";r*2*piPrintTab(10);"半径r=";r;"圆面积=";r^2*piCaseElsePrintTab(18);"输入的运算标志错!
"EndSelectElsePrintTab(18);"半径不能是负数!
"EndIfEndSubPrivateSubCommand2_Click()EndEndSub
(3)运行情况运行程序后,单击标题为“开始”的命令按钮,执行Command1_Click事件过程。
按InputBox对话框的提示输入半径r和运算标志。
计算结果在窗体上显示。
2225.求满足1+2+…+n>1000的最小n值。
(要求使用While…WEnd语句)解答:
(1)界面设计和属性设置在窗体上建立两个命令按钮。
窗体和命令按钮的主要属性设置如表3-3-5所示。
表3-3-5
控件名称Form1
第5题的属性设置
属性值求满足1^2+2^2+…+n^2>1000的最小n值
属性名Caption
Command1Command2
CaptionCaption
开始结束
(2)程序代码
PrivateSubCom
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VB 作业 第三 习题 答案