VB课后答案(第四版)蒋加伏、张林峰

发布时间:2011-08-26 10:54:22   来源:文档文库   
字号:



            第一章           习题参考答案

            一、          填空题

            1、对象   事件驱动

            2、编译运行模式  解释运行模式

            二、          简答题

            1              简述VB的特点。

            答:可视化的程序设计方法

            面向对象的程序设计思想

            事件驱动的编程机制

            结构化的程序设计语言

            高度的可扩充性

            强大的数据库访问能力

            支持动态数据交换

            支持对象链接与嵌入

            2、简述VB的安装过程。

            答:向光驱中放入VB安装光盘;

            计算机将运行自动安装程序,若没有,执行VB目录下的Setup.exe

            根据提示逐一回答问题,并点击下一步

            点击完成

            2              如何启动VB

            答:三种方法:

            单击开始按钮,选择程序菜单下的“Microsoft Visual Basic 6.0 中文版菜单项并单击;

            双击桌面上的VB6.0快捷图标;

            开始菜单的运行对话框中输入命令来启动VB





            第二章   习题参考答案

            一、选择题:

            1-10 DCACD   BCBBC

            11-20BADCA   BBAAB

            21-29AACBB   CDDC

             二、填空题

            1  窗体、控件

            2  属性值

            3  属性窗口设置、代码窗口设置

            4  事件过程

            5  对象名、下划线、事件名

            6  Form_Click





            第三章   习题参考答案

            一、选择题

            1B    2C  3A   4B   5A   6C  7C

            二、填空题

            1  11

            字符型、字节型、整型、长整型、单精度型、双精度型、货币型、逻辑型、日期型、对象型、变体型。StringByteIntegerLongSingleDoubleCurrencyBoolean

            DateObjectVariant

            2  双引号(英文)#

            3  ASCII12

            4  public、通用、DimStaticPrivateStatic

            5  &++

            6  Now()Time、日期型

            三、解答题

            1(3)    2(1 )

            3、(1)常量(关键字) 2)字符型常量   3)逻辑型常量   4)变量    5)字符串常量  6)变量   

            7)字符串常量   8)变量   9)日期型常量 (题目应是#11/16/1999# 10)数值型常量(单精度)  

            431

            5、(1(1+y/x)/(1-y/x)        2x^3+3*x*y/(2-y)

              3sqr(abs(a*b-c^3))      4sqr(s*(s-a)*(s-b)*(s-c))

            6

            7、(113           217

               3#1999-11-12#                        4zxy123ABC

            8、(119   28.16666666666667

            3525               42

            9、(1-4  22 . 82842712474619   3-3   449  5”hello”   6He

            716  8 “-459.65”  95  

            10、(4

            11、(2

            12、(4

            第四章   习题参考答案

            一、选择题:

            1—7: DAABBCD

            二、填空题

            1  500.00%

            2  将字号扩大为原来的二倍

            3  B

            三、编程题(略)

             1.文本框、标签和命令按钮的名称分别为text1label1command1

             Private Sub Command1_Click()

                Label1.caption=text1.text

              Command1.caption=text1.text

            End Sub





            2.单价、数量、折扣和应付款对应的文本框的名称分别为:text1text2text3text4,计算和清除命令按钮的名称分别为:command1command2

                 Private Sub Command1_Click()

                    Text4=val(text1)*val(text2)*val(text3)

            End Sub

            Private Sub Command2_Click()

                    Text1=”” : Text2=””: Text3=””:  Text4=””      

            End Sub



            3.文本框、转大写命令按钮和转大写命令按钮的名称分别为text1command1command2

            Private Sub Command1_Click()

                    Text1=Ucase(text1)

            End Sub

            Private Sub Command2_Click()

                    Text1=Lcase(text1)

            End Sub



            第五章  习题参考答案

            一、选择题:

            1—11: CAABBABBBCC

            二、填空题

            1(3)       2 1  2  3        32   2   3     4160       59

            678        7x<=5 (x<6    x<7)          8B

            9iSum       iSum+j     1250

            三、编程题

            1Private Sub Form_Click()

                Dim i%,s%

                S=0

            For i = 101 To 200 step 2

                  If  i mod 3<>0 then

                     Print i

                     S=s+i

                  End If

             Next i

                 Print s



            End Sub



            2Private Sub Form_Click()

                Dim n%,s&

                S=1:n=0

            While s<=400000

                N=n+1

                S=s*n

                 Wend

                 If s>400000 Then n=n-1

                 Print n

            End Sub



            3Private Sub Form_Click()

                Dim imin%,imax%,i%,R%

                Imin=100:imax=20

                For i=1 to 20

                   R=Int(Rnd*51+50)

                   If R>imax Then imax=R

                   If R

                    x(Asc(S) - 65 + 1) = x(Asc(S) - 65 + 1) + 1

                 End If

               Next i

            For i=1 To L

                 Text2=text2 & Chr(64+i) & “=” & x(i) & “  “

                 If I Mod 7=0 then Text2=text2 & chr(13)+chr(10)

               Next i



            End Sub



            3.设学生成绩的平均分已在Mark(1)Mark(10),学生姓名在name(1)name(10)中。

            Private  Sub Command1_click()

               Dim I%,J%,T%,S$

               For i=1 To 9

                 For j=i+1 To 10

                   If Mark(i)

                     S=name(i):name(i)=name(j):name(j)=S

                   Next J

               Next i

               For i=1 To 10

                 Print Name(i),Mark(i)

               Next i

            End Sub









            第八章  习题参考答案

            一、选择题:

            1—10: DCBBDDDBCB

            二、填空题

            1a       Ubound(b)      n=n-1

            2Key=a(i)        Index=-1

            三、编程题

            1.子过程

            Sub P1(x  As Single, esp As Single)

              Dim p!,S!,F!,i%

              P=1:S=1:i=1:F=x

              Do

                P=P*i

                S=S+F/p

              Loop Until Abs(F/p)



            End Sub

            子函数

            Function  P2(x  As Single, esp As Single) As single

              Dim p!,S!,F!,i%

              P=1:S=1:i=1:F=x

            Do

                P=P*i

                S=S+F/p

              Loop Until Abs(F/p)



            End Function



            2Swap2能实现数据交换。因为地址传递方式形参和实参有共同的地址,那么形参的变化,会引起实参的变化(即形参将值回传给实参),故可实现两数交换。



            3Function LF( ByVal x As Single) As Single

                  LF=X*X*X

               End Function

               Sub Command1_Click()

                  Dim I%

                  For i=1 To 20

                   Print I, LF(i)

                  Next i

               End Sub



            4Function WeekDay(ByVal x As Integer) As String

                 Select Case x

                   Case 0

                     WeekDay=”星期日

            Case 1

                     WeekDay=”星期一

            Case 2

                     WeekDay=”星期二

            Case 3

                     WeekDay=”星期三

            Case 4

                     WeekDay=”星期四

            Case 5

                     WeekDay=”星期五

            Case 6

                     WeekDay=”星期六

            End Select

              End Function



            5Function Rand30(ByVal X As`Integer) As Integer

                Randomize

                Rand30=Int(Rnd*X+1)

               End Function

               Sub Command1_Click()

                 For i=1 To 30

                  Print Rand30(100)

                 Next i

               End Sub



            6Function F1(ByVal X As`Single, ByVal Y As`Single) As Integer

                If X>Y Then

                  F1=X

                Else

                  F1=Y

                End If

               End Function

            7

            Function GDBH(ByVal x%) As String

               Dim i%

               For i = 3 To x - 3 Step 2

                 If isp(i) And isp(x - i) Then

                   GDBH = i & "+" & (x - i) & "=" & x

                   Exit Function

                 End If

               Next

             End Function



            Function isp(y%) As Boolean

                i = 2: k = Int(y / 2)

                Do While i <= k

                  If y Mod i = 0 Then Exit Do

                  i = i + 1

                Loop

                If i > k Then

                 isp = True

                Else

                 isp = False

                End If



              End Function



            Private Sub Form_Click()

            For i = 6 To 40 Step 2

            Print GDBH(i)

             Next i

            End Sub



            8Function isQO(ByVal x As Integer) As String

                If x Mod 2 =0 Then

                  isQO=”偶数

                Else

                  isQO=”奇数

                End If

               End Function



            9Function F1(ByVal x As Integer) As Boolean

                If x Mod 17 =0  and  x Mod 37 =0Then

                  F1=True

                Else

                  F1=False

                End If

               End Function



               Private Sub Form_Click()

            For i = 1000 To 2000

            If F1(i) Then

              Print i

            End if

                Next i

            End Sub



            10Sub F1(a() As Integer, ByVal  L1 As Integer, ByVal  L2 As

Integer)

                Dim L%, U%, x%, i%

                L = LBound(a): U = UBound(a)

                If L1 > U Or L2 > U Then

                 Print "位置输入错误!"

                 Exit Sub

                End If

                If L1 > L2 Then

                  x = a(L1)

                  For i = L1 To L2 + 1 Step -1

                    a(i) = a(i - 1)

                  Next i

                  a(L2) = x



                ElseIf L2 > L1 Then

                  x = a(L1)

                  For i = L1 To L2 - 1

                    a(i) = a(i + 1)

                  Next i

                  a(L2) = x

                End If

               End Sub





            第九章  习题参考答案

            一、选择题:

            1—3: ADD

            二、填空题

            1.下拉式    弹出式             2PopupMenu              

            3Visible      Enabled           4-

            三、编程题()





            第十章  习题参考答案

            一、选择题:

            1—3: DBD

            二、填空题

            1Load                2.窗体模块    标准模块    类模块           

            3DoEvents

            三、编程题

            1()

            2Function F(ByVal x&,ByVal Y&) As Integer

                 Dim t&,r&

            If x"

            If Option2.Value = True Then p.sex = ""

            If Check1.Value = 1 Then p.jc = True Else p.jc = False

            p.sx = Val(Text6) : p.yw = Val(Text7)

            p.yy = Val(Text8) : p.wl = Val(Text9)

            p.zf = Val(Text10)

            Put #1, , p

            End Sub



            Private Sub CmdDisplay_Click()

            Get #1, Val(txtRecord_No), p

            Text1 = p.ID : Text2 = p.name

            Text3 = p.z1 : Text4 = p.z2

            Text5 = p.scool

            If p.sex = "" Then Option1.Value = True Else Option2.Value = True

            If p.jc = True Then Check1.Value = 1 Else Check1.Value = 0

            Text6 = p.sx : Text7 = p.yw

            Text8 = p.yy : Text9 = p.wl

            Text10 = p.zf

            End Sub



            Private Sub Command3_Click()

              Text1 = "" :  Text2 = ""

              Text3 = "" :  Text4 = ""

              Text5 = "" :  Text6 = ""

              Text7 = "" :  Text8 = ""

              Text9 = "" :  Text10 = ""

             End Sub



            Private Sub Form_Load()

            Open App.Path & "\stu.dat" For Random As #1 Len = Len(p)

            End Sub



            Private Sub Form_Unload(Cancel As Integer)

            Close #1

            End Sub



            Private Sub Text10_GotFocus()

            Text10 = Val(Text6) + Val(Text7) + Val(Text8) + Val(Text9)

            End Sub



            2.3.4.

            Private Type books

              id As String * 10

              name As String * 8

              sex As String * 2

              math As Integer

              eng As Integer

              ele As Integer

            End Type

            ‘成绩输入

            Private Sub Command1_Click()

            Dim b As books

            Open "c:\stu.dat" For Append As #1

            b.id = InputBox("请输入学号")

            b.name = InputBox("请输入姓名")

            b.sex = InputBox("请输入性别")

            b.math = InputBox("请输入数学成绩")

            b.eng = InputBox("请输入英语成绩")

            b.ele = InputBox("请输入电子成绩")



            Write #1, b.id, b.name, b.sex, b.math, b.eng, b.ele

            Close #1

            End Sub

            ‘不及格人员输出

            Private Sub Command2_Click()

            Dim a, b, c

            Open "c:\stuo.dat" For Input As #1

            While Not EOF(1)

             Input #1, a, b, c

             If c = "数学" Then List1.AddItem b

             If c = "英语" Then List2.AddItem b

             If c = "电子" Then List3.AddItem b



            Wend

            Close #1

            End Sub

            ‘将不及格人选出存入stuo.dat

            Private Sub Command3_Click()

            Dim a, b, c, d, e, f

            Dim k%

            Open "c:\stu.dat" For Input As #1

            Open "c:\stuo.dat" For Output As #2



            While Not EOF(1)

             Input #1, a, b, c, d, e, f

             If d < 60 Then Write #2, a, b, "数学"

             If e < 60 Then Write #2, a, b, "英语"

             If f < 60 Then Write #2, a, b, "电子"



            Wend

            Close #1

            Close #2



            End Sub

本文来源:https://www.2haoxitong.net/k/doc/09446b1f59eef8c75fbfb32e.html

《VB课后答案(第四版)蒋加伏、张林峰.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式