会计考友 发表于 2012-7-31 22:15:04

VisualBasic编程与应用作业1及答案

一、问答题
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>bANDCC
(2)       3>2*b ORa=cAND bc OR C>d
(3)       NOT a

会计考友 发表于 2012-7-31 22:15:05

VisualBasic编程与应用作业1及答案

(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

会计考友 发表于 2012-7-31 22:15:06

VisualBasic编程与应用作业1及答案

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 )
Ifr < = 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          21
                                  12   3   2   1
                              1   23   4   3   2   1
.
.
.
                123456789   87654321
解答:程序如下:
Private Sub Form_Click ( )
    For I = 1 To 9

会计考友 发表于 2012-7-31 22:15:07

VisualBasic编程与应用作业1及答案

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 = 50 And s = 40 And s = 0 And s

会计考友 发表于 2012-7-31 22:15:08

VisualBasic编程与应用作业1及答案

End If
End Sub
程序运行后,单击窗体,在输入对话框中分别输入学号和分数,程序将在输出对话框中输出适当评语。
页: [1]
查看完整版本: VisualBasic编程与应用作业1及答案