您好,欢迎访问三七文档
习题5(控制结构)一、判断题1.If与EndIf关键字必须成对地使用,有一个If就有一个EndIf与之相对应。2.Do和Loop关键字必须成对使用,有一个Do就必须有一个Loop与之对应。3.For和ExitFor必须成对使用,有一个For就必须有一个ExitFor与之对应。4.SelectCase语句实现的是一种循环结构。5.一个Do循环只能使用一个Loop关键字,但可以使用多个ExitDo语句。6.如果有多重Do循环嵌套,位于最里层循体语句中的ExitDo语句可以跳出所有的循环。7.如果有多重Do循环与For循环嵌套使用,并且ExitFor语句位于一个内层Do循环中,则该语句不能从Do循环中跳出。二、填空题1.判断下面4个循环语句分别执行了多少次循环。①下面循环执行了(1)次:1int2=02Forint1=1To-2Step-13int2=int2+14Next②下面循环执行了(2)次:1int2=02Forint1=1To1Step-13int2=int2+14Next③下面循环执行了(3)次:1int2=02Forint1=1To10Step13ExitFor4int2=int2+15Next④下面循环执行了(4)次:1DimiAsInteger,jAsInteger2Fori=1To10Step13i=i+14j=j+15Next6Printj2.执行下面的程序段,文本框Text1中显示的是(5)。1Dimint1AsInteger,int2AsInteger2int1=13int2=04DoWhileint1205int2=int1+int26int1=int1*(int1+1)7Loop8Text1.Text=int23.阅读下面的事件过程。单击窗体后,在文本框Text1和Text2中显示的内容分别是(6)和(7);若将程序中A语句与B语句的位置互换,再次执行程序,单击窗体后在Text1和Text2中显示的内容分别是(8)和(9)。1PrivateSubForm_Click()2DimxAsInteger,yAsInteger3x=1:y=04DoWhilex35y=y+x'A语句6x=x+1'B语句7Loop8Text1.Text=x9Text2.Text=y10EndSub4.下面的事件过程判断文本框txt1中输入的数所在的区间,并在文本框txt2中输出判断结果。请在画线处填入正确的内容。1PrivateSubCommand1_Click()2Dimint1AsInteger3int1=CInt(txt1.Text)4SelectCaseint15Case(10)6txt2.Text=值为07Case(11)8txt2.Text=值在1和10之间(包括1和10)9Case(12)10txt2.Text=值大于1011CaseElse12txt2.Text=值小于013EndSelect14EndSub5.下面程序段中,k循环共执行(13)次,在窗体上显示的结果是(14)。1DimbAsInteger,kAsInteger2Letb=13Fork=1To54Letb=b*k5Ifb=15Then6ExitFor7Else8Letk=k+19EndIf10Nextk11Printk,b6.阅读下面程序,当单击窗体之后,窗体上输出的是(16)。1PrivateSubForm_Click()2DimiAsInteger,jAsInteger,kAsInteger3Fori=0To10Step34Forj=1To105Ifj=5Theni=i+4:ExitFor6j=j+17k=k+18Next9Ifi8ThenExitFor10Next11Printk12EndSub7.完成下面的程序段,使程序能够计算给定x的函数值f(x)。1DimxAsSingle2x=CSng(Text1.Text)3If(17)Then4Text2.Text=05ElseIf(18)Then6(19)7Else8Text2.Text=x*x+19EndIf8.本程序根据下式计算x1sin的值(通项的值小于10-6时停止计算),请完善之。...764253154231321sin7531xxxxx1PrivateSubCommand1_Click()2DimxAsSingle,yAsSingle,tAsSingle3DimaAsSingle,bAsSingle,nAsSingle4x=CSng(Text1.Text)5y=(20)6b=17n=28Do9a=x^(2*n-1)/(2*n-1)10b=(21)11t=a*b12y=y+t13n=n+114LoopWhile(22)15Text2.Text=y16EndSub9.本程序(界面如图5.21所示)将0~255之间的十整数转换为二进制形式。在上面的文本框中输入十进制数,单击“转换”按钮,该十进制数的二进制形式显示在下面的文本框中。1PrivateSubCommand1_Click()2Dimbyt1AsByte3Dimstr1AsString4byt1=CByte(Text1)5Forint1=(23)6If(byt1And2^(8-int1))0Then7(24)8Else9str1=str1&010EndIf11Next图5.21数制转换111010022xxxxxxf12Text2.Text=str113EndSub三、编程题1.编程计算1-2+3-4+5-6…±n的值,其中n由文本框输入。2.编程计算20-21+22-23+…+210的值。3.编程计算11+22+33+44+…+99+1010的值。4.编程计算11541431321211nn...的值,其中n=20。5.已知下式成立:...!1...!31!21!111ne,计算e的值(精确到10-6)。6.百钱买百鸡。公元前五世纪,我国数学家张丘建在《算经》中提出“百鸡问题”:鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一。百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?7.有一阶梯,如果每步跨2阶,最后余1阶;每步跨3阶,最后余2阶;每步跨5阶,最后余4阶;每步跨6阶,最后余5阶;每步跨7阶,正好到达阶梯项。问阶梯至少有多少阶。8.一个共有15个台阶的楼梯,从下面走到上面。一次只能迈一个台阶或两个台阶,并且不能后退,走完这个楼梯共有多少种方法。9.求111111的个位、十位、百位数分别是多少。10.编程计算1000!的末尾有多少个“0”。11.某公司每年的销售收入均比前一年增长10个百分点,按此增长率,需要多少年可以实现销售收入翻两番的目标。12.已知方程0634223xxx。(1)使用牛顿迭代法求方程在1.5附近的根;(2)使用二分迭代法求方程在(-10,10)之间的根。13.使用牛顿迭代法求5的算术平方根。14.若一头小母牛从第四个年头开始每年生一头母牛,按此规律,求第n年时共有多少头母牛。15.编程计算100~100000之间,共有多少个整数,满足它的各位数字之和为5。16.已知x、y、z分别是0~9中的一个数,求x、y、z的值,使得下列成立:xxz+yzz=532。(其中xxz和yzz不表示乘积,而是由x、y、z组成的三位数)。17.编程显示如图5.22所示的星号三角形,三角形的行数可由文本框指定。18.例5.23介绍了矩形面积法求定积分。如果将图5.18(b)中的每个矩形条改为梯形条,(如图5.23所示),则成为梯形面积法。梯形面积法的计算精度比矩形面积法高,请使用梯形面积法计算下列积分(分割为1000个小梯形)。(1)20sin21dxx(2)102221dxexyxy=f(x)0abw图5.23梯形面积法求定积分矩形梯形下底上底图5.22星号三角形参考答案一、判断题1.×2.√3.×4.×5.√6.×7.×二、填空题1.(1)4(2)1(3)1(4)52.(5)93.(6)3(7)3(8)3(9)54.(10)0(11)1To10(12)Is105.(13)3(14)5156.(16)47.(17)x=0(18)x1(19)Text2.Text=(1-x)*(1-x)8.(20)x(21)b*(2*n-3)/(2*n-2)(22)Abs(t)=0.0000019.(23)1To8(24)str1=str1&1三、编程题1.1PrivateSubCommand1_Click()2DimintNAsInteger3Dimint1AsInteger4DimintSumAsInteger5DimintSgnAsInteger6intSgn=17intN=CInt(Text1.Text)8Forint1=1TointN9intSum=intSum+intSgn*int110intSgn=-intSgn11Next12Text2.Text=intSum13EndSub2.计算结果为683。1PrivateSubCommand1_Click()2DimaAsSingle,bAsSingle3Dimint1AsInteger4a=1:b=15Forint1=1To106b=-b*27a=a+b8Next9Text1.Text=a10EndSub3.计算结果为1.040507E+10。1PrivateSubCommand1_Click()2Dimint1AsInteger3Dimsng1AsSingle4sng1=05Forint1=1To106sng1=sng1+int1^int17Next8Text1.Text=sng19EndSub4.计算结果为0.9523811。1PrivateSubCommand1_Click()2DimsngAmountAsSingle3Dimint1AsInteger4sngAmount=05Forint1=1To206sngAmount=sngAmount+1/int1/(int1+1)7Next8Text1.Text=sngAmount9EndSub5.e的值为为2.718282,e为自然对数的底。1PrivateSubCommand1_Click()2DimeAsSingle,sng1AsSingle3Dimint1AsInteger4e=15sng1=16int1=17DoWhilesng10.0000018sng1=sng1/int19e=e+sng110int1=int1+111Loop12Text1.Text=e13EndSub6.群举法。共有四种买法,鸡公、鸡母、鸡雏的数量分别是:(1)0、25、75,(2)4、18、78,(3)8、11、81,(4)12、4、84。1PrivateSubForm_Click()2DimdblOutputAsDouble3Print鸡公,鸡母,鸡雏4DimxAsInteger,yAsInteger,zAsInteger5Forx=0To206Fory=0To347Forz=0To100Step38If5*x+3*y+z/3=100Andx+y+z=100Then9Printx,y,z10EndIf11Next12Next13Next14EndSub7.至少有119级台阶。1PrivateSubCommand1_Click()2Dimint1AsInteger3Do4Ifint1Mod2=1Andint1Mod3=2Andint1Mod5=4_5Andint1Mod6=5Andint1Mod7=0Then6Text1.Text=int17ExitDo8EndIf9int1=int1+110Loop11EndSub8.共有987种方法。(提示:上第n级台阶的方法数是上第n-1级台阶和上第n-2级台阶方法数之和。)1PrivateSubCommand1_Click()2Dimint1AsInteger,i
本文标题:第5章控制结构
链接地址:https://www.777doc.com/doc-2196255 .html