VB课本习题答案第三章_第1页
VB课本习题答案第三章_第2页
VB课本习题答案第三章_第3页
VB课本习题答案第三章_第4页
VB课本习题答案第三章_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第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=bThenPrint“aisequaltob”End13.判别ch是否为小写字母,若是,输出“yes”;否则,输出“No"的块结构条件语句为().答案:IfAsc(ch)〉=97AndAsc(ch)〈=122ThenPrint“Yes”ElsePrint“No”EndIf14.若一个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$=1002.下列选项中,(d)不能交换变量a和b的值。a)t=b:b=a:a=tc)t=a:a=b:b=tb)a=a+b:b=a—b:a=a—bd)a=b:b=a3.若在消息框MsgBox中显示“确定(Ok)"和“取消(Cancel)”两个按钮,则buttons参数的设置值是(b).a)0c)2b)1d)34.若在消息框MsgBox中选择第二个按钮为默认值,则buttons参数的设置值是(b)。a)0c)512d)7685.若单击了“终止(Abort)”按钮,则MsgBox函数的返回值是(c)。b)2c)3d)46.以下不正确的单行结构条件语句是(d)。b)256a)1a)Ifx>yThenPrint“x〉y”c)IfxMod3=2Then?x7.给定程序段b)IfxThent=t*xd)Ifx<0Theny=2*x—1:PrintxEndIfDimaAsInteger,bAsInteger,cAsIntegera=1:b=2:c=3Ifa=c-bThenPrint”#####”ElsePrint”*****"以上程序(c)。a)没有输出b)有语法错d)输出*****c)输出#####8.把a,b之中的最大值存放于max,下面语句书写正确的是(d).a)Ifa>bThenmax=aElsemax=bEndIfb)Ifa>bThenmax=aElsemax=bEndIfc)Ifa〉bThenmax=aElsemax=bd)Ifa〉bThenmax=aElsemax=bEndIf9.下列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-1WendPrintSuma)无显示b)显示10c)显示54d)显示5511.执行下列程序段输出结果是(c)。x%=2Dowhilex〈8Print“*”;x=x+2Loopa)*b)**c)***d)****12.设有程序段Dimk%k=5Dountilk=0k=k-1Loop则下面对循环语句描述正确的是(c)。a)循环体1次也不执行c)循环体执行5次b)循环体执行1次d)循环体执行无限次13.下面描述中错误的是(a,c)。a)执行Dountil〈条件〉…loop语句中,当循环〈条件〉为false时,结束循环体的执行。b)执行While〈条件〉…Wend语句时,循环体可能一次也不执行。c)Do…loopWhile<条件〉语句的循环体可能一次也不执行。d)执行Do…loopUntil<条件>语句中,当循环条件为true时,结束循环体的执行.14.下面程序段中循环语句的循环次数是(b).Forx=10To1Step—3PrintxNextxa)015.执行语句Fori=1to3:i=i+1:Nexti后变量i的值是(c)。a)3b)4c)5d)6b)4c)5d)1016.下面程序段执行后输出结果是(b)。Fori=1To2s=1Forj=0Toi—1s=s+s*jNextjPrints,Nextia)11b)12c)21d)223.3阅读下列程序,写出执行结果1。PrivateSubForm_ClickPrint–2*3/2,“Visual"&“BASIC”,Not5〉3,0。75Print–2*3/2;“Visual”&“BASIC”;Not5>3;0。75x=12。34Print“x=”;PrintxEndSub答案:-3VisualBASICFalse.75—3VisualBASICFalse。75x=12.342.PrivateSubForm_ClickPrintTab(10);—100;Tab(20);200;Tab(30);—300PrintSpc(10);-100;Spc(10);200;Spc(10);-300EndSub答案:-100200-300-100200-3003.PrivateSubForm_Clickx=12。35PrintFormat(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.3512.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答案:—1322005.PrivateSubCommand1_Click()Dimx%,y%x=InputBox("请输入x的值:”)SelectCasexCase1,3,5y=x—1Case6To10y=x+1Case2,4y=2*xCaseIs〉10y=x*x+1EndSelectPrint"x=”;x,”y=”;yEndSub(x的输入值为2。5、8、4和15)答案:x=2y=4x=8y=9x=4y=8x=15y=2266.PrivateSubCommand1_Click()Dimi%,t!t=1:i=1Whilei<10t=t*ii=i+2WendPrint”t=”;tEndSub答案:t=9457.PrivateSubCommand1_Click()Dimi%,x%,y%x=1:y=1:i=1DoUntili〉8IfiMod2=1Thenx=x*iElsey=y*iEndIfi=i+1LoopPrint"x=”;x,”y=";yEndSub答案:x=105y=3848.PrivateSubCommand1_Click()Dimp%,s%p=1:s=1Dop=p+2:s=s+pLoopWhilep〈10Print"s=”;sEndSub答案:s=369.PrivateSubCommand1_Click()Dimm%,n%Form=1to3n=0Whilen〈=m—1Printm,nn=n+1WendNextmEndSub答案:1020231033123.4编程题1.输入一个学生成绩,若成绩在85分以上,则输出“verygood";若成绩在60分到80分之间,则输出“good”;若成绩低于60分,则输出“nogood”.解答:(1)界面设计和属性设置在窗体上建立两个标签、两个文本框和两个命令按钮.窗体和窗体上控件的主要属性设置如表3—3-1所示。表3-3—1第1题的属性设置控件名称属性名属性值Form1Caption根据分数给定评语Label1CaptionCaptionText分数评语空串空串开始结束Label2Text1Text2TextCommand1Command2CaptionCaption(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第1题的执行结果2。求一元二次方程ax+bx+c=0的根。解答:(1)界面设计和属性设置在窗体上建立两个命令按钮。窗体和命令按钮的主要属性设置如表3-3—2所示。表3-3—2第2题的属性设置控件名称属性名属性值Form1Caption求一元二次方程的根Command1Command2CaptionCaption开始结束(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: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)3。给定函数y=,从键盘上输入x的值,求y的值。(要求使用Case语句)解答:(1)界面设计和属性设置在窗体上建立两个命令按钮.窗体和命令按钮的主要属性设置如表3-3-3所示。表3—3-3第3题的属性设置控件名称属性名属性值Form1Caption求给定分段函数的值Command1Command2CaptionCaption开始结束(2)程序代码PrivateSubCommand1_Click()ClsDimx!,y!x=InputBox(”请输入x的值:”)Ifx〉=1Andx〈=5ThenSelectCasexCaseIs〈2y=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和运算标志,按照运算标志进行指定运算。给定的运算标志及其表示的运算如下:C(Circle)表示计算周长A(Area)表示计算面积B(Both)表示周长和面积都计算(要求使用Case语句)解答:(1)界面设计和属性设置在窗体上放置两个命令按钮.窗体和命令按钮的主要属性设置如表3-3-4所示。表3-3—4第4题的属性设置控件名称属性名属性值Form1Caption计算圆周长或圆面积或两者都计算开始Command1Command2CaptionCaption结束(2)程序代码PrivateSubCommand1_Click()ClsDimr!,fAsString*1Constpi!=3.14159265r=InputBox("请输入圆的半径r:”)Ifr〉=0Thenf=UCase(InputBox(”输入运算标志:"+Chr(13)&_"C___(计算周长)”+Chr(13)&_”A___(计算面积)"+Chr(13)&_”B___(两者都计算)"))SelectCasef’提示信息分多行显示Case"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和运算标志.计算结果在窗体上显示。5.求满足12+22+…+n2〉1000的最小n值.(要求使用While…WEnd语句)解答:(1)界面设计和属性设置在窗体上建立两个命令按钮。窗体和命令按钮的主要属性设置如表3-3-5所示。表3—3-5第5题的属性设置控件名称属性名属性值Form1Caption求满足1^2+2^2+…+n^2>1000的最小n值Command1Command2CaptionCaption开始结束(2)程序代码PrivateSubCommand1_Click()Dimn%,s&n=0:s=0Whiles〈=1000n=n+1s=s+n^2WendPrint:Print:PrintPrintTab(8);”满足1^2+2^2+…+n^2>1000的最小n值为:”;nEndSubPrivateSubCommand2_Click()EndEndSub6.输入若干个正实数,个数预先不能确定,求这些正实数之和。(要求分别使用DoWhile…Loop语句和DoUntil…Loop语句)解答:(1)界面设计和属性设置在窗体上建立三个命令按钮。窗体和命令按钮的主要属性设置如表3-3-6所示。表3-3—6第6题的属性设置控件名称属性名属性值Form1Caption求正实数之和DoWhile…LoopDoUntil…LoopCommand1Command2Command3CaptionCaptionCaption结束(2)程序代码PrivateSubCommand1_Click()ClsDima!,s!a=InputBox(”输入一个实数:")DoWhilea〉=0s=s+aa=InputBox(”输入一个实数:”)LoopPrint:PrintPrintTab(15);"输入的正实数之和为:”;sEndSubPrivateSubCommand2_Click()ClsDima!,s!a=InputBox("输入一个实数:")DoUntila〈0s=s+aa=InputBox("输入一个实数:”)LoopPrint:Print:PrintPrintTab(15);"输入的正实数之和为:”;sEndSubPrivateSubCommand3_Click()EndEndSub(3)运行情况运行程序后,屏幕出现用户界面如图3.3。6所示。单击标题为“DoWhile…Loop”或标题为“DoWhile…Loop”的命令按钮,系统执行相应的Click事件过程。用户可以输入一系列数据,以输入-1作结束。窗体显示运算结果。单击“结束”按钮,结束程序执行。图3。3。6第6题的执行结果7.使用公式While语句)来求π的近似值,直到最后一项的值小于10-8为止.(要求使用Do…Loop解答:(1)界面设计和属性设置在窗体上建立两个命令按钮。窗体和命令按钮的主要属性设置如表3—3—7所示.表3-3-7第7题的属性设置控件名称属性名属性值Form1Caption求圆周率的近似值Command1Command2CaptionCaption开始结束(2)程序代码PrivateSubCommand1_Click()Dimi&,s#,term#i=1s=0Doterm=1/(i*i)s=s+termi=i+1LoopWhileterm>=0.00000001Print:Print:PrintPrintTab(8);"圆周率的近似值为:";Sqr(6*s)EndSubPrivateSubCommand2_Click()EndEndSub(3)运行情况运行程序后,单击标题为“开始”的命令按钮,执行Command1_Click事件过程。计算结果在窗体上显示。8.由数值计算方法可知,用牛顿迭代法解方程f(x)=0的迭代公式为:试用牛顿迭代法求解方程x5-3x2+2x+1=0在x0=0附近的根。(要求使用Do…LoopUntil语句)解答:(1)界面设计和属性设置在窗体上建立两个命令按钮.窗体和命令按钮的主要属性设置如表3-3—8所示。表3-3-8第8题的属性设置控件名称属性名属性值Form1Caption用牛顿法求方程的根Command1Command2CaptionCaption开始结束(2)程序代码根据迭代公式,牛顿迭代法的计算过程为:①令n=0,由迭代公式得,然后判别∣x1-x0∣是否小于ε(给定精度)。若是,则迭代结束,x1作为方程的近似根;否则,进行下一步。②令n=1,由迭代公式得,然后判别∣x2-x1∣是否小ε。若是,则迭代结束,x2作为方程的近似根;否则,由x2求x3的值,判断∣x3-x2∣.┇按这样迭代下去,一直到∣xi+1-xi∣<ε(i=0,1,2,…)为止。根据上述计算过程可以编写程序为:PrivateSubCommand1_Click()Dimx0!,x1!x1=0Dox0=x1x1=x0—(x0^5-3*x0^2+2*x0+1)/(5*x0^4—6*x0+2)LoopUntilAbs(x1-x0)<0。00001PrintTab(10);”方程的根为:”;x1EndSubPrivateSubCommand2_Click()EndEndSub(3)运行情况运行程序后,单击标题为“开始”的命令按钮,执行Command1_Click事件过程.在窗体上显示计算结果.9.求S=的值。解答:(1)界面设计和属性设置在窗体上建立两个命令按钮。窗体和命令按钮的主要属性设置如表3-3—9所示.表3—3-9第9题的属性设置控件名称Form1属性名Caption属性值求s=1—1/2+1/3-1/4+…+1/99-1/100的值Command1Command2CaptionCaption开始结束(2)程序代码PrivateSubCommand1_Click()Dimi%,s!,sign%sign=1:s=0Fori=1To100s=s+sign*1/isign=—signNextiPrint:Print:PrintPrintTab(18);”s的值为:";sEndSubPrivateSubCommand2_Click()EndEndSub(3)运行情况运行程序后,单击标题为“开始”的命令按钮,执行Command1_Click事件过程。窗体显示计算结果。10.求100到999中的水仙花数。所谓水仙花数是指一个三位数,它的各位数字的立方之和等于该数。例如,因为153=13+53+33,所以153是水仙花数。解答:(1)界面设计和属性设置在窗体上建立两个命令按钮。窗体和命令按钮的主要属性设置如表3-3-10所示。表3-3—10第10题的属性设置控件名称Form1属性名Caption属性值求水仙花数开始Command1Command2CaptionCaption结束(2)程序代码PrivateSubCommand1_Click()Dimi%,a%,b%,c%PrintPrintTab(5);”100——999之间的水仙花数为:"Fori=100To999a=i\100b=(i-a*100)\10c=i—a*100—b*10Ifi=a^3+b^3+c^3ThenPrintTab(10);iEndIfNextiEndSubPrivateSubCommand2_Click()EndEndSub(3)运行情况执行结果如图3.3.7所示.图3。3.7第10题的执行结果11。求1000之内的所有完数.所谓完数是指一个数恰好等于它的所有因子之和.例如,因为6=1+2+3,所以6为完数。解答:(1)界面设计和属性设置在窗体上建立两个命令按钮.窗体和命令按钮的主要属性设置如表3-3-11所示。表3—3-11第11题的属性设置控件名称Form1属性名Caption属性值求完数开始Command1Command2CaptionCaption结束(2)程序代码PrivateSubCommand1_Click()Dimi%,j%,s%PrintPrintTab(5);”1--1000之内的完数为:”Fori=1To1000s=0Forj=1Toi—1IfiModj=0Thens=s+jNextjIfi=sThenPrintTab(5);iNextiEndSubPrivateSubCommand2_Click()EndEndSub(3)运行情况程序执行结果如图3。3.8所示.图3.3。8第11题的执行结果12.在窗体上输出形如以下图形,其中第一行的起始字母和终止字母由用户从键盘上输入。ABCDEBCDEACDEABDEABCEABCD

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论