VisualBasic编程与应用作业1及答案 |
|
www.nanhushi.com 佚名 不详 |
一、问答题 1.什么是可视化编程和事件驱动? 解答:可视化编程:在设计界面时,只需将所需要的控件放到窗口的指定位置,整个界面设计过程基本不需要编写代码。在开发过程中所看到的界面,与程序运行时的界面基本相同。概括地说可视化编程就是程序员在开发过程中能看到界面的实际效果。 事件驱动:是指应用程序没有预定的执行路径,而是由程序运行过程中的事件决定。 2.对象、事件和方法三者之间的关系如何? 解答:在VB程序设计中,完成某种功能可通过触发对象事件和调用对象方法,而触发事件和调用对象方法都必须基于某个对象。触发某个事件实际上就是执行一个事件过程代码段,在该代码段中又可以随意调用对象方法,而调用对象方法不可能触发某个事件。 3.属性和方法有何区别和联系? 解答:对象的属性是描述对象的一组特征。如设置对象的名称、标题、颜色、大小等,有的可直接在设计界面时通过属性窗口进行设置,有的可以在事件过程或通用过程代码中进行设置。对象的方法是在对象上实施某种操作的功能,不能在设计界面时调用对象方法,一般在过程代码中可随意调用,根据需要还可以添加适当的参数。设置对象属性和调用对象方法均可在代码设计中进行,其一般格式为: 对象名.属性名=属性值 (设置对象属性) 对象名.方法名 (调用对象方法) 4.下列哪些可作为Visual Basic的变量名,哪些不行? 4*Delta Alpha 4ABC AB丌 ReadData Filename A(A+B) Read 解答:可作为Visual Basic变量名的是:Alpha,ReadData, Filename,Read。其它均不能作为变量名。 5.Visual 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)∧(4÷—2)+SIN(2*丌) (4)[(X+Y)+Z]´80-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) Cos(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) a>b AND C<=d OR 2*a>C (2) 3>2*b OR a=c AND b<>c OR C>d (3) NOT a<=c OR 4*c=b∧2 AND b<>a+c 解答:(1)False (2) False (3)False 9.写出下列函数的值 (1)lnt(-3.14159) (2)Sqr(Sqr(64)) (3) Fix(-3.14159) (4) Int(Abs(99-100)/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.828427 (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 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 Sub 2.我国现有人口为12亿,设年增长率为1%,编写程序,计算多少年后增加到16亿。 解答:程序如下: Private Sub Form_Click( ) Dim p As Double Dim r As Single Dim n As Integer P=1200000000 r=0.01 While p<1600000000 P = P + P* r N = N + 1 Wend P = Int(P) Print N;″年后,全国人口为:″;P End Sub 运行程序,单击窗体,输出结果为: 29年后,全国人口为:1601404641。 3.给定三角形的三条边长,计算三角形的面积。编写程序,首先判断给出的三条边能否构成三角形,如可以构成,则计算并输出该三角形的面积,否则要求重新输入。当输入-1时结束程序。 解答:从几何学可知,三角形的 两边之和大于第三边。因此,如果输入的三角形的三条边中两边之和小于或等于另一边长,则不能构成三角形。在这种情况下,给出适当的信息,并要求重新输入。如果能构成三角形,则输出该三角形的面积。 程序如下: Private Sub Form_Click( ) Dim a,b,c,s,t As Single Start: 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 ) / 2 T = Spr (s * ( s — a )* ( s — b ) * ( s — c ) ) Print ″三角形的面积为:″; T End Sub 程序运行后,单击窗体,先后显示三个输入对话框,在三个对话框中分别输入三角形的三条边长,程序先判断输入的边长是否能构成三角形,然后决定之后的操作,用信息框显示信息或者输出三角形的面积。当输入1,2,3时,将显示信息框,要求重新输入;如果输入8,7,6,则输出结果为: 三角形的面积为:20.33316 4.税务部门征收所得税,规定如下: (1)收入在200元以内,免征; (2)收入在200~400内,超过200元的部分纳税3%; (3)收入超过400元的部分,纳税4%; (4)当收入达到5000元或超过时,将4%税金改为5%。 编程序实现上述操作。 解答:程序如下: Private Sub Form_Click ( ) R = InputBox (″请输入您的收入″) R = Val ( r ) If r < = 200 Then tax = 0 ElseIf r > 200 And r < = 400 Then tax = (r —200) *0.03 ElseIf r > 400 And r < 5000 Then tax = (r — 400) * 0.04 ElseIf r > = 5000 Then tax = ( r — 400 ) * 0.05 End If Print″收入″;r; ″应纳税″; tax End Sub 程序运行后,单击窗体,在输入对话框中输入收入数,程序将输出纳税金额。 5.编写程序,打印如下所示的“数字金字塔”: 1 1 2 1 1 2 3 2 1 1 2 3 4 3 2 1 . . . 1 2 3 4 5 6 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 = I—1 To 1 Step — 1 Print k; Next k Print Next I End Sub 6.从键盘上输入两个正整数M和N,求最大公因子。 解答:程序如下: Private Sub Form_Click ( ) Dim m, n As Integer m = InputBox (″请输入M的值″) m = Val (m) m1 = m n = InputBox(″请输入N的值″) n = Val ( n ) n1= n Do While n < > 0 remin = m Mod n m = n n=remin Loop Print m1; "和"; n1;"的最大公因子是:";m End Sub 该程序通过辗转相除法求两个正整数的最大公因子。程序运行后,在输入对话框中分别输入96和64,输出结果为:96和64的最大公因子是:32 7.从键盘上输入一个学生的学号和考试成绩,然后输出该学生的学号、成绩,并根据成绩按下面的规定输出对该学生的评语: 成绩 80~100 60~79 50~59 40~49 0~39 评语 Very good Good 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 <= 79 Then MsgBox "学号" & n & ",分数为" & s & ",good" ElseIf s >= 50 And s <= 59 Then MsgBox "学号" & n & ",分数为" & s & " ,Fair" ElseIf s >= 40 And s <= 49 Then MsgBox "学号" & n & ",分数为" & s & ",Poor " ElseIf s >= 0 And s <= 39 Then MsgBox "学号" & n & ",分数为" & s & ",Fail "
End If End Sub 程序运行后,单击窗体,在输入对话框中分别输入学号和分数,程序将在输出对话框中输出适当评语。
|
|
|
文章录入:杜斌 责任编辑:杜斌 |
|
上一篇文章: 2006年9月全国计算机等级考试二级vb模拟试卷 下一篇文章: VisualBasic编程与应用作业2 |
【字体:小 大】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 |
|
|