1.(1)4次,n=13 (2)3次,n=8 (3)3次,n=27 (4)3次,n=10 (5)1次,n=12 2.(1) Len(s) (2) Mid(s, k, 1) (3) c + t (4) Text2.Text 3.(1) t = 1 (2) n = n + 1 (3) t = t * 2
4. 0 5. Text 6. 下拉列表框 7. AddItem ,RemoveItem或Clear 8.(1)ItemA (2) ItemD (3) ItemD (4) ItemA 9.(1) Mid(x, p + 3) (2) p + 4 (3) InStr(p, x, \
编程及上机调试
1. 和数为:1.21。程序代码如下: Private Sub Form_Load() Show s = 0
For k = 1 To 100
s = s + 1 / (1 + k * 4) Next k Print s End Sub
2. 程序代码如下:
Private Sub Form_Load()
Dim i As Integer, a As Integer, b As Integer, c As Integer Show
For i = 100 To 999 a = Int(i / 100)
b = Int((i - 100 * a) / 10) c = i - 100 * a - 10 * b
If a * a * a + b * b * b + c * c * c = i Then Print i End If Next i End Sub
3. 在窗体上建立一个文本框Text1(初始值)、一个列表框List1(显示结果)和一个命令按钮Comd1(“查找”)。
Private Sub Comd1_Click() '“查找” Dim n As Integer n = Val(Text1.Text)
List1.Clear:k = 0
Do While k <= 99
If Not (n Mod 7 = 0) Then
List1.AddItem n k = k + 1 End If n = n + 1 Loop End Sub
4. 程序代码如下:
Private Sub Form_Load() Show
n = Val(InputBox(\正整数n=\ For i = 1 To n
For j = i + 1 To n For k = j + 1 To n
If i * i + j * j = k * k Then
Print \ End If Next k Next j Next i End Sub
6
5.在窗体上建立一个列表框List1和一个“显示表项”命令按钮Command1。程序代码如下:
Private Sub Command1_click() '\显示表项\按钮单击事件 FontSize = 12 Cls
For i = 0 To List1.ListCount - 1 '逐项判断 If List1.Selected(i) Then '真时为选中 Print List1.List(i) End If Next i End Sub
6.(1) Text1.Text (2) UCase(x) (3) t >= \7.程序代码如下:
Private Sub Form_Load() Show
Dim a As Single, xn0 As Single, xn1 As Single a = Val(InputBox(\请输入一个正数\ xn1 = a Do
xn0 = xn1
xn1 = (xn0 + a / xn0) / 2
Loop While Abs(xn0 - xn1) >= 0.00001 Print a; \的平方根为\End Sub
第6章习题
一、单选题
1. D 2. A
3.(1)B,(2)B 4.C 5. C 6. A
7. (1)C (2)B (3)A (4)B (5)D
二、多选题
1. AD
2. CD
三、填空题
1. 二, 12; 1, 3; -1, 2 2. 0 1 2 3 2 2 2 2 2 1 0 1 4 4 4 4 3. Name, Index
4. (1) 0 To Index (2)Val(Text1(k).Text)
5. (1) i+1 To k (2) s(i)< s(j) (3) s(i)<>s(i-1) (4) h = h+1 6. (1) ReDim a(1 To n + 1) (2) a(K + 1) = a(K) (3) a(p)
编程及上机调试
1. 程序代码如下:
Private Sub Form_Load() Show
Dim a(100) As Single
n = Val(InputBox(\输入个数n\ Print \处理前数据 :\ For k = 1 To n
a(k) = Val(InputBox(\请输入第\个数\ Print a(k); Next k Print
M = Int(n / 2) For k = 1 To M h = n - k + 1
t = a(h):a(h) = a(k):a(k) = t Next k
Print \处理的结果 :\
7
For k = 1 To n Print a(k); Next k End Sub
2. 程序代码如下:
Private Sub Form_Load() Dim a(6, 6) As Integer Show
For i = 1 To 6 For j = 1 To 6 Select Case i Case Is < j a(i, j) = 1 Case Is > j a(i, j) = 2 Case Is = j a(i, j) = 0 End Select Print a(i, j); Next j Print Next i
For i = 1 To 6
t = a(1, i):a(1, i) = a(6, i):a(6, i) = t Next i
Print: Print For i = 1 To 6 For j = 1 To 6 Print a(i, j); Next j Print Next i End Sub
3.在窗体上建立两个列表框List1(处理前数据)和List2(处理后数据),以及标签Label1。程序代码如下:
Private Sub Form_Load()
Dim a(100) As Integer, b(100) As Integer Randomize n = 100
For i = 1 To n '输入数组a的n个元素 x = Int(20 * Rnd) List1.AddItem x a(i) = x Next i k = 0
For i = 1 To n '删除零元素 If a(i) <> 0 Then
k = k + 1 : b(k) = a(i) : List2.AddItem b(k) End If Next i
Label1.Caption = \数组中零元素个数:\
End Sub
4.(1) g(x - 10) + 1 (2) n - 1 (3) g(t) < g(j) (4) m = s(t): s(t) = s(k): s(k) = m
5.在窗体上建立4行3列共12个元素的文本框控件数组Text1(0)~Text1(11) Private Sub Form_Load() Dim t(12) As String Randomize
For k = 1 To 12
t(k) = \初始安排12个位置均为\ Next k
8
For h = 65 To 74 '代表\至\,每次随机安排一个字母 Do While True '随机查找一个空位 p = Int(1 + 12 * Rnd) '产生1~12随机数 If t(p) = \ t(p) = Chr(h) Exit Do End If Loop Next h
For k = 1 To 12
Text1(k - 1).Text = t(k) '显示座位分配情况 Next k End Sub
第7章习题
一、单选题
1. B 2. C
3.B 4.B 5. C 6. D
7. C 8. B
二、填空题
1. EF 2. 7; 1; 4 3. (1)10 (2)28 (3)6 (4) 6 4. Call Comd1_Click 5. (1) n>=16 (2) n\\16 (3) Mid(ch, r+1, 1)
编程及上机调试
1. 在窗体上建立四个文本框Text1和一个命令按钮Command1(“检验”)。文本框Text1~Text3用于输入,Text4用于输出结果。
Private Sub Command1_Click()
Dim a As String, b As String, c As String a = Trim(Text1.Text) b = Trim(Text2.Text) c = Trim(Text3.Text)
If che(a) And che(b) And che(c) Then
Text4.Text = Val(a) + Val(b) + Val(c) Else
Text4.Text = \存在非数字字符\ End If End Sub
Function che(x As String) As Boolean '若存在非数字字符,函数值为假 che = True
For k = 1 To Len(x) s = Mid(x, k, 1)
If s < \ che = False Exit For End If Next k End Function
2.在窗体上建立七个文本框Text1~Text7和一个命令按钮Command1(“比较”)。Text1~Text6用于输入,Text7用于输出结果。
Private Sub Command1_Click()
a = Val(Text1.Text):b = Val(Text2.Text):c = Val(Text3.Text) d = Val(Text4.Text):e = Val(Text5.Text):f = Val(Text6.Text) Call max(a, b, c, m) Call max(m, d, e, m) Call max(m, f, f, m) Text7.Text = m End Sub
Sub max(x, y, z, m) ‘标准模块文件 If x > y Then m = x
9
Else
m = y End If
If m < z Then m = z End If End Sub
3. (1) s<>\ (2) Mid(s, p+1) (3) n
4. 程序代码如下:
Private Sub Form_Load()
Dim x As Single, n As Integer, y As Double x = InputBox(\求X的n次方\ n = InputBox(\求X的n次方\ y = Power(x, n) Show
Print x; \的\次方=\End Sub
Function Power(x As Single, n As Integer) As Double If n > 1 Then
Power = Power(x, n - 1) * x Else
Power = x End If End Function 5. 在窗体上设置三个窗体Form1~Form3。Form1中建立了两个文本框Text1(“用户名”)和Text2(“密码”),以及命令按钮Command1(“判断”)。Form2中建立了一个文本框Text1(其Text属性值为“欢迎你使用本系统”)和命令按钮Command1(“返回”)。Form3中建立了一个文本框Text1(其Text属性值为“对不起,请向管理员查询”)和命令按钮Command1(“退出”)。 Dim n As Integer
Private Sub Command1_Click() ‘窗体Form1的“判断” usern = Trim(Text1.Text):passw = Trim(Text2.Text) If usern = \ Form1.Hide Form2.Show Else
n = n + 1:Text1.SetFocus If n = 3 Then Form1.Hide Form3.Show End If End If
Text1.Text = \End Sub
Private Sub Form_Activate()
Text1.Text = \ Text1.SetFocus End Sub
Private Sub Command1_Click() ‘窗体Form2的“返回” Form2.Hide
Form1.Show End Sub
Private Sub Command1_Click() ‘窗体Form3的“退出” Unload Form1 Unload Form2
Unload Form3 End End Sub
6. (1) Form1窗体模块程序代码:
Private Sub Form_Load() Randomize End Sub
10