VB教材课后习题答案
教材课后习题答案第1章一、选择题1 B 第2章一、选择题1 B 11 A
二、填空题
1. rem或’_ :
2. “” # #
3. 5x2-3x-2sinA/3
4. 321456
5. 300 三、操作题1、
程序段:
Private Sub Command1_Click() Dim x As Integer, y As Integer Dim s As Long, c As Long x = Text1.Text y = Text2.Text
s = x * y
c = (x + y) * 2
Label3.Caption = \长方形的面积为\+ Str(s) Label4.Caption = \长方形的周长为\+ Str(c) End Sub
3、
程序段:
Private Sub Command1_Click() Text1.Text = \第一\End Sub
Private Sub Command2_Click() Text1.Text = \第二\End Sub
4、程序代码:
Private Sub Text1_Change() Text1.MaxLength = 10 End Sub 5、程序代码:
1
2 D
3 B
4 C
5 B
6 B
7 D 2 C 12 B 3 B 13 A 4 C 14 A 5 B 6 C 7 A
8 A
9 A 10
A Private Sub Text1_Click()
Text1.SelStart = 0
Text1.SelLength = Len(Text1.Text) End Sub
第3章一、选择题1 2 D A 二、填空题1. False
2. B -4*a*c else 三、操作题
1.从键盘输入三个值,判断它们能否构成三角形的三个边。如果能构成一个三角形,则计
算三角形的面积。
Dim a As Integer, b As Long, c As Long, s As Single, p As Single a = Val(InputBox(\请输入一个值:\b = Val(InputBox(\请输入一个值:\c = Val(InputBox(\请输入一个值:\ If (a + b > c And a + c > b And b + c > a) Then p = (a + b + c) / 2
s = Sqr(p * (p - a) * (p - b) * (p - c))
Print a k = k + 1
s = s + i
If k Mod 10 = 0 Then Print End If Next
Print \~300间总共有\个素数,\和值为\运行结果:
5
8.我国现有人口为13亿。设年增长率为1%,编写程序,计算多少年后增加到20亿。
Dim i As Long, s As Single Dim n As Single, m As Single n = InputBox(\请输入增长率:\i = 0 s = 13
m = s
Do While m 0.000001 i = i + 2 flag = -flag n = 1 / i pi = pi + flag * n Loop
Print pi * 4
运行结果:3.14159465358569
第5章一、选择题1 D 11 D 2 C 12 B 3 D 13 B 4 D 14 C 5 B 15 B 6 A 7 A 8 B 9
C 10 B 二、填空题1. 24
2. 7
3. a=30 b=70
4. “123456789”
6
三、编程题
1.编写一个求3个数中最大值Max和最小值Min的过程,然后用这个过程分别求3个数、
5个数、7个数中的最大值和最小值。Dim a()
Sub maxmin(b()) ‘过程Dim max, min, k max = b(1) min = b(1)
For k = 1 To UBound(b) If max b(k) Then min = b(k) End If
End If Next
Print \最大值=\最小值=\End Sub
Private Sub Command1_Click() ‘主程序n = InputBox(\ReDim a(n)
For i = 1 To n
a(i) = Val(InputBox(\Print a(i), Next Print
Call maxmin(a())
End Sub
2.编写程序,求S=A!+B!+C!,阶乘的计算分别用Sub过程和Function过程两种方法来实现。
Public Sub fact2(m, ss) Dim p, k p = 1
For k = 1 To m p = p * k Next ss = ss + p End Sub
Public Function fact1(n) Dim p, k p = 1
For k = 1 To n p = p * k Next
fact1 = p
7
End Function
Private Sub Command1_Click() Dim s, a, b, c
a = Val(InputBox(\
b = Val(InputBox(\
c = Val(InputBox(\
s = fact1(a) + fact1(b) + fact1(c) ‘函数Print s
ss = 0
Call fact2(a, ss) ‘过程Call fact2(b, ss) Call fact2(c, ss) Print ss End Sub
3.编写一个过程,以整型数作为形参,当该参数为奇数时输出False,而当该参数为偶数时输出True。
4.设a为一整数,如果数a与其平方数的尾部相等,则称a为“同构数”。例如52=25,252
=625,则5和25都是同构数。试编写一个Function过程Automorphic,其形参为一正整数,判断其是否为同构数,然后用该过程查找1~1000内的所有同构数。第6章一、选择题1 D 第7章一、选择题 1 2 D B 3 A 4 A 5 D 6 D 7 B 8 A 2 A 3 C 4 B 5 D 8