2.
Private Sub chkBold_Click()
If chkBold.Value = vbChecked Then Txt1.FontBold = True Else
Txt1.FontBold = False End If End Sub
Private Sub chkUnderline_Click()
If chkUnderline.Value = vbChecked Then Txt1.FontUnderline = True Else
Txt1.FontUnderline = False End If End Sub
Private Sub Opt18_Click() Txt1.FontSize = 18 End Sub
Private Sub Opt22_Click() Txt1.FontSize = 22 End Sub 3.
Private Sub Form_Load() List1.AddItem \上海\List1.AddItem \北京\List1.AddItem \天津\List1.AddItem \广东\List1.AddItem \辽宁\List1.AddItem \陕西\List1.AddItem \河南\List1.AddItem \深圳\List1.AddItem \四川\List1.AddItem \重庆\End Sub
Private Sub List1_DblClick() For i = 0 To 9
If List1.ListIndex = i Then List2.AddItem List1.List(i) List1.RemoveItem i End If Next i End Sub
4.
Private Sub Command1_Click() Timer1.Enabled=True
Timer1.Tag=Text1.Text*60
Frame1.Caption=“现在开始倒计时” End Sub
Private Sub Timer1_ Timer() Timer1.Tag=Timer1.Tag-1 If m<0 Then
Timer1.Enabler=False
MsgBox“预定的时间到了!”,0,“倒计时” Frame1.Caption=“请输入计时的分钟数:” Text1.Text=0 Exit Sub End If
n1=Format(m Mod 60,“00”) n2=Format(m \\ 60)Mod 60,“00:”) n3=Format(m \\ 3600),“00:”) Text1.Text=n3&n2&n1 End Sub
习题6参考答案
6.1单选题
1.C 2.C 3.B 4.B 5.B 6.B 7.B 8.B 9.A 10.A
6.2 填空题
1.Option Base 1 2.变体类型
3.preserve (注意:教材上面写成perserve, 教材错误) 4.Variant变体类型 5.9
6.相同,索引号 7.
1).通过复制粘贴的方式创建控件数组
2).在设计时候添加多个同类型的类型控件,然后通过“属性”窗口将这些控件的名称改为相同,并把Index属性设为不同的下标值。
3).使用Load语句动态添加控件数组元素 8.sum+m;i-1;sum/i
9.j=9或者UBound(a);a(i) = a(j); j = j - 1
6.3阅读程序题
1.数组下标越界的错误提示 2.1 6 15 28 45 3.20
6.4程序设计题
1.
Private Sub Form_Click()
Dim a(99) As Integer, i%, j%, flag%, temp%, k% For i = 0 To 99
Randomize '初始化随机数发生器
a(i) = Int((999 - 0 + 1) * Rnd + 0) '按要求生成随机数放入数组 Next i j=0
For i = 0 To 99
If a(i) Mod 3 = 0 And a(i) Mod 10 <> 0 Then j = j + 1 Print a(i);
If j Mod 10 = 0 Then Print End If Next i Print
Print \满足条件的数的个数为:\End Sub 2.
Private Sub Command1_Click() Picture1.Cls
Dim i%, s$, c As String * 1, l%, k% Dim arr(1 To 26) As Integer s = Text1.Text l = Len(s) For i = 1 To l
c = UCase(Mid(s, i, 1))
If c >= \
arr(Asc(c) - 65 + 1) = arr(Asc(c) - 65 + 1) + 1 End If Next i k = 0
For i = 1 To 26
If arr(i) <> 0 Then
Picture1.Print Chr(i + 64) & \ \ k = k + 1
If k Mod 6 = 0 Then Picture1.Print End If Next i End Sub
3.Private Sub Command1_Click()
Dim a(1 To 10) As Integer, i%, j%, t% Randomize Cls
Print \排序前:\ For i = 1 To 10
a(i) = Int(Rnd * 100 + 1) Print a(i); Next i Print
For i = 1 To 9 k = i
For j = i To 10
If a(k) < a(j) Then k = j End If Next j
If k <> i Then t = a(i): a(i) = a(k): a(k) = t Next i
Print \排序后:\ For i = 1 To 10 Print a(i); Next i Print End Sub 4.
Private Sub Command1_Click() Dim arr(3, 3) As Integer
Dim max%, i%, j%, x%, y%, sum%, t%
arr(0, 0) = 12: arr(0, 1) = 23: arr(0, 2) = 53: arr(0, 3) = 89: arr(1, 0) = 16: arr(1, 1) = 90: arr(1, 2) = 26: arr(1, 3) = 11: arr(2, 0) = 28: arr(2, 1) = 1: arr(2, 2) = 98: arr(2, 3) = 38: arr(3, 0) = 37: arr(3, 1) = 32: arr(3, 2) = 25: arr(3, 3) = 10: ‘数组中的每一个元素可以使用随机函数产生 max = arr(0, 0)
x = 0 y = 0 sum = 0
For i = 0 To 3 For j = 0 To 3
If arr(i, j) > max Then max = arr(i, j) x = i y = j End If
If i = j Or i + j = 3 Then sum = sum + arr(i, j) End If Next j Next i
Print \矩阵最大值为\下标为:\ Print \两条对角线元素之和为:\'将矩阵转置 For i = 1 To 3
For j = 0 To i - 1 t = arr(i, j)
arr(i, j) = arr(j, i) arr(j, i) = t Next j Next i
For i = 0 To 3 For j = 0 To 3 Print arr(i, j); Next j
Print vbCrLf Next i End Sub 5.
Private Sub Form_Click() Dim a(), i%, k%, x%, m% a = Array(1, 23, 36, 78, 90) m = UBound(a)
x = Val(InputBox(\请输入一个整数\输入\ For i = 0 To m
If x < a(i) Then Exit For Next i
ReDim Preserve a(m + 1)
For k = m To i Step -1 a(k + 1) = a(k) Next k a(i) = x
For i = 0 To m + 1 Print a(i) Next i End Sub
Visual Basic程序设计教程 课后答案



