您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 薪酬管理 > Visual_Basic_6.0_程序设计教程答案龚沛曾(第三版)
习题一2.需要重新安装3.VB启动时可以看到6.保存两个文件。窗体文件(FRM)-工程文件(VBP)。7.默认保存在VB6.EXE所在的文件夹。8.帮助系统要另外安装(MSDN)其他题目答案可在教材中找到。习题二第1-9题答案在教材中找。10.启动窗体时将命令按钮定位在窗体中央的代码PrivateSubForm_Load()Command1.Left=Form1.ScaleWidth/2-Command1.Width/2Command1.Top=Form1.ScaleHeight/2-Command1.Height/2EndSub11.图片文件在C:\ProgramFiles\MicrosoftVisualStudio\Common\Graphics文件夹。安装VB时可选择是否安装这些图片文件。习题三1.合法常量:(1)Double(2)错误(3)Double(4)Double(5)错误(6)Integer(7)String(8)String(9)Date(10)Double(11)错误(汉字字符)(12)Integer(八进制)(13)错误(八进制无数码8)(14)Integer(15)Boolean(16)错误(17)错误(十六进制无数码g)(18)Single说明:浮点型变量默认为Double类型而非Single。2.合法变量名:(1)√(2)√(3)误:数字开头(4)误:含空格(5)误:关键字(6)√(7)误:关键字(8)误:有括号(9)√(10)√(11)√(12)√(汉字字符可作为变量名,但不常用,且此名称易误解)变量命名规则见P.41-42。字母(汉字)开头,字母(汉字)、数字、下划线组成,长度为1-255个字符;关键字不可作为变量名,但可在变量名中嵌入关键字;不区分大小写。常量、数组、类型、函数、过程、对象命名规则与此相同。常量名通常全用大写。3.写VB表达式(1)Abs(x+y)+z^5(2)(1+x*y)^6(3)(10*x+Sqr(3*y))/(x*y)(4)(-b+Sqr(b^2-4*a*c))/(2*a)(5)1/(1/r1+1/r2+1/r3)(6)Sin(45*3.14159/180)+(Exp(10)+Log(10))/Sqr(x+y+1)4.根据条件写表达式(1)随机产生大写字母Chr(Int(Rnd*(Asc(L)-Asc(C)+1)+Asc(C)))(2)[100,200]内的随机数Int(Rnd*101)+100(3)点(x,y)位于第一或第三象限x0Andy0Orx0Andy0或x*y0(4)x是5或7的整数倍xMod5=0OrInt(x/7)=x/7(5)将两位整数x的个位与十位对换x\10+(xMod10)*10(6)四舍五入取两位小数Round(x,2)(7)字符变量C是字母字符(不区分大小写)——准确地说是:字符变量C的第一个字符是字母C=AAndC=ZOrC=aAndCz或UCase(C)=AAndUCase(C)=Z或LCase(C)=aAndLCase(C)=z(8)字符变量S第5个字符起取6个字符Mid(S,5,6)(9)10≤x<2010=xAndx20(10)x,y至少有一个小于zxzOryz(11)x,y都大于zxzAndyz5.写表达式的值(1)188——注意运算的优先级顺序,以及整除运算“\”的计算(2)200100——计算100+100时,由于两个操作数类型不同,在可能的情况下自动采用精度较高的类型,即把字符型转换为数值型,100+100得到200;然后进行字符串连接运算200&100,再自动将两个数值转换为字符串,得200100。(3)68.56——在四舍五入函数产生之前,这就是四舍五入的计算方法(4)876554——先进行字符串的“+”运算,再转换成数值。在变量名和函数名后可加上类型符,以强调其类型,但不是必须的。(5)2000-2-29(6)66.Shell函数调用i=Shell(mspaint.exe,1)'启动画图i=Shell(C:\ProgramFiles\MicrosoftOffice\OFFICE11\winword.exe,1)'启动Word说明:“画图”是Windows本身提供的程序,可以省略路径。8.答:单精度浮点型习题四第1,3,5,8题答案在教材中找。2.赋值语句的错误(1)10x不能做变量名。上机验证结果:VB将10识别为行号,x=Sin(x)+y是为变量x赋值。故无语法错误。(2)Sqr函数的参数为负数。上机验证结果:“无效的过程调用或参数”(3)赋值号左边不是变量名。上机验证结果:“缺少子程序、函数或属性”(4)除数为0上机验证结果:“溢出”。4.[答案略]说明:小数位可以使用四舍五入函数Round或输出格式函数Format。例如Round(x,2)和Format(x,“0.00”)均可使结果只保留两位小数。但如果四舍五入后要进行数值运算,则使用Round函数,例如z=Round(x,2)+Round(y,2)。而Format函数通常只用于输出格式设置。6.指出错误(1)“≥”应改为“=”,前者是中文字符,不具有运算功能。(2)“10x20”应改为“10xAndx20”,否则运行结果错误。7.写条件语句(1)DimcAsStringc=InputBox(c=)IfMid(c,3,1)=CThenMsgBoxYesElseMsgBoxNoEndIf(2)#使用If语句DimxAsSingle,yAsSinglex=Val(InputBox(x=))Ifx20Theny=x^2+3*x+2ElseIfx=10Theny=Sqr(3*x)-2ElseIfx0Theny=1/x+Abs(x)EndIfPrinty=;y#使用SelectCase语句DimxAsSingle,yAsSinglex=Val(InputBox(x=))SelectCasexCaseIs20y=x^2+3*x+2CaseIs=10y=Sqr(3*x)-2CaseIs0y=1/x+Abs(x)EndSelectPrinty=;y(3)#使用If语句DimxAsSingle,yAsSingle,zAsSingle,MaxAsSinglex=Val(InputBox(x=))y=Val(InputBox(y=))z=Val(InputBox(z=))Max=xIfyMaxThenMax=yIfzMaxThenMax=zPrintMax=;Max#使用IIF函数x=Val(InputBox(x=))y=Val(InputBox(y=))z=Val(InputBox(z=))Max=IIf(xy,x,y)Max=IIf(zMax,z,Max)PrintMax=;Max9.计算循环次数(1)6(2)19(3)0(4)死循环直至溢出10.40号语句执行4次;第50号语句执行12次;执行第90号语句输出的结果是:13,0,2说明:该程序为嵌套循环,其中外循环由j值变化(1,4,7,10)控制执行4次,当j值为13时结束循环;内循环由k值变化(6,4,2)控制执行3次,当k值为0时结束循环。第40行是外循环的循环体,故执行4次;第50行是内循环的循环体,故执行4*3=12次。11.可以定一个较大的循环次数,在循环体中根据条件用ExitFor退出。但这种情况通常用DoWhile循环控制。12.编程(并非唯一正确答案)(1)DimiAsInteger,sAsIntegerFori=1To10s=s+(i+1)*(2*i+1)NextiPrints=;s(2)DimiAsInteger,n3AsInteger,n7AsIntegerFori=1To100IfiMod3=0Thenn3=n3+1IfInt(i/7)=i/7Thenn7=n7+1NextiPrint1-100中3的倍数有;n3;个Print1-100中7的倍数有;n7;个(3)Dims1AsString,s2AsString,iAsIntegers1=InputBox(InputString)s2=Fori=1ToLen(s1)s2=Mid(s1,i,1)+s2NextiPrint原序:;s1Print反序:;s2或Fori=Len(s1)To1Step-1s2=s2+Mid(s1,i,1)Nexti13.输出字符串“10100”。该程序功能是将十进制数转化为二进制。说明:要理解该程序需要了解数制转换的计算方法(有兴趣者参看百度百科)。48是字符0的ASCII码。14.运行时输出22484该程序功能是求x和y最大公约数和最小公倍数。说明:此算法称为“辗转相减法”。可对照例4.17的辗转相除(辗转求余)法。15.[50,100]间的20个随机数,求最大值、最小值、平均值。DimxAsInteger,sumAsInteger,averAsSingleDimn%,i%,max%,min%Randomizemax=50:min=100:n=20Fori=1Tonx=Int(Rnd*51+50)List1.AddItemxsum=sum+xIfxmaxThenmax=xIfxminThenmin=xNextiaver=sum/nPrint最大值:;max,最小值:;min,平均值:;aver习题五1.指定数组的默认下界OptionBase12.合理的数组声明(1)错。定义数组不可用变量(教材99页)。(2)正确。该数组下标为0-11。(3)错。VB中数组下标用圆括号。(4)正确。三维数组三个下标分别为0-1,0-1,0-2,共12个元素。(5)错误。非动态数组,不可重定义。(6)错误。动态数组重定义时不可改变数据类型。(7)正确。二维数组两个下标分别为0-2,0-3,共12个元素。(8)语法错误,二维数组定义中漏写逗号——可能是印刷错误,加上此逗号则正确。3.当引用数组元素时下标值小于定义的最小下标,或大于最大下标时,会发生“下标越界”错误。4.数组名:a;数组类型:Single(单精度浮点型);维数:二维;各维的上下界:第一维下界(最小下标)为-1,上界(最大下标)为2,第二维下界(最小下标)为0,上界(最大下标)为3;数组的大小:4行4列共16个元素以矩阵的格式输出二维数组:Fori=-1To2Forj=0To3Printa(i,j);NextjPrintNexti或写成更加通用的代码形式:Fori=LBound(a,1)ToUBound(a,1)Forj=LBound(a,2)ToUBound(a,2)PrintTab(j*8);a(i,j);NextjPrintNexti6.一维字符数组Dima(1To20)AsStringPrivateSubCommand1_Click()'(1)随机产生字符串DimiAsInteger,jAsInteger,nAsInteger,cAsString*1RandomizeFori=1To20a(i)='将第i个元素清空n=Int(Rnd*10+1)'产生[1,10]的随机数Forj=1Ton'a(i)中有n个字符c=Chr(Int(Rnd*26+97))'随机产生字母97是字母a的ASCII码a(i)=a(i)+cNextjNextiEndSubPrivateSubCommand2_Click()'(2)输出字符串DimiAsIntegerFori=1To20PrintTab(((i-1)Mod5)*11);a(i);IfiMod5=0ThenPrintNextiEndSubPrivateSubCommand3_Click()'(3)最长的字符串DimiAsInteger,imaxAsIntegerimax=1Fori=2To20IfLen(a(i))Len(a(imax))Thenimax=iEndIfNextiPr
本文标题:Visual_Basic_6.0_程序设计教程答案龚沛曾(第三版)
链接地址:https://www.777doc.com/doc-2854951 .html