您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 交通运输 > VB教材课后习题答案
1大学程序设计基础-VisualBasic教材课后习题答案第1章一、选择题1234567BDBCBBD第2章一、选择题12345678910BCBCBCAAAA11121314ABAA二、填空题1.rem或’_:2.“”##3.5x2-3x-2sinA/34.3214565.300三、操作题1、程序段:PrivateSubCommand1_Click()DimxAsInteger,yAsIntegerDimsAsLong,cAsLongx=Text1.Texty=Text2.Texts=x*yc=(x+y)*2Label3.Caption=长方形的面积为+Str(s)Label4.Caption=长方形的周长为+Str(c)EndSub3、程序段:PrivateSubCommand1_Click()Text1.Text=第一EndSubPrivateSubCommand2_Click()Text1.Text=第二EndSub4、程序代码:PrivateSubText1_Change()Text1.MaxLength=10EndSub5、程序代码:2PrivateSubText1_Click()Text1.SelStart=0Text1.SelLength=Len(Text1.Text)EndSub第3章一、选择题1234567DADBADB二、填空题1.False2.B^2-4*a*celse三、操作题1.从键盘输入三个值,判断它们能否构成三角形的三个边。如果能构成一个三角形,则计算三角形的面积。DimaAsInteger,bAsLong,cAsLong,sAsSingle,pAsSinglea=Val(InputBox(请输入一个值:))b=Val(InputBox(请输入一个值:))c=Val(InputBox(请输入一个值:))If(a+bcAnda+cbAndb+ca)Thenp=(a+b+c)/2s=Sqr(p*(p-a)*(p-b)*(p-c))Printa&,&b&,&c&能构成一个三角形,它的面积为:&sEndIf2.编写程序,任意输入一个整数,判定该整数奇偶性。DimnAsIntegern=Val(InputBox(请输入一个整数:))IfnMod2=0ThenPrintn&是偶数ElsePrintn&是奇数EndIf3.求一元二次方程的a*x^2+b*x+c=0的根。DimaAsInteger,bAsInteger,cAsInteger,deltaAsSingle,x1AsSingle,x2AsSinglea=Val(InputBox(请输入一个整数:))b=Val(InputBox(请输入一个整数:))c=Val(InputBox(请输入一个整数:))delta=b^2-4*a*cIfdelta=0Thenx1=-b/(2*a)Print一元二次方程有两个相等的实根x1=x2=&x1ElseIfdelta0Thenx1=(-b+Sqr(delta))/(2*a)x2=(-b-Sqr(delta))/(2*a)3Print一元二次方程有两个不等的实根x1=&x1&,x2=&x2Elsex1=(-b)/(2*a)x2=Sqr(-delta)/(2*a)Print一元二次方程有两个不等的虚根x1=&x1&+&x2&i,x2=&x1&-&x2&iEndIfEndIf4.任意输入三个数,输出最大数。DimaAsInteger,bAsInteger,cAsInteger,maxAsIntegera=Val(InputBox(请输入一个整数:))b=Val(InputBox(请输入一个整数:))c=Val(InputBox(请输入一个整数:))max=aIfmaxbThenmax=bEndIfIfmaxcThenmax=cEndIfPrint最大数是&max5.任意输入三个数,由大到小排序输出。DimaAsInteger,bAsInteger,cAsInteger,tempAsIntegera=Val(InputBox(请输入一个整数:))b=Val(InputBox(请输入一个整数:))c=Val(InputBox(请输入一个整数:))IfabThentemp=aa=bb=tempEndIfIfbcThenPrinta,b,cElseIfacThenPrinta,c,bElsePrintc,a,bEndIfEndIf第4章一、选择题12345678910ABACDBADBB1112131415164DCDCBB二、填空题1.92.1233.74.100+100;xmod5=05.66.57.*25153075163280三、编程题1.键盘输入几个不同的数,将它们从大到小排序。2.设计程序,求出S=11+(1+2)+(1+2+3)+…+(1+2+3+4+…+N)的值。DimiAsInteger,snAsLong,sAsLong,nAsIntegersn=0s=0n=InputBox()Fori=1Tonsn=sn+is=s+snNextPrints运行结果:若n为10,S为220。3.输入X的值,求S=x-x^3/3!+x^5/5!-…的前20项的和值。DimxAsSingle,iAsInteger,sAsDoublex=InputBox(输入X值:)s=xFori=1To19p=1Forj=1To2*i+1p=p*jNexts=s+(-1)^(i)*x^(2*i+1)/pNextPrints运行结果:当X为2时,S为0.91(精确到小数点后两位)4.勾股定理中3个数的关系是:a2+b2=c2。编写程序,输出30以内满足上述关系的整数组合,例如3、4、5就是一个整数组合。DimaAsInteger,bAsInteger,cAsInteger,kAsIntegerFora=1To30Forb=1To30Forc=1To30Ifa^2+b^2=c^2Thenk=k+1:Printa,b,cNextNextNext5Printk运行结果:225.输出1000以内的完全数。完全数就是它的各个约数之和等于该数本身(如:6=1+2+3,6是完全数)。DimiAsInteger,jAsInteger,aAsIntegerFori=2To1000a=0Forj=1Toi-1IfiModj=0Thena=a+j'判断j是否能整除i,如果能,则a增加jNextjIfa=iThenPrinti'判断i是否是完全数,如果是,则输出iNexti运行结果:6284966.编程求出所有的水仙花数。水仙花数就是一个三位数,其各位数字立方和等于该数。(如153=13+53+33)。DimiAsInteger,sAsIntegerDimaAsInteger,bAsInteger,cAsIntegerPrint100到999所有水仙花数:;Fori=100To999a=i\100'取百位数b=i\10Mod10'或b=iMod100\10取十位数c=iMod10'取个位数s=a^3+b^3+c^3'水仙花数的判断依据Ifs=iThenPrinti;Nexti运行结果:100到999所有水仙花数:1533703714077.编写程序,输出100~300间的所有素数。DimiAsInteger,jAsInteger,cAsInteger,kAsIntegerFori=100To300Forj=2Toi-1IfiModj=0ThenExitForNextIfi=jThenPrinti;k=k+1s=s+iIfkMod10=0ThenPrintEndIfNextPrintPrint100~300间总共有+Str(k)+个素数,+和值为+Str(s)运行结果:68.我国现有人口为13亿。设年增长率为1%,编写程序,计算多少年后增加到20亿。DimiAsLong,sAsSingleDimnAsSingle,mAsSinglen=InputBox(请输入增长率:)i=0s=13m=sDoWhilem=20i=i+1m=s*(1+n)^iPrintm;i;IfiMod5=0ThenPrintLoopPrinti运行结果:449.编程产生并输出一个二维数组,输出行、列的最大值,正、反对角线之和。10.利用pi/4=1-1/3+1/5-1/7+…,求pi的值,直到最后一项的值小于10-6为止。DimpiAsDouble,iAsLong,nAsDouble,flagAsIntegeri=1n=1flag=1pi=1DoWhilen0.000001i=i+2flag=-flagn=1/ipi=pi+flag*nLoopPrintpi*4运行结果:3.14159465358569第5章一、选择题12345678910DCDDBAABCB1112131415DBBCB二、填空题1.242.73.a=30b=704.“123456789”7三、编程题1.编写一个求3个数中最大值Max和最小值Min的过程,然后用这个过程分别求3个数、5个数、7个数中的最大值和最小值。Dima()Submaxmin(b())‘过程Dimmax,min,kmax=b(1)min=b(1)Fork=1ToUBound(b)Ifmaxb(k)Thenmax=b(k)ElseIfminb(k)Thenmin=b(k)EndIfEndIfNextPrint最大值=;max,最小值=;minEndSubPrivateSubCommand1_Click()‘主程序n=InputBox(n=)ReDima(n)Fori=1Tona(i)=Val(InputBox(a=))Printa(i),NextPrintCallmaxmin(a())EndSub2.编写程序,求S=A!+B!+C!,阶乘的计算分别用Sub过程和Function过程两种方法来实现。PublicSubfact2(m,ss)Dimp,kp=1Fork=1Tomp=p*kNextss=ss+pEndSubPublicFunctionfact1(n)Dimp,kp=1Fork=1Tonp=p*kNextfact1=p8EndFunctionPrivateSubCommand1_Click()Dims,a,b,ca=Val(InputBox(a=))b=Val(InputBox(b=))c=Val(InputBox(c=))s=fact1(a)+fact1(b)+fact1(c)'函数Printsss=0Callfact2(a,ss)'过程Callfact2(b,ss)Callfact2(c,ss)PrintssEndSub3.编写一个过程,以整型数作为形参,当该参数为奇数时输出False,而当该参数为偶数时输出True。4.设a为一整数,如果数a与其平方数的尾部相等,则称a为“同构数”。例如52=25,252=625,则5和25都是同构数。试编写一个Function过程Automorphic,其形参为一正整数,判断其是否为同构数,然后用该过程查找1~1000内的所有同构数。第6章一、选择题12345DACBD第7章一、选择题12345678DBAADDBA
本文标题:VB教材课后习题答案
链接地址:https://www.777doc.com/doc-2854063 .html