首    页

教学大纲

实施方案

教学辅导

实战练习

期末复习

信息资源

自我介绍

投稿信箱

返回主页

 

 实 战 练 习

               

                                 Visual Basic编程与应用作业1答案              返回

    一、问答题
1
什么是可视化编程和事件驱动? 
解答:可视化编程:在设计界面时,只需将所需要的控件放到窗口的指定位置,整个界面设计过程基本不需要编写代码。在开发过程中所看到的界面,与程序运行时的界面基本相同。概括地说可视化编程就是程序员在开发过程中能看到界面的实际效果。
事件驱动:
是指应用程序没有预定的执行路径,而是由程序运行过程中的事件决定。
2
对象、事件和方法三者之间的关系如何?
解答:在
VB程序设计中,完成某种功能可通过触发对象事件和调用对象方法,而触发事件和调用对象方法都必须基于某个对象。触发某个事件实际上就是执行一个事件过程代码段,在该代码段中又可以随意调用对象方法,而调用对象方法不可能触发某个事件。
3
属性和方法有何区别和联系?
解答:对象的属性是描述对象的一组特征。如设置对象的名称、标题、颜色、大小等,有的可直接在设计界面时通过属性窗口进行设置,有的可以在事件过程或通用过程代码中进行设置。对象的方法是在对象上实施某种操作的功能,不能在设计界面时调用对象方法,一般在过程代码中可随意调用,根据需要还可以添加适当的参数。设置对象属性和调用对象方法均可在代码设计中进行,其一般格式为:

    
对象名.属性名=属性值                        (设置对象属性)
    
对象名.方法名                               (调用对象方法)
4
.下列哪些可作为Visual Basic的变量名,哪些不行?
       
4*Delta       Alpha     4ABC      AB
     ReadData
       
Filename     A(A+B)    Read

解答:可作为
Visual Basic变量名的是:AlphaReadData  FilenameRead。其它均不能作为变量名。
5
Visual Basic中是否允许出现下列形式的数?
       
25.74      3.457E-10      .368      1.87E+50
       
10
1.256       2.5E      12E3      0.258
解答:允许出现的数为:
3.457E-10.36812E30.258
6
.指出下列Visual Basic表达式中的错误,并写出正确的形式。
(1) +COS
28Ο   2-3/8+8.INT24.8    3)(8+64÷—2+SIN2*丌)
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
解答:(
1Cos(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+dx为弧度,如果为度则应转换为弧度。
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
解答:(
1False        (2) False      (3)False
9
.写出下列函数的值
 
1lnt(-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        22.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

程序运行后,单击窗体,先后显示三个输入对话框,在三个对话框中分别输入三角形的三条边长,程序先判断输入的边长是否能构成三角形,然后决定之后的操作,用信息框显示信息或者输出三角形的面积。当输入
123时,将显示信息框,要求重新输入;如果输入876,则输出结果为:
三角形的面积为:
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
.从键盘上输入两个正整数MN,求最大公因子。
解答:程序如下:

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

该程序通过辗转相除法求两个正整数的最大公因子。程序运行后,在输入对话框中分别输入
9664,输出结果为:9664的最大公因子是: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

程序运行后,单击窗体,在输入对话框中分别输入学号和分数,程序将在输出对话框中输出适当评语。

 

 

 
 

你好,我是水夜云轻  欢迎进入我的wl来作客
网站最后更新时间2004-2-22
建议用ie4.0以上,800*600分辨率全屏观看
 
飞鸿传情 myteatree@hotmail.com oicq : 199338899