资源描述
新编Visual Basic程序设计教程部分习题解答徐州医学院 生物医学工程专业第一章 Visua l Ba sic导论1.VB是用于开发 环境下应用程序的工具。(B)A.DOS B.Windows C.DOS 和 Windows D.UNIX2.VB6.0是 位操作系统下的应用程序开发工具。(A)A.32 B.16 C.32 或 16 D.643.一个对象可执行的动作与可被一个对象所识别的动作分别称为(B)A.事件、方法 B.方法、事件 C.属性、方法 D.过程、事件4.有一个红色、充满氢气的气球,如果人不小心松开手抓的引线,就会飞走;如果用针刺它,则会爆破。请问,对于气球对象,哪些是属性、哪些是事件、哪些是方法?答:属性是红色、氢气;事件是松开、针刺;方法是飞走、爆破。5.简述事件驱动过程程序的设计原理?答:使用VB不仅可以非常便捷地设计出Windows应用程序的窗口界面,设置界面中各种对象的属性,而且可以通过编写程序代码段,为对 象规定在被某个“事件”激活时应发生的各种动作以及所要进行的信息处理的具体内容,这样的代码段称为“过程”。为各个对象编写的过 程集合在起,就构成一个完整的应用程序。6.VB的集成开发环境都有哪些元素些组成?答:VB的集成开发环境由标题条、菜单条、弹出式菜单(上下文菜单)、工具栏、控件工具箱、初始窗体、工程资源管理器子窗口、属性子 窗口、窗体布局子窗口、代码编辑器窗口、立即、本地和监视窗口等。7.简述用VB开发应用程序的一般步骤?答:VB开发应用程序的一般步骤是:创建程序的用户界面;设置界面上各个对象的属性;编写对象响应事件的程序代码;保存工 程;测试和调试应用程序,检查并排除程序中的错误;创建可执行程序。第三章 常用控件及界面设计1.窗体的属性主要可分为几类?Caption属性和Name属性有何不同?答:窗体的属性主要可分为:杂项、外观、行为、字体、位置等五类。Caption:窗体标题,是出现在窗体标题栏上的文本内容:Name:窗体 名称,在程序代码中被作为对象的标识名。2.以下窗体名中哪些是非法的窗体名?(ABE)A.aform B.3frm C.D.frm5 E.f_l*3.VB为什么要提供多种窗体边框风格?试从已学习过的各种Windows应用程序的窗口中举例说明?答:VB中提供了六种窗体的边框风格,如设定值为1和3,它表示Windows应用程序中的对话框,其大小不可改变;设定值为2表示Windows 应用程序中的窗口,其大小可以改变。4.在桌面上存在多个窗口时,改变窗口的工作状态会引发何种事件?改变窗口大小呢?答:改变窗口的工作状态会引发激活事件和失去激活事件;改变窗口大小会引发Resize事件。5.(略)6.有程序代码如下:Form2.Caption=Help,试问:Form2、Caption 和 Help 分别代表_(C)A.对象、值、属性 B.值、属性、对象C.对象、属性、值 D.属性、对象、值7.VB的常用控件中,哪些控件具有Caption属性,而没有Text属性?哪些控件具有Text属性,却没有Caption属性?答:具有Caption属性而没有Text属性的控件有:标签、命令按钮、复选框、选项按钮、框架;具有Text属性而没有C叩tion属性的控件有:文本框、组合框、列表框。8.对象的属性是否只能在设计界面时在属性窗口中进行设置?属性窗口中的属性列表是否包括了一个对象的所有属性?答:属性的设置既可以在属性窗口中进行设置,也可以在程序代码中进行设置,但有些对象的有些属性只能在属性窗口中进行设置,如文本 框的多行属性,有些对象的有些属性只能在程序代码中进行设置,如列表框的列表项数目属性;属性窗口中的属性列表中不包括一个对象的 所有属性,如列表框的Listindex属性、ListCount属性就不在属性列表中。9.除窗体之外,还有哪些控件可作为其他控件的容器使用?答:还有:框架、图片框10.常用控件中具有Value属性的控件有哪些?它们的取值及类型有何异同?答:常用控件中具有Value属性的控件有:选项按钮、复选框、滚动条:(1)选项按钮的取值为逻辑型,选中该选项按钮时,其值为True,未选中该选项按钮时,其值为False;(2)复选框的取值为数值型,选中该复选框时,其值为1,未选中该复选框是,其值为0,复选框变灰时,其值为2;(3)滚动条的取值为数值型,其值为滚动块在滚条中的位置。11.哪些控件对象可以获得焦点?某程序的界面上有多个文本框,还有命令按钮,如果没有特别设置,在程序启动时,哪个控件将具有焦点?答:可以获得焦点的控件对象:文本框、命令按钮、选项按钮、复选框、列表框、组合框、滚动条(水平滚动条、垂直滚动条)如果没有特别设置,在程序启动时,首先设置具有焦点的控件将具有焦点。12.以下使用方法的代码中,正确的是(C)A.Label 1.SetFocus B.Form 1.ClearC.Textl.SetFocus D.Combo 1.Cis将复选框的Value属性设为2,其效果与把它的Enabled属性设置为False有何异同?若把一个控件的Visible属性设为False,意味着什么?答:将史选框的Value属性设为2,表示该第选框暂时变灰,启动后仍然可以对其操作,而将身选框的Enabled属性设置为False,表示该复 选框灰化,启动后不可以对其操作,直到将Enabled属性设置为True,才能对其操作。若把一个控件的Visible属性设为False,表示该控件不 可见。14.如何给一个列表框或组合框控件增添列表项?已有的列表项如何删除?答:给列表框或组合框控件增添列表项,可用属性窗口中的List属性,或在程序代码中使用Additem方法。如果删除所有的列表项可用Clear 方法,如果删除某,列表项可用Removeitem方法。1附:显示、清除、删除方法1.显示方法:窗 体窗体名Print内容例:FormlJPrint”学习 Visual Basic(2)文本框 文本框名.Text=内容例:Textl.Text=学习 Visual Basic(3)标 签 标签名.Caption=内容例:Labell.Caption=学习 Visual Basic(4)图片框 图片框名.Print 内容例:Picture 1.Print”学习 Visual Basic(5)列表框 列表框名.Additem 内容,位置号例:Listl.Additem”学习 Visual BasicList 1.Additem 学习 Visual Basic,6(6)组合框 组合框名.Additem 内容,位置号例:Combo 1.Additem”学习 Visual BasicCombo 1.Additem”学习 Visual Basic,62.清除方法窗 体窗体名JCls例:Forml.Cls(2)文本框 文本框名.Text=例:Textl.Text=标 签 标签名.Caption=例:Label 1.Caption=(4)图片框 图片框名.Print 内容例:Picture l.Cls(5)列表框 列表框名.Clear例:Listl.Clear(6)组合框 组合框名.Clear例:Combo 1.Clear3.删除方法列表框 歹U表框名.Removeitem 位置号例:Listl.Removeitem Listl.Listindex(2)组合框 组合框名.Additem 内容,位置号例:Combo 1.Removeitem Combol.Listlndex2第四章 数据 表达式与简单程序设计如果编写的过程要被多个窗体及其对象调用,应将这些过程放在哪一类模块中?(B)A.窗体模块 B.标准模块 C.工程 D.类模块1.事件过程与通用过程的主要区别是什么?答:事件过程是指为窗体以及窗体上的各种对象编写的用来响应由用户或系统引发的各种事件的代码行;通用过程是指一个应用程序中的多 个窗体可以共享一些代码,或者个窗体内不同的事件过程可以共享的一些代码;事件过程是由用户或系统响应某个事件而执行的,通用过 程是由事件过程或其他通用过程调用而执行的。2.通用过程只能存在于标准模块中,这种说法对吗?答:不对,通用过程既可存在于标准模块中,也可存在于窗体模块中。3.VB有哪些数据类型?答:VB中的数据类型有:整型、长整型、单精度、双精度、定长字符型、变长字符型、逻辑型、字节型、日期型、货币型、对象型、变体型。4.字符型常量与日期型常量在使用时有何区别?下列常量中哪些是字符串型常量,哪些是日期型常量?哪些什么也不是?A.I am a student.B.“江苏南京”C.#02/25/1999#D.January 1,19 9 3#E.“02/25/19 9 9#F.January 1,19 9 3”答:字符型常量在使用时要加西文的双引号,日期型常量再使用时要加#号;字符型常量有:A、B;H期型常量有:C、D;什么也不是:E、F。5.下列符号中哪些是VB合法的变量名?A.blnFra g B._a5b C.IngNum D.Area _TYia ngleE.User&Input F.5Name答:合法的变量名有:A、C、D6.变量作用域包括几个等级?说明的方式有何区别?答:变量作用域包括三个等级:过程级、窗体级、全局级。局部(过程级):用Dim、Static在过程中定义,作用范围:该过程,脱离该过程 后无效,也就是在其它过程中无效;Static:静态变量,脱离该过程后,变量的值不消失,用于子过程或函数过程中;窗体(模块)级:用Private、Dim在通用/声明部分定义,作用范围:该窗体中所有过程,脱离该窗体后无效,也就是在其它窗体的过程中无效;全局(公有的):用Public 在通用/声明部分定义;如果在标准模块中定义,则作用范围为该工程的所有窗体,调用时直接使用变量名;如果在窗体模块中定义,则作用 范围为该工程的所有窗体,但本窗体调用时直接使用变量名,该工程中其它窗体调用时,须加定义时的窗体名作为前缀。7.写出下面数学式对应的算术表达式。(1)b+y a v x+Jx?+12y(3)(ax+byax-by)1+Ur 1+5a/(b+c/d)(x+Sqr(x*x+l)A(l/3)2*y/(a*x+b*y)*(a*x-b*y)1+1/d+l/m)(d/3)A(2*x)/23(6)+cos2 x)Log(y+cos(x)A2)x 3C+SHT X x+yAbs(Exp(x)+Sin(x)A3)/(x+y)i 4-ltan_1 z+cos3 x(8)111%+y-zLog(Exp(x*y)+Abs(Ta n(z)A(-l)+Cos(x)A3)/(x+y-z)8.指出并改正下面数学式对应的VB算术表达式中的错语。a+b(1)ab a+b/a-b(a+b)/(a-b)abc(2)(1+1),ABC/(D+1)*Y A*B*C/(D+1)*Y)(3)(XjO XYA5(X*Y)A59.将下面的条件用VB的逻辑表达式表示。(1)X+Y小于10且X-Y要大于0(2)X、Y都是正整数或都是负整数(3)A、B之一为零但不得同时为零(4)C1+C2+C3大于等于255或C1与C2分别大于90且C3大于80答:(1)X+Y0(2)X*Y0 And X=Int(X)And Y=Int(Y)(3)A*B=0 And AoB 或 A=0 Xor B=0(4)C1+C2+C3=255 Or Cl9 0 And C29 0 And C38010.求下列表达式的运算结果:Mid(4tVisual Basic”,1,12)=RightC4Programming Language Visual Basic”,12)True“ABCRG”=abcde”Fa lseInt(l 34.69)=Cint(l 34.69)Fa lse78.9/32.77-4.9 8 Fa lseStr(32.345)=Cstr(32.345)Fa lse11.下列语句代码哪些可正常执行(正常执行是指系统不给出出错提示)?A.Print 32765+3 溢出B.Print 5+7=14 Fa lseC.Print 256/128 2D.Print“14”+32 46E.Print“14”&32“1432”答:能正常执行的语句有:B、C、D、E,具体执行结果见上。12.VB只有求自然对象的函数Log(X),如果计算式中需要使用常用对数或以2为底的对数,应如何处理?答:使用换底公式。常用对数:Ln(x)应用Log(x)/Log(10)表示;Log 2(x)应用Log(x)/Log表示。13.执行语句代码Print Format(7543.568,#,#0.00),以下答案中那一个是正确的结果。(C)A.7543.57 B.7,543.56 C.7,543.57 D.7543.564第s章 算法基础Visua l Ba sic的基本语句1.设X与Y是同 类型的变量,试设计个算法,把X与Y中的数据相互交换。答:S1:输入X与YS2:X=AS3:Y=XS4:A=YS5:输出X与Y程序代码如下:数据交换A=1 B=一换I 清除|结束|Option ExplicitDim A As String,B As String,temp As StringPrivate Sub Commandl_Click()A=Textl.TextB=Text2.Text temp=A A=B B=temp Text 1.Text=A Text2.Text=B End Sub Private Sub Command2_Click()Textl.Text 二”Text2.Text=Textl.SetFocusEnd SubPrivate Sub Command3_Click()Unload MeEnd Sub2.设A、B、C是同一类型的变量,并分别被赋予不同大小的数据,设计一个算法,使得执行的结果为ABC答:S1:输入A、B、CS2:如果AB,则A与B交换S3:如果AC,则A与C交换S4:如果BC,则B与C交换S5:输出 A、B、C程序代码如下:Option ExplicitPrivate Sub Commandl_Click()Dim a As Integer,b As Integer,c As IntegerDim t As Integera=Textl.Text:b=Text2.Text:c=Text3.TextIf a b Then:t=a:a=b:b=t:EndIf a c Then:t=a:a=c:c=t:EndIf b c Then:t=b:b=c:c=t:End5Text4.Text=aText5.Text=bText6.Text=cEnd SubPrivate Sub Command2_Click()Textl.Text=,nText2.Text=nText3.Text=H,Text4.Text=Text5.Text=nText6.Text=nTextl.SetFocusEnd SubPrivate Sub Command3_Click()Unload MeEnd Sub3.设计一个可以判断某数是否是素数的算法。答:S1:输入一个正整数NS2:1=2S3:如果N能被I整数,则转S7S4:1=1+1S5:如果I小于等于N小则转S3S6:输出N是素数,程序结束S7:输出N不是素数,程序结束程序代码如下:Option ExplicitDim x As LongPrivate Sub Commandl_Click()Dim i As IntegerFor i=2 To x-1If x Mod i=0 Then Exit ForNext iIf i=x ThenText2.Text=是素数”ElseText2.Text=不是素数”End IfEnd SubPrivate Sub Command2_Click()Unload MeEnd Sub Forml数 pF判断|是素数“判:断退出|Private Sub Text 1 _Change()6x=Val(Textl.Text)End Sub4.设计一个判断某正整数是一个回文数的算法。所谓回文数是指左右数字完全对称的自然数。答:S1:输入一个数字字符串SS2:1=1S3:如果第I个数字与倒数第I个数字不同,则转S7S4:1=1+1S5:如果I小于等于字符串长度的一半,则返回S3S6:输出S是回文数,程序结束S7:输出S不是回文数,程序结束程序代码如下:Option ExplicitPrivate Sub Command 1 _Click()Dim x As String,i As Integerx=Textl.TextFor i=1 To Len(x)/2If Mid(x,i,1)Mid(x,Len(x)-i+1,1)Then Exit ForNext iIf i Len(x)/2 ThenLabel 1.Caption=是回文数ElseLabel 1.Caption=不是回文数”End IfEnd SubPrivate Sub Command2_Click()Labell.Caption=H,Textl.Text=,nEnd SubPrivate Sub Command3_Click()Unload MeEnd Sub5.设计一个算法,求出给定的自然数的所有因子。答:S1:输入一个正整数NS2:1=1S3:如果N能被I整数,则输出IS4:1=1+1S5:如果I小于等于N则转S3S6:程序结束程序代码如下:Option ExplicitPrivate Sub Form_Click()Form!-IOI x|29 86的所有因子如下:1 2 149 3 29 86共有4个。Dim x As Long,i As Long,j As Longx=InputBox(请输入一个自然数:”)7Print x&”的所有因子如下:For i=1 To xIfxModi=OThenPrint i;j=j+1Ifj Mod 10=0 Then PrintEnd IfNext iPrintPrint共有;j;个。”End Suh6.在文本框Textl与Text2中分别输入35与48,变量S与X分别为字符型与整型,试问以下赋值语句的执行结果是什么?(1)X=Textl.Text+Text2.Text3548(2)S=Te S=Textl.Text+Text2.Text“3548”(3)xtl.Text&Text2.Text“3548”(4)X=Textl.Text&Text2.Text3548(5)S=Val(Text 1.Text)+Text2.Text“83”(6)X=Val(Textl.Text)+Text2.Text83S=Val(Textl.Text)&Text2.Text“3548”(8)X=Val(Text 1.Text)&Text2.Text35487.根据下图填空:z=InputBox(输入一个数:”,程序示例”,L5)1.写出显示如下图所示信息框的MsgBox函数。MsgBox(Z 的值&Str(z)&”大于 0,48,”程序示例”)2.阅读程序,写出执行结果。(1)Private Sub Form_Click()Dim a As Integer,b As Integera-1:b=0Do While a=20 Then Exit ForNext iPrint i,pEnd Sub运行结果为:6 5(4)Private Sub Form_Click()Dim p As Integer,i As Integer,n As Integerp=2:n=20For i=1 To n Step pP=P+2n=n-3i=i+1If p=10 Then Exit ForNext iPrint i,p,nEnd Sub运行结果为:11 10 810.编写程序,随机生成100个两位整数,并统计出其中小于等于40、大于40且小于等于70及大于70的数据个数。Option ExplicitOption Base 1Private Sub Commandl_Click()Dim a(100)As Integer,i As Integer,m As Integer,n As Integer,k As Integer9Picture】.Print”生成100个两位随机整数”For i=1 To 100a(i)=Int(Rnd*9 0)+10Picturel.Print a(i);If i Mod 10=0Then Picturel.PrintNext im=0:n=0:k=0For i=1 To 100Ifa(i)40 And a(i)=70 Thenn=n+1Elsek=k+1End IfNext iPicturel.Print”统计情况:”Picturel.Print”小于等于40的数有”;mPicturel.Print”小于等于70的数有”;nPicturel.Print”大于 70 的数有;kEnd SubPrivate Sub Command2_Click()Picturel.CisEnd SubPrivate Sub Command3_Click()Unload MeEnd SubForml*1DJ xj3 4749 6 6106 715813496587949473215478944375为 2743074021 田 6816737OC94有一6 138159456 冏 3869193484攵 7321186 6 24方345969631396609 6 828 579331429511862956 6 2118671326938 5-88142 6 887169826649839533174871153 2584818557 4 3 5 16 5 15 4执行清除|退出|11.随机生成20个100以内的正整数,将其中的奇数和偶数分两行显示在窗体上。Option ExplicitOption Base 1Private Sub Command 1 _Click()Dim a(20)As Integer,i As Integer,m As String,n As StringPiclurel.Prim”生成20个10()以内的正整数”For i=1 To 20a(i)=Int(Rnd*100)+1Picturel.Print a(i);If i Mod 10=0 Then Picturel.PrintNext iFor i=1 To 20Ifa(i)Mod2oOThen m=m+Str(a(i)Elsen=n+Str(a(i)生成20个100以内的正整数71 54 58 29 31 785 42 87 80 38 97奇数行71 29 31 77 71 5 87 97偶数行54 58 78 2 82 42 80 38清除IEnd If2 8828 5977 610Next iPicture 1.Print”奇数行”Picture 1.Print mPicture】.Print”偶数行”Picture 1.Print nEnd SubPrivate Sub Command2_Click()Picture 1.CisEnd SubPrivate Sub Command3_Click()Unload MeEnd Sub12.编写程序求出100以内的所有勾股数,所谓勾股数是指满足条件a?+b2=c2(arb)的自然数(无参考界面)Option ExplicitPrivate Sub Form_Click()Dim a As Integer,b As Integer,c As Integer,j As LongFor a=1 To 100For b=1 To 100For c=1 To 100If a b ThenIfa*a+b*b=c*c ThenPrint a;a;+”;Print b;“朴;b;Print c;c;j=j+1If j Mod 2=0 Then PrintEnd IfEnd IfNext cNext bNext aEnd Sub13.设计一个用:分法求方程x3-x4+4xlR在区间0,1上的一个实根。Option ExplicitPrivate Sub Command l_Click()Dim a As Single,b As Single,c As Single,fa As Single,fb As Single,fc As SingleDoa=0:b=1fa=aA3-aA4+4*aA2-lfb=bA3-bA4+4*bA2-lIf fa*fb=0 Thena=c:fa=fcElseb=c:fb=fcEnd IfLoop Until Abs(a-b)0.0000001 And fclE-7Text 1.Text=x=&Format(c,#0.0000000)Exit DoElseTextl.Text=方程在此区间无解!”Exit DoEnd IfLoopEnd SubPrivate Sub Command2_Click()Unload MeEnd Sub解方程区间:0,1方程的解为:|x=0.4850840I解质程1 退出I12第六章教 组2.随机生成15个100以内的正整数并显示在一个文本框中,再将所有对称位置的两个数据对调后显示在另一个文本框中。Option ExplicitOption Base 1Dim a(15)As IntegerPrivate Sub Command l_Click()Dim i As IntegerRandomizeFor i=1 To 15a(i)=Int(Rnd*100)+1Textl.Text=Textl.Text+Format(a(i),n00)+Space(2)Next iEnd SubPrivate Sub Command2_Click()Dim i As Integer,t As IntegerFor i=1 To UBound(a)/2t=a(i)a(i)=a(UBound(a)+1-i)a(UBound(a)-i+1)=tNext iFor i=1 To 15Text2.Text=Text2.Text+Format(a(i),00)+Space(2)Next iEnd SubPrivate Sub Command3_Click()Textl.Text=Text2.Text=n,:Text 1.SetFocusEnd SubPrivate Sub Command4_Click()Unload MeEnd Sub3.随机生成2()个10()以内的两位正整数,统计其中有多少个不相同的数。Option ExplicitOption Base 1Dim a()As IntegerPrivate Sub Commandl_Click()Dim N As Integer,I As IntegerTextl=Text2=nnText313Textl.SetFocusReDim a(20)RandomizeFor I=1 To 20a(I)=Int(9 0*Rnd)+10Textl=Textl&CStr(a(I)+Space(2)Next IEnd SubPrivate Sub Command2_Click()Dim Ub As Integer,T As Integer,J As IntegerDim k As Integer,N As IntegerText2=u:Text3 二”Ub=UBound(a)N=1Do While NUbI=N+1Do While I=UbIfa(N)=a(I)ThenFor J=I To Ub-1a(J)=a(J+1)Next JUb=Ub-1ReDim Preserve a(Ub)Else1=1+1End IfLoopN=N+1LoopFor I=1 To UBound(a)Text2=Text2&CStr(a(I)+Space(2)Next IText3=CStr(Ub)End Sub Forml生成数组元素删除相同数后1 43 88 98 43 97 311 7/2 2 o 61 42 o5 9不相同数个数叼 生成数组|3 63 2d J退出|Private Sub Command3_Click()Unload MeEnd SubPrivate Sub Form_Load()FormlMove(Screen.Width-Width)/2,(Screen.Height-Height)/2End Sub5.参照下图所示界面,编写一个求由一位随机整数构成的数组每一行与Option Explicit14|21 15 19 13 24三JQxJ3 9 5 74 2 3 419 3 64 3 175 6 4 679 6 02 13生成数组|求列和|E求五和.每一列之和。Option Base 1Dim a(4,5)As IntegerDim SumL As Integer,SumC As IntegerPrivate Sub CmdArry_Click()Dim I As Integer,J As IntegerRandomizeFor I=1 To 4For J=1 To 5a(I,J)=Int(Rnd*9)+1Picture 1.Print a(I,J);Next JPicture 1.PrintNext IEnd SubPrivate Sub CmdClear_Click()Picture 1.Cis:Text 1.Text=Text2.Text=End SubPrivate Sub CmdColumn_Click()Dim I As Integer,J As IntegerFor J=1 To 5SumC=0For I=1 To 4SumC=SumC+a(I,J)Next IText2.Text=Text2.Text&SumC&”Next JEnd SubPrivate Sub CmdExitCmdClear_Click()Unload MeEnd SubPrivate Sub CmdLine_Click()Dim I As Integer,J As IntegerFor I=1 To 4SumL=0For J=1 To 5SumL=SumL+a(I,J)Next JTextl.Text=Textl.Text&SumL&Chr(l 3)&Chr(l 0)Next 1End Sub157.有20个数围成一圈,找出每四个相邻数之和中的最大值,并指出是哪四个相邻的数。Dim i As IntegerPrivate Sub Commandl_Click()Dim a(20,2)As IntegerDim b(20)As IntegerDim temp As IntegerFor i=1 To 20b(i)=Val(Textl(i-l).Text)NextFor i=1 To 20 a(i,2)=iNextFor i=1 To 17a(i,1)=b(i)+b(i+1)+b(i+2)+b(i+3)Nexttemp=a(l,1)For i=2 To 20If temp max Thenmax=a(i,j):x=i:n=jEnd IfNext jmin=a(x,n)For y=1 To sIf a(y,n)min Thenmin=a(y,n):m=yEnd IfNext yIf m=x Thenb=mTextl.Text=m:Text2.Text=nEnd IfNexti 判断其它几行If m b ThenMsgBox”鞍点不存在!”,48,“提示信息”End IfEnd SubPrivate Sub Command3_Click()Unload MeEnd Sub18Private Sub Form_Load()Picture l.ClsMove(Screen.Width-Width)/2,(Screen.Height-Height)/2End Sub10.按金字塔形状打印杨辉三角形。Option ExplicitOption Base 1Private Sub Form_click()Dim a()As Long,LAs IntegerDim n As Integer,i As Integer,j As Integern=InputBox(请输入杨辉三角形的行数:杨辉三角形”)ReDim a(n,n)For i=1 To na(i,1)=1Forj=2Toi-1a(i,j)=a(i-l,j-l)+a(i-l,j)If Lb(pl)Thenpl=iIf b(i)b(p2)Then p2=iNext iLabel 1.Caption=最大的行是第“&pl&”行,和为:&b(pl)Label2.Caption=最小的行是第“&p2&”行,和为:&b(p2)m=pl:n=p2End SubPrivate Sub Command3_Click()Forj=lTo5t=a(m,j):a(m,j)=a(n,j):a(n,j)=tNext jFor i=1 To 4For j=1 To 5Picture2.Print a(i,j)&Next jPicture?.PrintNext iEnd SubPrivate Sub Command4_Click()Unload MeEnd Sub12.求一个nXn阶的矩阵A的转置矩阵。N从键盘输入,A矩阵和它的转置矩阵分别显示在两个文本框中。Option ExplicitDim i,j As Integer,m As Integer,n As IntegerDim s As String,si As String,a()As IntegerDim at()As IntegerPrivate Sub Commandl_Click()s=Text3.Text20m=Val(Textl.Text)n=Val(Text2.1ext)ReDim a(m,n),at(n,m)RandomizeFor i=1 To mFor j=1 To na(i,j)=Int(9 0*Rnd)+10s=s&Format(a(i,j),OO)&Next js=s&Chr(13)&Chr(lO)Next iText3.Text=sIfn=OOrn=Str(Null)ThenMsgBox”输入错误,请重输二48,“提示信息”End IfEnd SubPrivate Sub Command2_Click()si=M,:Text4.Text=For i=1 To nFor j=1 To mat(i,j)=a(j,i)si=si&Format(at(i,j),000)&”Next jsi=sl&Chr(13)&Chr(10)Next iText4.Text=siEnd SubPrivate Sub Command3_Click()s=H,:sl=,H,Textl.Text=Text2.Text=,H,:Text3.Text=,n:Text4.Text=Text3.SetFocusEnd SubPrivate Sub Command4_Click()Unload MeEnd SubPrivate Sub Textl_Change()Text2.SetFocusEnd SubPrivate Sub Text2_Change()Command l.SetFocusEnd Sub13.有如下一个二维数组,找出不同行、不同列的三个数组元素的乘积最大的一组,并将这:个元素按下面的形式打印出来。A(1,X)=XX A(2,X)=21X X A(3,X)=X X答:Option Base 1Option ExplicitPrivate Sub Form_Click()Dim a(3,3)As Integer,i As Integer,m As SingleD
展开阅读全文