V B程序设计教程实验指
导与习题解答上机答案Last revision on 21 December 2020
自测1
程序代码
Private Sub Command1_Click() = + 3
End Sub
Private Sub Command2_Click() = True
End Sub
Private Sub Command3_Click() = True
End Sub
Private Sub Command4_Click() = 10
= False
= False
End Sub
初始窗口:
单机放大之后窗口:
单机下划线之后窗口:
单击加粗之后窗口:
单击还原之后窗口:
自测2
程序代码
Private Sub Command1_Click() Label1 = "visual basic"
Text1 = "程序设计题"
End Sub
Private Sub Command2_Click() Text1 = "visual basic"
Label1 = "程序设计题"
End Sub
初始窗口:
单击显示之后窗口:
单击交换之后的窗口:
自测题3
Private Sub Command1_Click() = *
End Sub
Private Sub Command2_Click() = + 30
= + 20
= 1
End Sub
初始窗口:
单击缩小两倍之后的窗口:
单击向右下角移动之后的窗口:自测题4
程序代码
Private Sub Command1_Click() = "VB学习"
Print "简单的VB程序设计" End Sub
Private Sub Command2_Click() Cls
End Sub
Private Sub Command3_Click() End
End Sub
Private Sub Command3_Click() End
End Sub
初始化窗口:
单击显示之后的窗口:
单击清除之后的窗口:
单击退出之后的窗口:
自测题5
Private Sub Command1_Click() = ""
= ""
End Sub
Private Sub Command2_Click() = Val + Val
End Sub
Private Sub Command3_Click() End
End Sub
初始化窗口:
单击运算之后窗口:
单击清除之后的窗口:
单击退出之后的窗口:
Private Sub Command1_Click()
Dim a$
a =
= Left(a, 2)
End Sub
Private Sub Command2_Click()
a =
= Right(a, 2)
End Sub
Private Sub Command3_Click()
= &
End Sub
初始窗口界面
输入字符串
截取前两个字符
截取后两个字符
字符串连接
自测练习2
Private Sub Form_Click()
Dim a%, b%, c%, d%, e%, f%, g%, h%, i%, j%, k%, l% a = 7349
e = a Mod 10 '个位
d = (a \ 10) Mod 10 '十位
c = (a \ 100) Mo
d 10 '百位
b = a \ 1000 '千位
i = (e + 7) Mod 10 '个位
h = (d + 7) Mod 10 '十位
g = (c + 7) Mod 10 '百位
f = (b + 7) Mod 10 '千位
j = i
i = f '交换后的个位
f = j '交换后的千位
k = h
h = g '交换后的十位
g = k '交换后的百位
l = f * 1000 + g * 100 + h * 10 + i
= False
Print "加密前的4位整数是7439"; (Chr(10)); "加密后的结果是"; l End Sub
初始界面
单击窗体运行后的界面
自测练习1
Private Sub Form_Click()
Dim a%, b%, c%, d%, e%, f!
a = Val(InputBox("输入第一个数", "输入一个数", 8))
b = Val(InputBox("输入第一个数", "输入一个数", 7))
c = a + b
d = a - b
e = a * b
f = a / b
f = Fix(f * 100 + / 100
MsgBox "x+y=" & c & Chr(10) & "x-y=" & d & Chr(10) & "x*y=" & e & Chr(10) & "x/y=" & f, , "输出的结果"
End Sub
自测练习2
Private Sub Form_Click()
Dim a%, b%, c%, d%, e%, f!
a = Val(InputBox("输入第一个数的值"))
b = Val(InputBox("输入第二个数的值"))
c = Val(InputBox("输入第三个数的值"))
d = Val(InputBox("输入第四个数的值"))
e = a + b + c + d
f = e / 4
Print "和="; e
Print "平均值="; f
End Sub
自测练习3
Private Sub Form_Click()
Dim h%, f%, x%, y%
h = Val(InputBox("输入总头数"))
f = Val(InputBox("输入总脚数"))
x = (4 * h - f) / 2
y = (f - 2 * h) / 2
Print "笼中鸡的头数为"; x; "只"
Print "笼中兔的头数为"; y; "只"
End Sub
自测练习1:
Private Sub Form_Click()
Dim a%, b%, c%
a = Val(InputBox("请输入第一条边", "边长"))
b = Val(InputBox("请输入第二条边", "边长"))
c = Val(InputBox("请输入第三条边", "边长"))
If a + b > c And a + c > b And b + c > a Then
If a * a + b * b = c * c Or a * a + c * c = b * b Or b * b = c * c = a * a Then
Print "直角"
ElseIf a = b And b = c Then
Print "等边三角形"
ElseIf a = b Or a = c Or b = c Then Print "等腰三角形"
Else
Print "一般三角形"
End If
Else
Print "不是三角形"
End If
End Sub
不是三角形运行结果:
初始窗口:
输入三条边:
运行结果:
直角三角形运行结果:
等边三角形运行结果如下:
等腰三角形:
一般三角形
自测练习2:
Private Sub Form_Click()
Dim a%, b!
a = Val(InputBox("请输入"))
If a Mod 2 = 0 And a Mod 3 = 0 And a Mod 5 = 0 Then b = Sqr(a)
Print a, b
Else
End
End If
End Sub
初始化窗口:
输入一个数:
运行结果:
自测练习3
Private Sub Command1_Click()
Dim a%, b%
a = Val
Select Case a > 0
Case a < 20
MsgBox "行李费为元/kg", , "行李费"
Case a >= 20 And a < 50
MsgBox "行李费为元/kg", , "行李费"
Case a >= 50 And a < 100
MsgBox "行李费为元/kg", , "行李费"
Case Else
b = * 100 + (a - 100) * : MsgBox "行李费为" & b & "元", , "行李费"
End Select
End Sub
初始窗口:
输入10:
输入25:
输入55:
输入120:
自测练习1
Option Base 1
Private Sub Form_Click()
Dim i%, a(1 To 20) As Integer
a(1) = 1: a(2) = 1
Print a(1);
Print a(2);
For i = 3 To 10
a(i) = a(i - 1) + a(i - 2)
Print a(i);
Next i
For i = 11 To 16
a(i) = a(i - 1) + a(i - 2)
Print a(i);
Next i
For i = 17 To 20
a(i) = a(i - 1) + a(i - 2)
Print a(i);
Next i
初始界面:
运行结果界面:
自测练习2
Option Base 1
Private Sub Form_Load()
= 10000
= 5000
End Sub
Private Sub Command1_Click()
Dim i%, j%, t%, a(1 To 4, 1 To 4) As Integer For i = 1 To 4
For j = 1 To 4
a(i, j) = Int(Rnd * 10) + 1
a(i, j);
Next j
Next i
"对角线的元素如下" For i = 1 To 4
a(i, i);
Next i
For i = 1 To 4
a(i, 5 - i);
Next i
For i = 1 To 4
t = a(1, i)
a(1, i) = a(4, i) a(4, i) = t
Next i
For i = 1 To 4
t = a(i, 2)
a(i, 2) = a(i, 3) a(i, 3) = t
Next i
For i = 1 To 4
For j = 1 To 4
a(i, j);
Next j
Next i
End Sub
运行初始界面:
运
运行结果界面:
自测练习1
Sub itostr(a As Integer) Dim b%, c$
a = Val
While a >= 1
c = Chr(a Mo
d 10 + 48) & c a = a \ 10
Wend
= c End Sub
Private Sub Command1_Click()
Dim a As Integer
a = Val
Call itostr(a)
End Sub
运行初始界面:
运行结果界面:
验证其他数字:
自测练习2:
Public Function area(n) As Double
Dim c#, d#, e#, s#
n = Val
c = (1 - 0) / n
While e <= 1
d = I * c:
e = (I + 1) * c
s = s + (Sin(d) + Sin(e)) * c / 2
I = I + 1
Wend
area = s
End Function
Private Sub Command1_Click()
Dim s As Double
Call area(n)
= area(n)
End Sub
运行初始界面:
运行结果:
自测练习3
Private Sub Form_click()
n = Val(InputBox("请输入n的值"))
x = Val(InputBox("请输入x的值"))
Print "e的值="; es(n, x)
End Sub
Private Function es(n, x)
Dim a As Double, b As Double, c As Double, i As Integer a = 1: b = 1: c = 1
For i = 1 To n
a = x * a:
b = b * i:
c = c + a / b
Next i
es = c
End Function
运行初始界面:
输入数据:
运行结果:
自测练习4:
For i = 1 To 4
For j = i + 1 To 5
If a(i) > a(j) Then
t = a(i): a(i) = a(j): a(j) = t End If
Next j
Next i
For i = 1 To 5
Print a(i); " ";
Next i
For i = 1 To 5
If Y < a(i) Then
t = a(i): a(i) = Y: Y = t
End If
Next i
For i = 1 To 6
a(6) = t
Next i
End Function
Private Sub Command1_Click()
Dim i#, a%(1 To 6), Y%
Y = Val(InputBox("输入y的值", "输入数据")) Insertfun a%(), Y
For i = 1 To 6
Print a(i); " ";
Next i
End Sub
运行初始界面:
插入数据:
运行结果:
自测练习1:
Private Sub Command1_Click()
If = 1 Then
= "报名参加羽毛球比赛"
End If
If = 1 Then
= "报名参加乒乓球比赛"
End If
If = 1 And = 1 Then
= "报名参加羽毛球,乒乓球比赛" End If
End Sub
运行初始界面:
运行结果:
自测练习4:
Private Sub Form_Load()
= 2
= 24
= "黑体"
= &HFF&
End Sub
Private Sub Option1_Click()
= "我是学生"
End Sub
Private Sub Option2_Click()
= "我是教师"
End Sub
Private Sub Option3_Click()
= "我是工人"
End Sub
Private Sub Option4_Click()