《vb练习题答案.doc》由会员分享,可在线阅读,更多相关《vb练习题答案.doc(20页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、Visual Basic编程与应用作业1答案一、问答题1什么是可视化编程和事件驱动? 解答:可视化编程:在设计界面时,只需将所需要的控件放到窗口的指定位置,整个界面设计过程基本不需要编写代码。在开发过程中所看到的界面,与程序运行时的界面基本相同。概括地说可视化编程就是程序员在开发过程中能看到界面的实际效果。事件驱动:是指应用程序没有预定的执行路径,而是由程序运行过程中的事件决定。2对象、事件和方法三者之间的关系如何?解答:在VB程序设计中,完成某种功能可通过触发对象事件和调用对象方法,而触发事件和调用对象方法都必须基于某个对象。触发某个事件实际上就是执行一个事件过程代码段,在该代码段中又可以随
2、意调用对象方法,而调用对象方法不可能触发某个事件。3属性和方法有何区别和联系?解答:对象的属性是描述对象的一组特征。如设置对象的名称、标题、颜色、大小等,有的可直接在设计界面时通过属性窗口进行设置,有的可以在事件过程或通用过程代码中进行设置。对象的方法是在对象上实施某种操作的功能,不能在设计界面时调用对象方法,一般在过程代码中可随意调用,根据需要还可以添加适当的参数。设置对象属性和调用对象方法均可在代码设计中进行,其一般格式为: 对象名.属性名=属性值 (设置对象属性) 对象名.方法名 (调用对象方法)4下列哪些可作为Visual Basic的变量名,哪些不行? 4*Delta Alpha 4
3、ABC AB丌 ReadData Filename A(A+B) Read解答:可作为Visual Basic变量名的是:Alpha,ReadData, Filename,Read。其它均不能作为变量名。5Visual Basic中是否允许出现下列形式的数? 土25.74 3.457E-10 .368 1.87E+50 10(1.256) 2.5E 12E3 0.258解答:允许出现的数为:3.457E-10,.368,12E3,0.258。6指出下列Visual Basic表达式中的错误,并写出正确的形式。(1) +COS(28) (2)-3/8+8.INT24.8(3)(8+6)(42)+
4、SIN(2*丌)(4)(X+Y)+Z80-5(C+D)解答: (1)Sqr(80)+Cos(28*3.14159/180)(2)(-3)/8+8*Int(24.8)(3)(8+6)(4/(-2)+Sin(2*3.14159)(4)(X+Y)+)*80-5*(C+D)7将下列数学式子写成Visual Basic表达式:(1) cos2(c+d)(2) 5+(a+b)2(3) cos(x)(sin(x)+1)(4) e2+2(5) 2a(7+b)(6) 8e3ln2解答:(1)Cos(c+d)2 或Cos(c+d)*Cos(c+d)(2) 5+(a+b)2 或5+(a+b)*(a+b)(3) Co
5、s(x)*(Sin(x)+1)(4) Exp(2)+2(5) 2*a*(7+b)(6) 8*Exp(3)*Log(2)注:假定上面(1)和(3)中的c+d和x为弧度,如果为度则应转换为弧度。8设a=2,b=3,c=4,d=5,求下列表达式的值:(1) ab AND CC(2) 32*b OR a=c AND bc OR Cd(3) NOT a=c OR 4*c=b2 AND ba+c解答:(1)False (2) False(3)False9写出下列函数的值 (1)lnt(-3.14159) (2)Sqr(Sqr(64) (3) Fix(-3.14159) (4) Int(Abs(99-100
6、)/2) (5) Sgn(7*3+2) (6) Lcase(“Hello”) (7) Left(“Hello”,2) (8) Val(“16 Year”) (9) Str(-459.65) (10)Len(“Hello”)解答:函数的值为: (1)-4 (2)2. (3) 3 (4) 0 (5) 1 (6) “hello” (7) “He” (8) 16 (9) “459.65” (10) 5二、编程题1编写程序,计算1+2+3+4+100。解答:使用For循环语句,程序如下:Private Sub Form_Click( ) Static Sum As Integer For I =1 To
7、 100 Sum = Sum + I Next I Print Sum End Sub程序运行后,单击窗体,输出结果为:5050。如果使用当循环语句,则程序如下: Private Sub Form_Click( ) Static Sum As Integer I=1 While i=100 Sum=Sum+I I=I+1 Wend Print Sum End Sub2我国现有人口为12亿,设年增长率为1%,编写程序,计算多少年后增加到16亿。解答:程序如下:Private Sub Form_Click( ) Dim p As Double Dim r As Single Dim n As In
8、teger P= r=0.01 While p P = P + P* r N = N + 1 Wend P = Int(P) Print N;年后,全国人口为:;P End Sub 运行程序,单击窗体,输出结果为: 29年后,全国人口为:。3给定三角形的三条边长,计算三角形的面积。编写程序,首先判断给出的三条边能否构成三角形,如可以构成,则计算并输出该三角形的面积,否则要求重新输入。当输入-1时结束程序。解答:从几何学可知,三角形的 两边之和大于第三边。因此,如果输入的三角形的三条边中两边之和小于或等于另一边长,则不能构成三角形。在这种情况下,给出适当的信息,并要求重新输入。如果能构成三角形,
9、则输出该三角形的面积。程序如下:Private Sub Form_Click( ) Dim a,b,c,s,t As SingleStart: A = InputBox (请输入A边的边长) A = Val (a) If a =-1 Then End B = InputBox (请输入B边的边长) B = Val (b) C =InputBox(请输入C边的边长) C = Val (c) If a + b = c Or b + c = a Or c + a = b Then MsgBox 所输入的值不能构成三角形,请重新输入 GoTo Start End If S =( a + b + c )
10、 / 2 T = Spr (s * ( s a )* ( s b ) * ( s c ) ) Print 三角形的面积为:; TEnd Sub程序运行后,单击窗体,先后显示三个输入对话框,在三个对话框中分别输入三角形的三条边长,程序先判断输入的边长是否能构成三角形,然后决定之后的操作,用信息框显示信息或者输出三角形的面积。当输入1,2,3时,将显示信息框,要求重新输入;如果输入8,7,6,则输出结果为:三角形的面积为:20.333164税务部门征收所得税,规定如下:(1) 收入在200元以内,免征;(2) 收入在200400内,超过200元的部分纳税3%;(3) 收入超过400元的部分,纳税4
11、%;(4) 当收入达到5000元或超过时,将4%税金改为5%。编程序实现上述操作。解答:程序如下:Private Sub Form_Click ( )R = InputBox (请输入您的收入)R = Val ( r )If r 200 And r 400 And r = 5000 Then tax = ( r 400 ) * 0.05End IfPrint收入;r; 应纳税; taxEnd Sub程序运行后,单击窗体,在输入对话框中输入收入数,程序将输出纳税金额。5编写程序,打印如下所示的“数字金字塔”: 11 2 1 1 2 3 2 1 1 2 3 4 3 2 1. 1 2 3 4 5 6
12、 7 8 9 8 7 6 5 4 3 2 1解答:程序如下:Private Sub Form_Click ( ) For I = 1 To 9 For j = 1 To 30-3 * I Print; Next j For k = 1 To I Print k; Next k For k = I1 To 1 Step 1 Print k; Next k Print Next IEnd Sub6从键盘上输入两个正整数M和N,求最大公因子。解答:程序如下:Private Sub Form_Click ( ) Dim m, n As Integer m = InputBox (请输入M的值) m =
13、 Val (m) m1 = m n = InputBox(请输入N的值) n = Val ( n ) n1= n Do While n 0 remin = m Mod n m = nn=remin Loop Print m1; 和; n1;的最大公因子是:;mEnd Sub该程序通过辗转相除法求两个正整数的最大公因子。程序运行后,在输入对话框中分别输入96和64,输出结果为:96和64的最大公因子是:327从键盘上输入一个学生的学号和考试成绩,然后输出该学生的学号、成绩,并根据成绩按下面的规定输出对该学生的评语:成绩 80100 6079 5059 4049 039评语 Very good G
14、ood Fair Poor Fail答案:程序如下:Private Sub Form_Click ( ) n = InputBox(请输入学号) s = InputBox(请输入分数) If s = 80 Then MsgBox 学号 & n & ,分数为 & s & ,Very good ElseIf s = 60 And s = 50 And s = 40 And s = 0 And s = 0 Then List2.AddItem List1.Text List1.RemoveItem List1.ListIndexEnd IfEnd SubPrivate Sub cmdDel_Clic
15、k()Dim I As IntegerIf List2. SelCount = 1 Then List1.AddItem List2.Text List2.RemoveItem List2.ListIndexElseIf List2.SelCount 1 Then For I = List2.ListCount-1 To 0 Step- 1 If List2.Selected(I) Then List1.AddItem List2.List(I) List2.RemoveItem I End If NextEnd IfEnd SubPrivate Sub Form_Load()List1.Ad
16、dItem 中国List1.AddItem 日本List1.AddItem 马来西亚List1.AddItem 美国List1.AddItem 德国List1.AddItem 法国List1.AddItem 英国End Sub 程序运行后,单击“添加”按钮,将把List1中的所选项移到List2中,然后删除List1中所选项目。单击“删除”按钮,将检查SelCount属性。如果选择了一个项目,则将这个项目移回List1中,如果选择了多个项目,则由后向前扫描List2,将每个选择的项目移回到List1中。11编写程序,用计时器按秒计时。在窗体上画一个计时器控件和一个标签,程序运行后,在标签内显示
17、经过秒数,并响铃。解答:在窗体上画一个计时器控件和一个标签,其Name属性分别为Timer1和Label1,并把计时器的Interva1属性设置为1000,然后编写如下事件过程:Private Sub Form_Load() Label1.FontSize =16End SubPrivate Sub Timer1_Timer() Static c As Integer c= c + 1 Label1.Caption = Str$(c) BeepEnd Sub程序运行后,将在标签内显示经过的秒数,并响铃。 Visual Basic编程与应用作业3答案一、填空题1 返回相应的结果2 没有返回值 按
18、名称3 按名称4 以该函数名 5窗体模块 标准模块 类模块 6Click 7顶级菜单项目8Sub过程的过程名不能返回值,而Function过程能通过过程名返回值9添加过程10标准模块的通用声明段二、判断正确与错误(正确标,错误标 x )并写出正确答案。1( x 子过程能接收参数。)2(x 函数过程能接收参数 。)3()4()5( x Call MyPro(A、B) MyProc( A、B)6()7( x 标准模块是程序中的一个独立容器,包含全局变量、Function(函数)过程和Sub过程。)三、问答题1什么是工程?解答:工程是构成应用程序文件的集合。工程文件是与工程相关联的所有文件和对象以及
19、所设置的环境信息的一个简单的列表,所有文件和对象也可以被其它的工程所共享。2什么是过程?解答:一个应用程序是由若干个模块组成的,而每个模块又是由若干个更小的代码片段组成,将组成这些模块的代码片段称为过程。通过过程,可以将整个程序按功能进行分块,每个过程用来完成一项特定的功能。3选中一个窗体,启动菜单编辑器的方法有哪三种?解答: (1)使用菜单“工具”/(菜单编辑器)(2)使用工具栏按钮工具栏快捷键;(3)键盘快捷键CTRL+E4什么是动态菜单?解答:动态菜单,就是菜单中列出了最近使用过的文件名,这部分内容是随着应用程序的运行而不断改变着的,在运行时使菜单可以增长。5已知弹出菜单的名是aa,填补
20、弹出菜单的代码。解答:Private Sub Form_MouseDown(Button As Integer,Shift As Integer,X As Single,Y As Single)在窗体上按下鼠标。If Btton = 2 Then 如果是右键。PopupMenu aa 弹出菜单。End IfEnd Sub6现使用菜单编辑器设计弹出菜单。菜单第一项(使顶级菜单项目)的Caption为“弹出菜单”,Name:“aa”,Visible没有选中,填补弹出菜单的代码。解答:Private Sub Form_MouseDown(Button As Integer,Shift As Integer,X As Single,Y As Single)在窗体上按下鼠标。If Btton = 2 Then 如果是右键。PopupMenu aa 弹出菜单。End IfEnd Sub四、