vb教材习题答案.pdf
第三部分习题与解答第 1 章 程序设计语言与程序设计1.1 填空题1.VB是 以(事件驱动)作为运行机制的新一代可视化程序设计语言。2.程序设计语言是(人)与(计 算 机)交流的工具。3.若从机器执行的角度来对程序设计语言进行分类,则可以分为(低级语言)和(高级语言)两种。4.计算机系统中,对高级语言的翻译工具称为(编 译)程序或(解 释)程序。5.源程序中的错误一般分为(编 译)错误、(运 行)错误和(逻 辑)错误等三种。6.VB把一个应用程序称为一个(工 程),它包含各种文件。1.2 选择题1.把 a 和 b 的乘积写成ab的错误属于(a)编译 b)运行 c)逻辑c)错误。d)编译和运行2.用户在什么时候都可以按(b )键来查看与当前进行的工作相关的帮助。a)H el d b)F l c)E S C d)F 1 03.窗体文件的扩展名为(d )。a).v b p b).b a s c).exe d).f r m4 .指示一个窗体位置的值是窗体的(c )。a)对象 b)事件 c)属性 d)方法5 .下面选项中不能运行V B 程序的操作是(a )。a)双击窗体 b)单 击“启动”按钮图标c)从菜单栏运行菜单中选“全编译执行”菜单命令 d)按F 5 键1.3问答题1 .低级语言和高级语言的各自特点是什么?答:参见教材1。2 .什么是数据描述和数据处理?答:参见教材1.2。3 .源程序的翻译方式有哪两种,简述它们的工作过程。答:参见教材1.1。4.一个好程序的基本要求是什么?答:参见教材1.2。5.V i s u a l B AS I C集成开发环境的主窗口由哪些部分构成?各自的主要功能是什么?答:参见教材1.3。6.简述在V B的环境下,对象、属性、方法、事件和事件驱动程序的概念,并用例子进行说明。答:在V B的环境下,对象是系统中的基本运行实体,它封装了数据和操作。工具箱中的命令按钮、标签、文本框等是对象摸板。控件是由V B工具箱创建的对象。属性是对象的性质或状态特征。例如,窗体的C a p t i o n(标题)、B a c k C o l o r (背景颜色)、H ei g h t (高度)和 W i d t h(宽度)等都是窗体的属性。事件是对象之间传递的消息。V B控件的事件由系统预先定义。例如,C l i c k (单击)事件、D b l C l i c k (双击)事件。方法是对象在某些事件驱动下执行的特定操作。它可以执行系统预定义的操作,例如窗体的P ri n t (打印)方法、S h o w(显示窗体)方法;当事件由用户或V B系统触发时,对象会感受到该事件并对该事件作出响应,响应某个事件后所执行的程序就是事件驱动程序。事件驱动程序有时也称为事件过程。例如,以下是命令按钮C o m m a n d 1在接受单击事件时驱动的程序:P ri va t e S ub C o m m a n d!C l i c k ()P ri n t He l l o wo rl d !E n d S ub7.总 结 使 用V i s ua l B A S I C开发一个应用程序的过程。答:参见教材1.5。8 .下面程序是什么事件驱动程序?如何执行该事件驱动程序?执行的结果如何?P ri va t e S ub C o m m a n d 1 C l i c k()P ri n t 欢迎你使用V B!E n d S ub答:略。1.4编程题编写一个程序。要求设置窗体的标题是“这是我的第一个练习”,且在程序执行后,单击窗体显示如下一行文字:我可以用V i s ua l B A S I C编写程序了!解答:(1)用户界面设计:设计用户界面由一个窗体构成。(2)对用户界面上的控件对象的属性进行设置:把窗体的C a pt i o n属性值设置为“这是我的第一个练习”。(3)编写控件对象的事件驱动程序:P ri va t e S ub Fo rm _ C l i c k()P ri n t 我可以用V i s ua l B A S I C编写程序了!E n d S ub第2章 基本数据类型与表达式2.1填空题1 .在程序设计语言系统中具有固定语法含义的符号串称 为(关 键 字),它们通常用来表示系统提供的标准过程、函数、运算符、常量等。2 .(标 识 符)用于标记用户自定义的常量、类型、变量、控件、过程、函数等名字。3.整型数据占(2 )字节的内存空间。长整型数据占(4)个字节的内存空间。单精度浮点型数据占(4)个字节的内存空间。双精度浮点型数据占(8 )个字节的内存空间。日期型数据占(8 )个字节的内存空间。4.1 0 0%表 示1 0 0为(整)型数据;1 0 0!表 示1 0 0为(单精度浮点)型数据;1 0 0 表示1 0 0 为(货 币)型数据。5.符号常量在某一过程中说明,则该符号常量只能在(该过程内)内有效。6 .若一个整型变量说明了之后没有给它赋值,则它的值 为(0 )o7 .在V B中可以把类型说明符放在变量名的(末 尾)来说明变量的类型。8 .为使V B的编译程序自动检查变量声明,遇到未经说明的标识符发出错误警告信息,在程序中要加上(O p t i o nEx p l i ci t )语句。9 .对含有多种运算的表达式,各种运算之间的顺序为(函 数 运 算)一(算 术 运 算)一(关 系 运 算)一(逻 辑 运 算)。1 0 .把 1 2 3 4.5 6 7 的小数部分四舍五入转换为整数,可使用函数(Ci n t(1 2 3 4.5 6 7)。1 1 .将 x四舍五入到百位(例如,若 x=2 3 8 7 4.5 2 应舍入 成 2 3 9 0 0),可使用表达式(In t(x /1 0 0 +0.5)*1 0 0 )o12.将x从十位截断(例如,x=23874.52应截成23800)可使用表达式(Fix(x/100)*100 或者 Int(x/100)*100或者 Cint(x100)*100)o13.设X为数值变量,求X的常用对数可使用的表达式是(Log(X)/Log(10)o14.要从字符串“Visual BASIC 6.0”中截取子字符串“BASIC”可 使 用 函 数(M id(uVisual BASIC6.0”,8,5)15.设S是字符串变量,并且串长度为7,写出生成由S的偶数序号字符组成的字符串的表达式(例如,把字符串”ABCDEFG”变成“BDF”)。答案:M id(s,2,1)+M id(s,4,1)+M id(s,6,1)16.设S是字符串变量,并且串长度为7,写出用第2i-l个字符代替第2i个字符所得到字符串的表达式(例如,把字符串”ABCDEFG 变成“AACCEEG”)。答案:String(2,M id(s,1,1)+String(2,M id(s,3,1)+String(2,M id(s,5,1)+M id(s,7,1)或:String(2,M id(s,1,1)+String(2,M id(s,3,D)+S t r i n g (2,M i d(s,5,1)+R i g h t (s,1)1 7 .产生从整数a到整数b之间的随机整数可使用表达 式(In t (b-a+1)*R n d+a)。1 8 .产生从1 0 0.0 1到2 0 0.9 9之间的随机数(包括两端点)可 使 用 的 表 达 式 是(In t(2 0 0 9 9-1 0 0 0 1+1)*R n d+1 0 0 0 1)/1 0 0 )。2.2选择题1 .下面选项中(c)是算术运算符。a)%b)&c)M o d d)An d2.下面不合法的标识符是(d)oa)G o _ T o b)T abi c)姓名 d)In t3 .下列选项中,把r定义为双精度型变量的是(c)0a)r%b)r!c)r#d)r$4 .下列表达式中(d)是错误的。a)2 N/5 b)-2 1/5 c)2 7 1/5)d)(-2)7 1/5)5 .在下列选项中,正确表达2曲的表达式是(c)oa)2 a+5 b)2,+2-5 c)2 (a+5)d)2 a2 56 .1 0 M o d 4 的值为(b)oa)1 b)2 c)4 d)1 07 .下列运算符中(a)优先级最高。a)/b)c)M o d d)+8 .在V B中不能表示逻辑真的是(d)oa)T r u e b)-1 c)1 d)T9 .能正确表达a W l或a 2 5的逻辑表达式是(c)。a)a 二 1 54 a=5 b)a=1 ,a=5c)a=5 d)a=51 0 .设X为整型变量,不能正确表达1 X 5的逻辑表达式是(a)oa)1 X 5 b)X=2 o r X=3 o r X=4c)1 X An d X 5 d)N o t (X=5)1 1 .求C0 S 3 5 可以使用的函数是(d)oa)Co s 3 5 b)Co s(3 5)c)Co s(3 5 )d)Co s(3 5*3.1 4 1 5 9/1 8 0)1 2.L en(“中国人民”)的 值 是(b)。a)0 b)4 c)8 d)不能确定1 3.设X是一个正实数,对X的第二位小数四舍五入可使用的函数是(c)oa)In t(X+0.0 5)/1 0 b)In t(X+0.0 5)/1 0)c)In t(1 0*(X+0.0 5)/1 0 d)In t(1 0*(X+0.0 5)/1 0)14.函数In t (R ad*9 9+1)产生随机数的范围是(b)。a)1,9 9)b)1,9 9 c)1,1 0 0)d)1,1 0 0 2.3下列符号哪些是正确的变量名1)n 2)3 x 3)Abs 4)8 5 5)p r i n t _ 5 6 6)名称7)E 8)a%b 9)ab#1 0)M y N am e1 1)“年龄”1 2)学校$答案:除了以下符号外,其它符号都是正确的变量名。错误的变量名 原因3 x 变量名必须以字母为开始Ab s 不能和关键字同名8 5 变量名必须以字母开始兀 不是英文字母a%b _变量名中不能用字符My N am e 变量名内不能有空格字符2.4把下列数学表达式写成V B 表达式1)4 2)1+11 +x+yx x x (a x+b)+c +d)+e3)ln(1+|a +|1 0)4)Ji+/cos 481 25)ct g(-x)6)1 +Xlogic(a2+2 a b+b2)答案:1)l/(l+(l/(l+l/(x+y)2)x*(x*(x*(a*x+b)+c)+d)+e3)Log(1+Ab s(a+b)/(a-b)1 0)4)S qr(l+3.1 4 1 5 9/2*Cos(4 8*3.1 4 1 5 9/1 8 0)5)l/Ta n(l-x*x)/(l+x*x)或 者Cos(l-x*x)/(l+x*x)/S in(1-x*x)/(l+x*x)6)Log(a*a+2*a*b+b*b)/Log(1 0)2.5写出下列函数的值1)Int(-1 2 3 4.5 6 7 8)2)Fix(1 2 3 4.5 6 7 8)3)v a l(“1 2.3 4”)4)Cint(1 2 3 4.5 6 7 8)9)Mid(aVis u a l BAS IC 6.0 ,8,5)5)Ab s(-lOO)6)S gn(-lOO)7)S qr (s qr(1 6)Left(Vis u a l BAS IC 6.0 ,6)8)答案:1 0)InS t r(l,Vis u a l BAS IC 6.0”,“BAS IC )1 1)S t r ing(3,“$”)Int(1 0 0*R nd)+l)1 2)1 1)$1)-1 2 3 5 2)1 2 3 4 3)1 2.3 45)1 0 04)1 2 3 56)-1 7)2 8)Vis u a l1 0)09)BAS IC1 2)产生从整数1 到整数1 0 0 之间的随机整数2.6写出下列表达式的值1)(3+6)2 2)184*4.0-2/1.63)253M od3.2*Int(2.5)4)“xyz”+“438”5)“abc”&“123”&“abc”6)349.25+“0.75”=3507)“china”=aCanadan 8)“abc”4 And 5=5 10)True O r Not7-3=4答案:1)4 2)0 3)2 4)xyz438 5)abcl23abc6)True 7)True 8)True 9)False10)True2.7设a1,a2,a3是布尔变量,其值依次为:True,True,False,写出下列布尔表达式的值1)Not al And Not a2 2)Not al EqvNot a 23)a l Or a 2 And a 3Or a 35)(Not a l Or a 2 )6)Not a l And a 2 Imp答案:1)Fa ls e 2)Tr u e5)Tr u e 6)Tr u e4)a l Xor a 2And(a 2 Or a 3 )a 33)Tr u e 4)Fa ls e2.8用关系表达式或逻辑表达式表示下列条件1)i整 除j 2)n是小于正整数k的偶数3)l=x 1 0 4)x,y 其中有一个小于z5)y H -1 0 0,-1 0 ,并且 y e 1 0,1 0 0 6)坐 标 点(x,y)落 在 以(1 0,20)为圆心,以3 5为半径的圆内7)三条边a,b和c构成三角形8)年份Yea r能被4整除,但不能被1 0 0整除或者能被4 0 0整除答案:1)i Mod j=0 2)nk And n Mod 2=03)l=x And x 1 0 4)x z Or y=-1 0 0 And y=1 0 Andy=1 0 0)6)S qr(x-1 0)-2+(y T5)2)c And b+ca And c+a b8)Yea r Mod 4=0 And y ea r Mod 4 0 0 0 0 Or Yea r Mod 4 0 0=02.9问答题1 .标识符的选取必须遵循什么规则?答:参见教材2.1.202 .各种基本数据类型的取值范围如何?答:参见教材2.2表2-1。3 .空串与空格有什么不同?答:参见教材2.1.1。4.什么是符号常量?使用符号常量有什么好处?答:参见教材2.3.1。5 .自动变量与静态变量如何定义?它们之间有什么不同?答:参见教材2.3.2。6.两个字符串如何进行比较(关系)运算,如何确定运算结果?试举例说明。答:参 见 教 材2.4.3。第3章 程序流程控制3.1填空题1 .设变量r表示圆的半径,则计算圆的面积并赋给变量s使用的赋值语句为(s=3.1 4 1 5 9*r*r )。2 .给命令按钮Comma nd2的Ca pt ion属性赋予字符串“退出”使 用 的 赋 值 语 句 为(Comma nd2.Ca pt ion=退出)。3 .为了求n的阶乘,要求用户输入n的值。程序使用In p u tB o x函数输入,要求对话框提示信息为“请输入一个求阶乘的数:”,标 题 为“求数的阶乘”,并且正确地把输入的信息转换为数值存放到变量n中,则使用的赋值语句为(n=v a l (In p u tB o x (请输入一个求阶乘的数:,求数的阶乘)o4 .如果使用M sgB o x对话框显示提示信息“退出本系统?”,并显示“是(Y e s)”和“否(N o)”两个按钮,显示图标“?”号,指定第一个按钮为默认值以及标题为“提示信息”,则调用M sgB o x函数的形式为(M sgB o x (退出本系统?,4+3 2+0,提 示 信 息 )o5 .如果使用M sgB o x对话框显示提示信息”文件未找到!”,并 显 示“确定”按钮、图 标“!”号和标题“文件查找”,则 使 用 的M sgB o x语 句 为(M sgB o x 文件未找到”,0+4 8+0,文件查找 )o6.要在当前窗体F o r m和立即窗口输出字符串“Visu a lB ASIC 6.0”使用的 P r in t 方法分别是(P r in t Visu a lB ASIC 6.0)和(De b u g.P r in t Visu a l B ASIC 6.0 )o7.使 用P r in t方法时,若用逗号分隔,则按(标 准)格式输出各表达式的值,若用分号分隔,则按(紧 凑)格式输出各表达式的值。8.注释语句是 一 个(非 执 行)语句,VB不对它们进行编译,对程序的执行结果没有任何影响。9.判别变量i是否为偶数,若为偶数就把它显示出来。使用单行结构条件语句为(If i M o d 2=0 T he n p r in tx )。1 0 .判别变量x是否大于0,若大于0,则累加到变量S1 中,否则,累加到变量s2 中,使用的单行结构条件语句为(If x 0 T he n sl=sl+x E l se s2=s2+x )。2x+1 x 01 1 .给定分段函数y=,0 X=0,求 y的值,使用2x 1 x 0 T he n y=2*x+l E l se If x=0T he n y=0 E l se y=2*x T )。1 2 .判别a是否等于b,若 a 二 b,则 输 出 字 符 串“a ise q u a l to b”的块结构条件语句为()。答案:If a=b T he nP r in t“a is e q u a l to b”E n d1 3 .判别c h是否为小写字母,若是,输 出“y e s”;否则,输 出“N o”的块结构条件语句为()0答案:If Asc(c h)=9 7 An d Asc(c h)y T hen Prin t x y b)If x T hen t =t *xc)If x M o d 3=2 T hen?x d)If x bT hen m ax=a E ls em ax=b E n d Ifb)If abT hen m ax=aE ls em ax=bE n d Ifc)If abT hend)If ab T henm ax=am ax=aE ls eE ls e9.m ax 二 bm ax=bE n d If下列C as e语句中正确的是(c)。a)S elect C as e xy=x*xTC as e 1 Or 3 Or 5C as e Is 1 0y=x+lE n d S electb)S elect C as e xC as e 1,3,5c)S elect C as exC as e Is 0y=S qr(x)+1E n d S electy=2*x TC as e Is x=lA n d x 1 0y=x*x+lE n d S elect1 0.执行下列程序段后屏幕上(c)。i%=1 0 :S um =0W hile i 1S um =S um +ii=i-1W en dPrin t S uma)无显示 b)显 示1 0 c)显 示54 d)显示551 1 .执行下列程序段输出结果是(c)。x%=2D o w hile x 3,0.7 5Prin t -2*3/2 ;V is ual&B A S IC ;N o t 53;0.7 5x=1 2.3 4Prin t x=;Prin t x17E n d S ub答 案:-3V is ual B A S ICFals e.7 5-3 V is ual B A S IC Fals e.7 5x=1 2.3 42.Privat e S ub Fo rm C lickPrin t T ab(1 0);-1 0 0;T ab(2 0);2 0 0;T ab(3 0);-3 0 0Prin t S p c(1 0);-1 0 0;S p c(1 0);2 0 0;S p c(1 0);-3 0 0E n d S ub答案:-1 0 0 2 0 0 -3 0 0-1 0 0 2 0 0 -3 0 03.Privat e S ub Fo rm C lickx=1 2.3 5Prin t Fo rm at (x,#.#)Prin t Fo rm at (x,#.#)Prin t Fo rm at (x,0 0 0.0 0 )Prin t Fo rm at (x,0 0.0 )18Prin t Fo rm at (x,0.0 0%”)Prin t Fo rm at (x,$#.#)Prin t Fo rm at (x,+#.#)Prin t Fo rm at (x,0 0.0 0 E+0 0 )E n d S ub答 案:1 2.3 51 2.3 50 1 2.3 51 2.41 2 3 5.0 0%$1 2.3 5+1 2.3 51 2.3 5e+0 04.Privat e S ub C o m m an d1 _ C 1 ick()D im a%,b%,c%,s%,w%,t%a=-1:b=3:c=3s=0:w =0:t=0If c 0 T hen s =a+bIf a=0 T hen19If c 0 Then w=a-b Else t=cEnd Ifc=a+bPrint a,b,cPrint s,w,tEnd Sub答案:T 3 22 0 05.Private Sub CommandI Click()Dim x%,y%x=InputBox(请输入 x 的值:)Select Case xCase 1,3,5y=x-1Case 6 To 1020y =x +1C as e 2,4y =2 *xC as e Is 1 0y =x *x +1E n d S electPrin t x=;x,y=;yE n d S ub(x的输入值为2.5、8、4和1 5)答案:x=2 y=4x=8 y=9x=4 y=8x=1 5 y=2 2 66.Privat e S ub C o m m an dIC lick()D im i%,t!t =1:i =1W hile i 8If i M o d 2 =1 T henx =x *iE ls ey =y *iE n d Ifi =i +1L o o pPrin t x=;x,y=;yE n d S ub答案:x=1 0 5 y=3 8 48.Privat e S ub C o m m an dl C lick()22Dim p%,s%p=1:s=1Dop=p+2:s=s+pLoop W hile p10Print s=;sEnd Sub答案:s二369.Private Sub Commandl_Click()Dim m%,n%For m=l to 3n=0W hile n=8 5 T henT ex t 2.T ex t =V ery go o d!”E ls elf s co re=6 0 T henT ex t 2.T ex t =Go o d!”E ls eT ex t 2.T ex t =N o go o d!E n d If25E n d S ubPrivat e S ub C o m m an d2 _ C lick()E n dE n d S ub(3)运行情况运行程序后,屏幕出现用户界面。把鼠标移到T ex t l文本框并单击,输入分数。然后,单 击“开始”命令按钮,系统执行C o m m an d 1 _ C lick事件过程。执行结果如图3.3.1所示。单击标题为“结束”的命令按钮,执行C o m m an d2 _ C lick事件过程,结束程序的执行。根据分数绐定评语图3.3.1第1题的执行结果2.求一元二次方程ax 2+bx+c=0的根。解答:(1)界面设计和属性设置在窗体上建立两个命令按钮。窗体和命令按钮的主要属26性设置如表3-3-2所小。表 3-3-2 第 2 题的属性设置控件名称属性名属 性值FormlCaption求一元二次方程的根Command1Caption开始Command2Caption结束(2)程序代码由中学数学知识知道,求一元二次方程的根的公式为:-bylb2-4ac2 一五一编程时要考虑如下各种情况:当 a=0时,方程不是二次方程;当 b2-4ac=0时,有两个相同的实根:X12=-A;L2 2a 当 b2-4ac0时,有 两 个 不 同 的 实 根:-b+!b-4ac.X,-2 2a,当 b2-4ac0时,有 两 个 共 物 复 根:27Private Sub Commandl_Click()CisDim al,b!,c!,disc!,xl!,x2!,realpart!,imagpart!a=InputBox(请输入方程的系数a:)b=InputBox(请输入方程的系数b:)c二InputBox(请输入方程的系数c:)Print:PrintPrint Tab(10);输入方程的系数为:;a=;a;b=b ;c=;cPrintIf Abs(a)=0.000001 ThenPrint Tab(15);方程不是一个二次方程!Elsedisc=b-2 -4*a*cIf Abs(disc)0.000001 Then28xl=(-b+S qr(disc)/(2 *a)x2 =(-b-S qr(disc)/(2 *a)P rint Tab(5);方程有两个实根:P rint Tab(1 8);xl=;xlP rint Tab(1 8);x2=;x2Elself disc 0.0 0 0 0 0 1 Thenrealpart=-b/(2 *a):imagpartS qr(-disc)/(2 *a)P rint Tab(5);方程有两个虚根:;P rint Tab(1 8);xl=;realpart;+imagpart;P rintTab(1 8);x2=;realpart;imagpart;iEnd I fEnd I fEnd S ubP rivate S ub C ommand2 _C lick()End S ub29注 意,程 序 中 的 条 件“fabs(a)=0.0 0 0 0 0 1 和“fabs(disc)=0.0 0 0 0 0 1”分别用来判断a和disc的值是否为0。因为实数在计算机计算和存储时会有微小的误差,若用 若=0”和“disc=0”来判断a和disc是否为0,则会由于误差导致条件不成立,无法得到正确的运行结果。(3)运行情况运 行 程 序 后,单 击“开 始”命 令 按 钮,执行C ommandl C lick事件过程。执行时,在I nputB ox框中输入a、b和c三个系数。图3.3.2 图3.3.5显示了不同系数输入的执行结果。求一元二次方程的根-1!x|输入方程的系数为:a=1 b=5 c=1方程有两个实根:xl=-.2087121x2=-4.791288:并 始 J 结束图 3.3.2图3.3.3执行结果(b)执行结果(a)30 求一元二次方程的根,1!x|输入方程的系数为:a=2 b=3 c=4方程有两个虚根:x l=-.75 +1.19895 8 ix 2=-.75 -1.19895 8 i:并焙结束图 3.3.4执行结果(c)图3.3.5执行结果(d)3.给 定 函 数y二3%-52 cos x+1V1+x2x-4 x 4-51 =x 22=x 44=x =1 A nd x =5 ThenS elect C ase xC ase I s 2y=3 *x-5C ase I s 4y=2 *C os(x)+1C ase I s =0 Thenf=U C ase(I nputB ox(输入运算标志:+C hr(1 3)k _C(计算周长)+C hr(1 3)&_34A(计算面积)+C hr(1 3)&B两者都计算)提示信息分多行显示S elect C ase fc C ase CP rint Tab(lO);半径 r=;r;”圆周长二 ;r*2 *piC ase A P rint Tab(lO);“半径 r=;r;圆面积=;r-2 *piC ase B P rint Tab(lO);半径 r=;r;圆周长=;r*2 *piP rint Tab(lO);半径 r=;r;圆面积=;r 2 *piC ase ElseP rint Tab(18)输入的运算标志错!End S electElse35P rint Tab(1 8);半径不能是负数!End I fEnd S ubP rivate S ub C ommand2 _C lick()EndEnd S ub(3)运行情况运行程序后,单击标 题 为“开始”的命令按钮,执行C ommandl_C lick事件过程。按I nputB ox对话框的提示输入半径r和运算标志。计算结果在窗体上显示。5.求 满 足l2+22+-+n2 1 0 0 0的 最 小n值。(要求使用WhileWEnd 语句)解答:(1)界面设计和属性设置在窗体上建立两个命令按钮。窗体和命令按钮的主要属性设置如表3-3-5所示。表3-3-5第5题的属性设置控件名称属性名属 性值36FormlC aption求满足r2+2 2+n 2 1 0 0 0 的最小n 值C ommandlC aption开始C ommand2C aption结束(2)程序代码P rivate S ub C ommandl C lick()Dim n%s&n=0:s=0While s 1 0 0 0 的最小n值为:;nEnd S ubP rivate S ub C ommand2 _C lick()37EndEnd S ub6.输入若干个正实数,个数预先不能确定,求这些正实数之和。(要求分别使用D o W hil eL o o p语 句 和 D oUn til L o o p 语句)解答:(D 界面设计和属性设置在窗体上建立三个命令按钮。窗体和命令按钮的主要属性设置如表3-3-6 所示。表3-3-6第6题的属性设置控件名称属性名属性值F o rm lCaptio n求正实数之和Co m m an d 1Captio nDoW hil eL o o pCo m m an d 2Captio nDoUn til L o o pCo m m an d sCaptio n结束(2)程序代码38Private Sub Co m m an d l Cl ic k()CisD im a!,s!a=I n putBo x(输入一个实数:)D o W hil e a =0s=s+aa=I n putBo x (输入一个实数:)L o o pPrin t:Prin tPrin t Tab(1 5);输入的正实数之和为:;sE n d SubPrivate Sub Co m m an d 2 c l ic k()CisD im a!,s!a=I n putBo x (输入一个实数:)D o Un til a =0.0 0 0 0 0 0 0 1Prin t:Prin t:Prin tPrin t Tab(8);圆周率的近似值为:;Sqr(6 *s)E n d SubPrivate Sub Co m m an d 2 _Cl ic k()E n dE n d Sub(3)运行情况运行程序后,单击标题为“开始”的命令按钮,执行Co m m an d l Cl ic k事件过程。计算结果在窗体上显示。8.由数值计算方法可知,用牛顿迭代法解方程f(x)=0的迭代公式为:Xn+1=xn-f(xn)/f(X n)(n =0,1,2,)试用牛顿迭代法求解方程X5-3X2+2 x +l=0在xo=O附近的根。(要求使用D o L o o p Un til语句)解答:(1)界面设计和属性设置在窗体上建立两个命令按钮。窗体和命令按钮的主要属42性设置如表3-3-8所小。表3-3-8第8题的属性设置控件名称属性名属性值FormlCaption用 牛 顿 法求方程的根Command1Caption开始Command2Caption结束(2)程序代码根据迭代公式,牛顿迭代法的计算过程为:令n=0,由迭代公式得玉=x 0-/(x。)/(/),然后判别I x-x o I是否小于 (给定精度)。若是,则迭代结束,Xi作为方程的近似根;否则,进行下一步。令n=l,由迭代公式得一匹7 5)/但),然后判别I X2-X1|是否小E o若是,则迭代结束,X 2作为方程的近似根;否 则,由X2求X3的值,判断|X3 X2 I OIII按这样迭代下去,一直到I Xi+iXi|E(i=0,1,2,)为止。43根据上述计算过程可以编写程序为:Private Sub Co m m an d l _Cl ic k()D im x O!,x l!x l =0D ox O=x lx l =x O-(x O 5-3*x02+2*x0+l)/(5 *x O-4 -6 *x O+2)L o o p Un til Abs(x l -x O)0.0 0 0 0 1Prin t Tab(1 0);方程的根为:;x lE n d SubPrivate Sub Co m m an d 2 _Cl ic k()E n dE n d Sub(3)运行情况运行程序后,单 击 标 题 为“开始”的命令按钮,执行Co m m an d 1 _Cl ic k事件过程。在窗体上显示计算结果。9.求 S=i_L+_L _L+J _ L 的值。2 3 4 99 10()解答:44(1)界面设计和属性设置在窗体上建立两个命令按钮。窗体和命令按钮的主要属性设置如表3-3-9所示。表3-3-9第9题的属性设置控件名称属性名属性值F o rm lCaptio n求s=l-l/2+l/3-l/4+-+l/9 9-l/1 0 0的值Co m m an d 1Captio n开始Co m m an d 2 Captio n结束程序代码Private Sub Co m m an d l Cl ic k()D im i%,s!,sign%sign =1:s=0F o r i=1 To 1 0 0s=s+sign *1 /isign =-signNex t i45Prin t:Prin t:Prin tPrin t Tab(1 8);“s的值为:;sE n d SubPrivate Sub Co m m an d 2 _Cl ic k()E n dE n d Sub(3)运行情况运行程序后,单 击 标 题 为“开始”的命令按钮,执行Co m m an d l _Cl ic k事件过程。窗体显示计算结果。1 0.求1 0 0到9 9 9中的水仙花数。所谓水仙花数是指一个三位数,它的各位数字的立方之和等于该数。例如,因为1 5 3=I3+53+33,所 以1 5 3是水仙花数。解答:(1)界面设计和属性设置在窗体上建立两个命令按钮。窗体和命令按钮的主要属性设置如表3-3-1 0所示。表 3-3-1 0 第 10题的属性设置控件名称属性名属 性值46F o rm lCaptio n求 水 仙花数Co m m an d 1Captio n开始Co m m an d 2Captio n结束程序代码Private Sub Co m m an d l Cl ic k()D im i%,a%,b%,c%Prin tPrin t Tab(5);1 0 0 9 9 9之间的水仙花数为:F o r i=1 0 0 To 9 9 9a=i 1 0 0b=(i-a*1 0 0)1 0c =i -a*1 0 0 -b*1 0If i=a 3+b 3+c3 ThenPrin t Tab(1 0);iE n d I fNex t iE n d Sub47Private Sub Co m m an d 2 c l ic k()E n dE n d Sub运行情况执行结果如图3.3.7 所示。.求水釉花数100-999之间的水仙花数为:153370371407:.J 结束图3.3.7 第 1 0 题的执行结果1 1.求 1 0 0 0 之内的所有完数。所谓完数是指一个数恰好等于它的所有因子之和。例如,因为6=1+2+3,所以6 为完数。解答:(1)界面设计和属性设置在窗体上建立两个命令按钮。窗体和命令