1、VB课后练习编程代码第一章: 1、 B 2、A 3、B4、对于气球对象,属性是:红色、充满氢气 事件是:松开手、针刺 方法是:飞走、爆破第三章: 1、窗体的属性主要可分为:外观、行为、字体、位置、杂项、缩放等几类2、A、B、D、E 4、改变窗口的工作状态会引发窗体的Activate 和Deactivate事件;改变窗口的大小会引发Resize事件。 6、C 7、具有Caption属性,而没有Text属性的常用控件有:标签Label、命令按钮CommandButton、选项按钮OptionButton、复选框CheckBox、框架Frame。具有Text属性,而没有Caption属性的常用控件有
2、:文本框TextBox、列表框ListBox、组合框ComboBox8、对象的属性既可以在设计界面时在属性窗口中进行设置,也可在代码窗口中用命令设置;一些只能在运行时设置的属性不在属性窗口中显示。9、VB中的容器控件有:窗体、图片框、框架 12、C13、将复选框的Value属性设为“2”,只是表示不可选,复选框的标题仍然是黑色的不变灰,而将复选框的Enabled属性设为“False”则整个复选框控件变为不活动控件,即该控件整个是灰色的。若把一个控件的Visible属性设为“False”意味着该控件不可见。14、列表框添加列表项可以使用Additem方法,删除可以使用Removeitem方法,如
3、果全部删除使用Clear方法。第四章: 1、B 3、不对,通用过程也可以存在于窗体模块中。6、合法的变量名:A、C、D8、 1).A/(b+c/d) 2).(x+sqr(x2+1)(1/3) 3).2*y/(a*x+b*y)*(a*x-b*y)4).1+1/(1+1/m) 5).(1/2)*(d/3)(2*x) 6).Log(y+cos(x)2)7).Abs(exp(x)+sin(x)3)/(x+y)8).Log(exp(x*y)+abs(1/tan(z)+cos(x)3)/(x+y-z)9、(2)、(A+B)/(A-B) 分子分母缺括号 (4)、A*B*C/(D+1)*Y) 分子乘号不能省略
4、,分母要加括号 (6)、(X*Y)5 乘号不能省略,注意运算的优先级10、 1).(x+y)02).X*y0 and x=int(x) and y=int(y)3).(a*b=0) and (ab) 或(A=0) xor (b=0)4).(C1+c2+c3)=255 or (c190 and c290 and c380)11、表达式的结果依次为:TRUE 、FALSE、FALSE、FALSE、FALSE12、只有A不能正常执行,会给出溢出的错误,其他均能正常执行。结果依次为:B、FALSE C、2 D、46 E、143213、S=3548 X=3548 S=3548 X=3548 S=83 X
5、=83 S=3548 X=354814、使用换底公式:Log(x)/Log(2)15、C 16、z = InputBox(输入一个数, 程序示例, 1.5)17、MsgBox z的值1.5大于0, 48, 程序示例5-2Option ExplicitPrivate Sub Command1_Click() Dim i%, j%, a%, b%, c% Randomize For i = 1 To 100 j = Int(90 * Rnd) + 10 List1.AddItem j If j = 40 Then a = a + 1 ElseIf j = 70 Then b = b + 1 Els
6、e c = c + 1 End If Next i Text1 = a Text2 = b Text3 = cEnd SubPrivate Sub Command2_Click() EndEnd Sub5-3Option ExplicitPrivate Sub Command1_Click() Dim x As Integer, y As Integer x = Val(Text1) If x = 0 Then y = 2 - x ElseIf x = 2 Then y = x + 2 ElseIf x = 5 Then y = x 2 Else y = 25 - x End If Text2
7、 = CStr(y)End SubPrivate Sub Command2_Click() Text1 = Text2 = Text1.SetFocusEnd SubPrivate Sub Command3_Click() EndEnd Sub5-4Option ExplicitPrivate Sub Command1_Click() Dim i As Integer, j As Integer, a As Integer, b As Integer Randomize For i = 1 To 20 j = Int(900 * Rnd) + 100 If j Mod 2 = 0 Then L
8、ist1.AddItem j Else List2.AddItem j End If Next iEnd SubPrivate Sub Command2_Click() EndEnd SubPrivate Sub Command3_Click() List1.Clear List2.ClearEnd Sub5-5算法1Option ExplicitPrivate Sub Command1_Click() Dim m As Integer, n As Integer, r As Integer Dim mm As Integer, nn As Integer m = Val(Text1): mm
9、 = m n = Val(Text2): nn = n Do r = m Mod n m = n n = r Loop Until r = 0 Text3 = mm * nn / mEnd SubPrivate Sub Command2_Click() Text1 = Text2 = Text3 = Text1.SetFocusEnd SubPrivate Sub Command3_Click() EndEnd Sub5-5算法2Option ExplicitPrivate Sub Command1_Click() Dim a As Integer, b As Integer, c As In
10、teger, m As Integer a = Val(Text1) b = Val(Text2) If a 1 Or b 1 Then Text3 = 数据错误! Else Do c = c + a Loop Until c Mod b = 0 Text3 = CStr(c) End IfEnd SubPrivate Sub Command2_Click() Text1 = Text2 = Text3 = Text1.SetFocusEnd SubPrivate Sub Command3_Click() EndEnd Sub5-5算法3Option ExplicitPrivate Sub C
11、ommand1_Click() Dim m As Integer, n As Integer Dim i As Integer m = Val(Text1) n = Val(Text2) For i = 1 To m * n If i Mod m = 0 And i Mod n = 0 Then Text3 = i Exit For End If Next iEnd SubPrivate Sub Command2_Click() Text1 = Text2 = Text3 = Text1.SetFocusEnd SubPrivate Sub Command3_Click() EndEnd Su
12、b5-6Option ExplicitPrivate Sub Command1_Click() Dim sum%, fact&, i%, x% sum = 0: fact = 1 For i = 1 To 10 x = InputBox(请输入10个整数, 和数和连成积) sum = sum + x fact = fact * x If i = 0 And Mid(s, i, 1) = 9 Then t = t & Mid(s, i, 1) End If Next i Text2 = tEnd SubPrivate Sub Command2_Click() Text1 = Text2 = Te
13、xt1.SetFocusEnd SubPrivate Sub Command3_Click() EndEnd Sub5-8Option ExplicitPrivate Sub Command1_Click() Dim n As Integer, s As String, t As Integer n = Val(Text1) Do t = n Mod 2 s = t & s n = n 2 Loop Until n = 0 Text2 = sEnd SubPrivate Sub Command2_Click() Text1 = Text2 = Text1.SetFocusEnd SubPriv
14、ate Sub Command3_Click() EndEnd Sub5-9Option ExplicitPrivate Sub Command1_Click() Dim a As Integer, b As Integer, c As Integer, i As String For a = 1 To 100 For b = a To 100 For c = 1 To 100 If a 2 + b 2 = c 2 And a b Then i = a & & 2 & + & b & & 2 & = & c & & 2 List1.AddItem i End If Next c Next b
15、Next a Text1.Text = List1.ListCountEnd SubPrivate Sub Command2_Click() EndEnd Sub5-10Option ExplicitPrivate Sub Command1_Click() Dim a As Integer, b As Integer, c As Integer Dim i As Integer For i = 100 To 999 a = i 100 b = (i Mod 100) 10 c = i Mod 10 If c b And b a Then List1.AddItem i End If Next
16、iEnd Sub5-11Private Sub Form_Click() Dim a As Single, b As Single, c As Single Dim fa As Single, fb As Single, fc As Single Dim eps As Single eps = InputBox( 输入要求误差:, 练习13) a = 0 b = 1 fa = a 2 * (a - a 2 + 4) - 1 fb = b 2 * (b - b 2 + 4) - 1 If fa * fb 0 Then Print 没有根 Else Do fa = a 2 * (a - a 2 +
17、 4) - 1 c = (a + b) / 2 fc = c 2 * (c - c 2 + 4) - 1 If fa * fc 0 Then a = c Else b = c End If Loop Until Abs(a - b) a(j) Then temp = a(i) a(i) = a(j) a(j) = temp End If Next j Next i num = 20 For i = 1 To 19 If a(i) = a(i + 1) Then num = num - 1 Next i Text1 = CStr(num)End SubPrivate Sub Command2_C
18、lick() Picture1.Cls Text1 = End SubPrivate Sub Command3_Click() EndEnd Sub6-3算法2Option ExplicitDim a() As IntegerPrivate Sub Command1_Click() Dim i As Integer ReDim a(20) Randomize For i = 1 To 20 a(i) = Int(90 * Rnd + 10) Picture1.Print a(i); If i Mod 10 = 0 Then Picture1.Print End If Next iEnd Sub
19、Private Sub Command2_Click() Dim ub As Integer, n As Integer, i As Integer, j As Integer ub = UBound(a) n = 1 Do While n ub i = n + 1 Do While i = ub If a(n) = a(i) Then For j = i To ub - 1 a(j) = a(j + 1) Next j ub = ub - 1 ReDim Preserve a(ub) Else i = i + 1 End If Loop n = n + 1 Loop Text1.Text =
20、 ubEnd SubPrivate Sub Command3_Click() EndEnd Sub6-4Option ExplicitOption Base 1Dim a%(20), b%(23), sum%, max%, n1%, n2%, n3%, n4%, i%, j%Private Sub Command1_Click() For i = 1 To 20 a(i) = Int(90 * Rnd) + 10) b(i) = a(i) Text1.Text = Text1.Text & Str(a(i) Next i For i = 1 To 3 b(i + 20) = a(i) Next
21、 iEnd SubPrivate Sub Command2_Click() max = 0 For i = 1 To 20 sum = b(i) + b(i + 1) + b(i + 2) + b(i + 3) If max sum Then max = sum n1 = b(i): n2 = b(i + 1): n3 = b(i + 2): n4 = b(i + 3) End If Next i Text2.Text = n1 & Str(n2) & Str(n3) & Str(n4) Text3.Text = maxEnd SubPrivate Sub Command3_Click() E
22、ndEnd Sub6-5Option ExplicitOption Base 1Dim a(4, 5) As IntegerPrivate Sub Command1_Click() Dim i As Integer, j As Integer Randomize For i = 1 To 4 For j = 1 To 5 a(i, j) = Int(9 - 1 + 1) * Rnd + 1) Picture1.Print a(i, j); Next j Picture1.Print Next iEnd SubPrivate Sub Command2_Click() Dim i As Integ
23、er, j As Integer, sum As Integer For j = 1 To 5 For i = 1 To 4 sum = sum + a(i, j) Next i Text2 = Text2 & Str(sum) sum = 0 Next jEnd SubPrivate Sub Command3_Click() Dim i As Integer, j As Integer, sum As Integer For i = 1 To 4 For j = 1 To 5 sum = sum + a(i, j) Next j Text1 = Text1 & Str(sum) & vbCr
24、Lf sum = 0 Next iEnd SubPrivate Sub Command4_Click() EndEnd SubPrivate Sub Command5_Click() Picture1.Cls Text1 = Text2 = End Sub6-6Dim a(5, 5) As IntegerPrivate Sub Command1_Click() Dim i As Integer, j As Integer, m As Integer For i = 1 To 5 For j = 1 To 5 - i Do m = Int(90 * Rnd + 10) r = m Mod 2 Loop Until r = 0 a(i, j) = m Next j Next i For i = 1 To 5 For j = 6 - i To 5 Do m = Int(90 * Rnd + 10) r = m Mod 2