《VB语言程序设计》教材 林卓然编著 电子工业出版社2003年1月出版 书号:5053-8421-X/TP4904 定价:23元 编者免费提供本教材的课堂教学用的电子教案。需要电子教 案及习题解答的教师,可从电子工业出版社网站的“资源下载” 区中下载,也可直接与编者联系( Puslzrazsu. edu. cn)。 《VB语言程序设计》习题参考答案 第1章习题 单选题 5.C 8.B 9.C 10.(1)A(2)B 二、多选题 I. ACDE 填空题 1.事件驱动 解释,编译 3.设计,运行,中断 4.属性,方法,事件 5. Command2 Click 6.中央,代码 7. MyForm. frm 8.(1) Cmdl click0(2) Print"VB语言程序设计 编程及上机调试 1.按要求设置窗体属性 2.在窗体上建立一个标签 Label1。程序代码如下 Private Sub Form Click O Labell. Caption=“"你单击了窗体 Private Sub Form DblClick Labell. Caption="你双击了窗体 End sub 3.在窗体上建立两个文本框Text1(输入数)、Text2(输出数)和一个命令按钮C 两个文本框的 Text属性均为空。 Private Sub Commandl Click O Dim x As single Val(TextI Text) Text2 Text =15 第2章习题 一、单选题
1 《VB 语言程序设计》习 题 参 考 答 案 第 1 章习题 一、单选题 1.D 2.B 3.C 4.A 5.C 6. A 7.A 8.B 9.C 10.(1)A (2)B 二、多选题 1.ACDE 2.BCDE 3.CD 4. CE 三、填空题 1.事件驱动 2.解释,编译 3.设计,运行,中断 4. 属性,方法,事件 5. Command2_Click 6. 中央,代码 7.MyForm.frm 8. (1)Cmd1_Click() (2)Print "VB 语言程序设计" 编程及上机调试 1. 按要求设置窗体属性 2.在窗体上建立一个标签 Label1。程序代码如下: Private Sub Form_Click() Label1.Caption = "你单击了窗体" End Sub Private Sub Form_DblClick() Label1.Caption = "你双击了窗体" End Sub 3. 在窗体上建立两个文本框 Text1(输入数)、Text2(输出数)和一个命令按钮 Command1。两个文本框的 Text 属性均为空。 Private Sub Command1_Click() Dim x As Single x = Val(Text1.Text) Text2.Text = 15 * x End Sub 第 2 章习题 一、单选题 《VB 语言程序设计》教材 林卓然编著 电子工业出版社 2003 年 1 月出版 书号: 5053-8421-X/TP.4904 定价: 23 元 编者免费提供本教材的课堂教学用的电子教案。需要电子教 案及习题解答的教师,可从电子工业出版社网站的“资源下载” 区中下载,也可直接与编者联系(Puslzr@zsu.edu.cn)
1.①D,②D 2.①A,②C 3.A 4.B B B 9, 12.A 14,A 二、多选题 三、填空题 1.(1)Sin(50*3.14159/180) (2)(2+x*y)/(2-y*y) (3)a*a-3*a*b/(3+a) (4)x^(3/8)+Sqr(y*y+4*a*a/(x+y3)) Int(50+6*Rnd) 3.(1)138 (3)214 (4)"inchina 4."系统管理数据库 编程及上机调试 1~3题:按要求完成操作练习 4. Private Sub Commandl Click 最大化"按钮 Forml WindowState =2 最大化 End sub rivate sub Command2_ Click’"还原”按钮 Forml WindowState =0 还原 End sub Private Sub Command3 Click 最小化"按钮 Forml Windowstate = l 最小化 End sub 5.在窗体上建立三个文本框Text1(第一个数)、Text2(第二个数)、Text3(计算结果)和一个命令按 钮 Command1(“计算”)。 Private Sub Commandl Click o Dim x As Single Dim y As single Text3 Text =x*x+y *y End sub 6.在窗体上建立两个文本框 TextI(输入一串字符)、Text2(输出结果)和一个命令按钮 Commandl Private Sub Commandl Click O Dim x As strin x= Left(Textl. Text, 1)+ Right(Textl. Text, 1) End sub 第3章习题 2.B 4.D 10.A 12.C 15.(1)A(2)C 17.B 18.(1)D(2)B(3)C 多选题
2 1.①D,②D 2.①A,②C 3.A 4.B 5.B 6.B 7.C 8.D 9.B 10.B 11.A 12.A 13.B 14.A 15.B 16.A 17.B 二、多选题 1.BD 2.CD 3.AC 4. AD 三、填空题 1.(1) Sin(50*3.14159/180) (2) (2+x*y)/(2–y*y) (3) a*a–3*a*b/(3+a) (4) x^(3/8)+Sqr(y*y+4*a*a/(x+y^3)) 2.Int(50+6*Rnd) 3.(1)138 (2)3 (3)214 (4) "inchina" (5)70 (6) "45" (7)0 4. "系统管理数据库" 编程及上机调试 1~3 题:按要求完成操作练习。 4. Private Sub Command1_Click() '"最大化"按钮 Form1.WindowState = 2 '最大化 End Sub Private Sub Command2_Click() '"还原"按钮 Form1.WindowState = 0 '还原 End Sub Private Sub Command3_Click() '"最小化"按钮 Form1.WindowState = 1 '最小化 End Sub 5.在窗体上建立三个文本框 Text1(第一个数)、Text2(第二个数)、Text3(计算结果)和一个命令按 钮 Command1(“计算”)。 Private Sub Command1_Click() Dim x As Single Dim y As Single x = Val(Text1.Text) y = Val(Text2.Text) Text3.Text = x * x + y * y End Sub 6. 在窗体上建立两个文本框 Text1(输入一串字符)、Text2(输出结果)和一个命令按钮 Command1。 Private Sub Command1_Click() Dim x As String x = Left(Text1.Text, 1) + Right(Text1.Text, 1) Text2.Text = x End Sub 第 3 章习题 一、单选题 1.C 2.B 3.D 4.D 5.B 6.C 7.B 8.D 9.D 10.A 11.A 12.C 13.C 14.B 15.(1)A (2)C 16.A 17.B 18.(1)D (2)B (3)C 19.D 二、多选题
3. ABCF 三、填空题 1.$000,124 2. Labell Caption=akb= 3. Height, Width 5. Text1. set Focus 6. Multiline, Scroll Bars, 2 7.编程技术,程序设计 8. Private Sub Text2 Change o 当文本框Text2中的文本内容发生变动时,执行该事件过程 Labell Caption=Textl Text 把文本框 TextI中的文本内容作为标签 Labell的标题 End sub Private Sub Textl Got Focus o 当文本框 TextI获得焦点时,执行该事件过程 TextI Selstart =0 选定文本框 TextI中的所有文本内容 Textl. SelLength=Len(Textl. Text) End sub 编程及上机调试 1.在窗体上建立一个文本框 TextI(输入n值)、三个标签 Label1(第一个随机数)、 Label2(第二个随机 数)和 Label3(第三个随机数),以及一个命令按钮 Command l Private Sub Commandl Click Randomize x= Int(l + n Rnd) Labell. Caption="第一个随机数”+Str(x) Label2. Caption="第二个随机数”+Str(x) x= Int(1 + n *Rnd abe3. Caption="第三个随机数"+Str(x) End sub 2.在窗体上建立了四个文本框Text1、Text2、Text3和Text4,以及一个命令按钮 Commandl(“交换”) 和 Command2(“合并”)。 Private Sub Commandl Click “交换” t Text. Text TextI, Text Text2 Text Text2 Text Text3. Text Text3 Text = t End Sub Private Sub Command2 Click 合并 t Text Text Text2 Text Text3 Text Text4 Text = t End sub 3.(1)Rnd*9000+1000(2)Str(x)(3)Mid(s,3,1)+Mid(s,2,1)+Left(s,1) 4. Private Sub Commandl Click O 往左 Text. Left=0 End sub Private Sub Command2 Click o 往右 Textl Left Forml Width Textl Width Private Sub Command3 Click TextI Left =(Forml Width- Textl Width)/2 End sub Private sub Cmd I Labl Caption := 下达显示命令 End sub Private Sub Form Click O Cmdl Visible lrue 6. Private Sub Form KeyPress(KeyAscii As Integer) Show
3 1.AC 2.AC 3.ABCF 三、填空题 1. $000,124 2.Label1.Caption="a*b=" 3.Height,Width 4.2 5.Text1.SetFocus 6.Multiline, ScrollBars, 2 7.编程技术,程序设计 8.Private Sub Text2_Change() ´当文本框 Text2 中的文本内容发生变动时,执行该事件过程 Label1.Caption=Text1.Text ´把文本框 Text1 中的文本内容作为标签 Label1 的标题 End Sub Private Sub Text1_GotFocus() ´当文本框 Text1 获得焦点时,执行该事件过程 Text1.SelStart = 0 ´选定文本框 Text1 中的所有文本内容 Text1.SelLength=Len(Text1.Text) End Sub 编程及上机调试 1.在窗体上建立一个文本框 Text1(输入 n 值)、三个标签 Label1(第一个随机数)、Label2(第二个随机 数)和 Label3(第三个随机数),以及一个命令按钮 Command1。 Private Sub Command1_Click() n = Val(Text1.Text) Randomize x = Int(1 + n * Rnd) Label1.Caption = "第一个随机数" + Str(x) x = Int(1 + n * Rnd) Label2.Caption = "第二个随机数" + Str(x) x = Int(1 + n * Rnd) Label3.Caption = "第三个随机数" + Str(x) End Sub 2.在窗体上建立了四个文本框 Text1、Text2、Text3 和 Text4,以及一个命令按钮 Command1(“交换”) 和 Command2(“合并”)。 Private Sub Command1_Click() '“交换” t = Text1.Text Text1.Text = Text2.Text Text2.Text = Text3.Text Text3.Text = t End Sub Private Sub Command2_Click() '“合并” t = Text1.Text + Text2.Text + Text3.Text Text4.Text = t End Sub 3. (1) Rnd * 9000 + 1000 (2) Str(x) (3) Mid(s, 3, 1) + Mid(s, 2, 1) + Left(s, 1) 4. Private Sub Command1_Click() '往左 Text1.Left = 0 End Sub Private Sub Command2_Click() '往右 Text1.Left = Form1.Width - Text1.Width End Sub Private Sub Command3_Click() '居中 Text1.Left = (Form1.Width - Text1.Width) / 2 End Sub 5. Private Sub Cmd1_Click() Lab1.Visible = True Lab1.Caption = "您已下达显示命令" End Sub Private Sub Form_Click() Cmd1.Visible = True End Sub 6. Private Sub Form_KeyPress(KeyAscii As Integer) Show
Print"输入字符:";Chr( KeyAscii)," ASCII码为;"; Keyascii End sub Private Sub Form DblClick o CI nd sub 7.产生这三个消息框的相应语句是 产生第1个消息框:x= MsgBox("在这里显示提示信息",4+0,"请确认") 产生第2个消息框:x= MsgBox("在这里显示"+Chr(13)+"提示信息”,3+0,"请确认") 产生第3个消息框:x= MsgBox("在这里显示"+Chr(13)+"提示信息",2+16+0,"请确认") 第4章习题 单选题 8.B 9.B 10.(1)D(2)A(3)B 二、多选题 1. ABCFGHJ 4. CDE 三、填空题 1.(S And(A>=18 And A Or (Not s And (A>=16 And Age=1. 60) 2.60000 3.(1)"0"To 2)a" To"Z", A" To"Z"(3)Else 4.(1)6(2)2(3)2 5. Select Case x Case is100)And(xMod5=0) (2)0 (3)Len(TextI, Text (4)TextI SelText 编程及上机调试 1.在窗体上建立两个文本框 TextI(输入数)及Text2(显示结果),一个命令按钮 Commandl(“判断”)。 Private Sub Commandl Click “判断” x=Val(Textl Text) If x Mod 2=0 Then Text2.Text="偶数 Else消息 Text2.Text="奇数 End sub 2.窗体上建立了一个文本框Text1,用于显示结果。 Private Sub Form Load O Val( InputBox("请输入星期几(0~6)")) Select cas 0 Text1..Text="星期日( Sunday) Case Is =1 Text1.Text="星期一(Mor
4 Print "输入字符:"; Chr(KeyAscii), "ASCII 码为;"; KeyAscii End Sub Private Sub Form_DblClick() Cls End Sub 7. 产生这三个消息框的相应语句是: 产生第 1 个消息框:x = MsgBox("在这里显示提示信息", 4 + 0, "请确认") 产生第 2 个消息框:x = MsgBox("在这里显示" + Chr(13) + "提示信息",3 + 0,"请确认") 产生第 3 个消息框:x = MsgBox("在这里显示"+Chr(13)+"提示信息",2 + 16 + 0,"请确认") 第 4 章习题 一、单选题 1.C 2.A 3.C 4.C 5. B 6. A 7.D 8.B 9.B 10.(1)D (2)A (3)B 二、多选题 1.ABCFGHJ 2.BE 3.CD 4. CDE 5. AE 三、填空题 1.(S And (A>=18 And A =1.65) Or (Not S And (A>=16 And Age=1.60) 2. 60000 3. (1) "0" To "9" (2) "a" To "z","A" To "Z" (3) Else 4.(1)6 (2)-2 (3)2 5. Select Case x Case Is 100) And (x Mod 5=0) (2) 0 (3) Len(Text1.Text) (4) Text1.SelText 编程及上机调试 1. 在窗体上建立两个文本框 Text1(输入数)及 Text2(显示结果),一个命令按钮 Command1(“判断”)。 Private Sub Command1_Click() '“判断” x = Val(Text1.Text) If x Mod 2 = 0 Then Text2.Text = "偶数" Else 消息 Text2.Text = "奇数" End If End Sub 2.窗体上建立了一个文本框 Text1,用于显示结果。 Private Sub Form_Load() x = Val(InputBox("请输入星期几(0~6)")) Select Case x Case Is = 0 Text1.Text = "星期日(Sunday)" Case Is = 1 Text1.Text = "星期一(Monday)
xt1.Text="星期二( Tuesday)" C Text1.Text="星期三( Wednesday)" Text1.Text="星期四( Thursday) Text1.Text="星期五( Friday)" Text1.Text="星期六( Saturday) Case else TextI.Text="输入错误 End select End sub 3.窗体上建立了一个文本框Text(“输入口令”)和一个命令按钮 Command1(“检查”) Private Sub Command l Click o “检查” Ifx="12345678″Then MsgBox("欢迎你用机!") Else MsgBox("对不起,口令错") End If TextI Text TextI Set Focus End sub Private Sub Form Load TextI Text Textl. MaxLength =8 Text. P End sub 4.窗体上建立了两个文本框 Text(输入字符串)及Text2(转换结果),一个命令按钮 Commandl(“清 Private Sub Commandl Click O “清除” TextI Set Focus End sub Private Sub Textl KeyPress(KeyAscii As Integer) s= Chr(KeyAscii Select case s s= UCase(s) Case el End Select Text2. Text Text2 Text +s End sub 5.分别选择”红”、”绿”、”蓝”复选框后,单击命令按钮 Command 1时,通过RGB函数调配的颜 色作为一个标签的背景色( Back Color) Private Sub Commandl Click If Check Value =1 The ”红”复选框 绿”复选框 =255 End if
5 Case Is = 2 Text1.Text = "星期二(Tuesday)" Case Is = 3 Text1.Text = "星期三(Wednesday)" Case Is = 4 Text1.Text = "星期四(Thursday)" Case Is = 5 Text1.Text = "星期五(Friday)" Case Is = 6 Text1.Text = "星期六(Saturday)" Case Else Text1.Text = "输入错误" End Select End Sub 3.窗体上建立了一个文本框 Text1(“输入口令”)和一个命令按钮 Command1(“检查”)。 Private Sub Command1_Click() '“检查” x = Text1.Text If x = "12345678" Then MsgBox ("欢迎你用机!") Else MsgBox ("对不起,口令错") End If Text1.Text = "" Text1.SetFocus End Sub Private Sub Form_Load() Text1.Text = "" Text1.MaxLength = 8 Text1.PasswordChar = "*" End Sub 4.窗体上建立了两个文本框 Text1(输入字符串)及 Text2(转换结果),一个命令按钮 Command1(“清 除”)。 Private Sub Command1_Click() '“清除” Text1.Text = "" Text2.Text = "" Text1.SetFocus End Sub Private Sub Text1_KeyPress(KeyAscii As Integer) Dim s As String * 1 s = Chr(KeyAscii) Select Case s Case "A" To "Z" s = LCase(s) Case "a" To "z" s = UCase(s) Case Else s = "*" End Select Text2.Text = Text2.Text + s End Sub 5. 分别选择”红”、 ”绿”、 ”蓝”复选框后,单击命令按钮 Command1 时,通过 RGB 函数调配的颜 色作为一个标签的背景色(BackColor)。 Private Sub Command1_Click() r = 0: g = 0: b = 0 If Check1.Value = 1 Then '”红”复选框 r = 255 End If If Check2.Value = 1 Then '”绿”复选框 g = 255 End If
f Check value =I Then ”蓝”复选框 End if Labell BackColor RGB(r, g, b) 6.程序代码如下: Private Sub Form Load o LabClk. Caption =0 LabClk. Alignment =1 LabClk. Fontsize =2 LabClk. FontName="黑体 TimClk. Interval =1000 Private sub timclk LabClk. Caption (LabClk. Caption)+I End sub 7.(1)Chr(KeyAscii) (2)ElseIf Chr(KeyAscii) (3)CheC= CheC-l (4)Chec (5)Is>0或Else 第5章习题 单选题 7.(1)B,(2)C,G3)B B 二、填空题 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)Text2Text 3.(1)t=1(2)n=n+1 (3)t=t*2 5. Text 6.下拉列表框 7. AddItem, Removeltem ux Clear 8.(D)Itema(2)Itemd (3)Item (4)ItemA 9.(1)Mid(x,p+3)(2)p+4(3)nsur(p,x,"123") 编程及上机调试 1.和数为:1.21。程序代码如下 Private Sub Form Load 0 For k =1 To l +1/(1+k*4) Next k Print s End sub 2.程序代码如下 Form Load Dim i As Integer, a As Integer, b As Integer, c As Integer Show For i =100 To 999 t(i/100) b=Int(i-100*a)/10) c=i-100*a-10* If a s a a+ b* bb+ c*c* c=i then
6 If Check3.Value = 1 Then '”蓝”复选框 b = 255 End If Label1.BackColor = RGB(r, g, b) End Sub 6.程序代码如下: Private Sub Form_Load() LabClk.Caption = "0" LabClk.Alignment = 1 LabClk.BorderStyle = 1 LabClk.FontSize = 22 LabClk.FontName = "黑体" TimClk.Interval = 1000 End Sub Private Sub TimClk_Timer() LabClk.Caption = Val(LabClk.Caption) + 1 End Sub 7. (1) Chr(KeyAscii) (2) ElseIf Chr(KeyAscii) (3) CheC = CheC - 1 (4) CheC (5) Is > 0 或 Else 第 5 章习题 一、单选题 1.A 2. B 3.(1)C,(2)B 4.B 5.C 6.A 7.(1)B,(2)C,(3)B 8. B 9. B 10. B 二、填空题 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, "123") 编程及上机调试 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 3.在窗体上建立一个文本框Text1(初始值)、一个列表框List1(显示结果)和一个命令按钮 Comd I(“查找”)。 Private Sub Comd l Click “查找” Dim n As Integer n= Val(TextI Text) ie k= If Not (n Mod 7=0)Then List. Additem n End if End sub 4.程序代码如下: Private Sub Form Load O n=Val( InputBox("正整数n=")) For i= to n +1 To n k =j+ I To n Print"(";i;",";j;",";k:") End sub 5.在窗体上建立一个列表框List和一个“显示表项”命令按钮Comm 程序代码如下 Private Sub Commandl click 显示表项”按钮单击事件 cl For i =0 To list. ListCount 逐项判断 If Listl Selected (i)Then 真时为选中 Print Listl List(i) 6. (1)Textl Text (2)UCase(x) (3)t >="A"And t =0.00001 Print a:"的平方根为";xnl End sub 第6章习题 单选题
7 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 = "A" And t = 0.00001 Print a; "的平方根为"; xn1 End Sub 第 6 章习题 一、单选题
3.(1)B,(2)B 7.(1)C(2)B(3)A(4)B(5)D 二、多选题 填空题 1.二 123 0224 222 l01 4.(1)0 To Index (2)Val(TextI(k). Text) 5.(1)i+1Tok(2)s(i)s(i-1) 6.(1) ReDim a(l To n +1) (2)a(K+1)=a(K)(3)a(p) 编程及上机调试 1.程序代码如下: Private Sub Form Load im a(100) As Single n=Val( InputBox("输入个数n")) Print"处理前数据 For k=1 To n a(k)=Val( InputBox("请输入第”&k&"个数")) Print a(k M=Int(n/2) For k=l to m t =a(h): a(h)= a(k): a(k) Next k Print"处理的结果:" For k =1 te Print a(k) End sub 2.程序代码如下: Private Sub Form Load O Dim a(6, 6)As Integer For i =1 To 6 For j=1 To 6 elect Case i a(i,j)=2 Case Is = j a(i,j)=0 End select Print a(i, j) Print
8 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(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("请输入第" & k & "个数")) 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 "处理的结果 :" 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) = 2 Case Is = j a(i, j) = 0 End Select Print a(i, j); Next j Print Next i
Next i Print: Prin Print a(i, j) Next j Print 3.在窗体上建立两个列表框List(处理前数据)和List2(处理后数据),以及标签 Labell。程序代 码如下 Private Sub Form Load O Dim a(100)As Integer, b(100)As Integer 输入数组a的n个元素 x= Int(20 Rnd) List. AddItem x 删除零元素 If a(i)<>tHen k=k+1: b(k)=a(i): List2 AddItem b(k) Next i Labell. Caption="数组中零元素个数:"+Str(n-k) 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)~ Text(11) Private Sub Form Load O Dim t(12)As String Randomize mpty 初始安排12个位置均为” Empty Next k For h =65 To 74 代表"A"至"J",每次随机安排一个字母 Do While true 随机查找一个空位 p= Int(1+ 12 Rnd) 产生1~12随机数 t(p)= Chr(h) Exit do End if For k=1 to 12 TextI(k -1). Text t(k) 显示座位分配情况 第7章习题 、单选题
9 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 = "数组中零元素个数:" + Str(n - k) 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) = "Empty" '初始安排 12 个位置均为"Empty" Next k For h = 65 To 74 '代表"A"至"J",每次随机安排一个字母 Do While True '随机查找一个空位 p = Int(1 + 12 * Rnd) '产生 1~12 随机数 If t(p) = "Empty" Then 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
二、填空题 5.(1)n>=16(2)n16 Mid(ch, r+l, 1) 编程及上机调试 1.在窗体上建立四个文本框Text1和一个命令按钮 Command(“检验”)。文本框 TextI~Text3用于 输入,Text4用于输出结果 Private Sub Commandl Click Dim a As String, b As String, c As string c= Trim(Text3 Text) f che(a) And che(b) And che(c)Then Text4 Text Val(a)+ Val(b)+ Val(c) Text4.Text="存在非数字字符 Function che(x As String) As Boolean 若存在非数字字符,函数值为假 che true For k= I To Len (x) s= Mid(x, k, 1) If s9 Then Exit For End If End function 2.在窗体上建立七个文本框Text1~Text7和一个命令按钮 Commandl(“比较”)。 Text1~Text6用于 输入,Text7用于输出结果 Private Sub Commandl Click o a= Val(Textl. 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 y, 2, 标准模块文件 If x>y Then m-y If m (2)Mid(s,p+1) 4.程序代码如 Private Sub Form Load O Dim As Single, n As Integer, y As Double x= Input Box(X= X的n次方”) n= InputBox("n=","求X的n次方") y Power(x, n)
10 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 "9" Then 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 Else m = y End If If m "" (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=", "求 X 的 n 次方") n = InputBox("n=", "求 X 的 n 次方") y = Power(x, n) Show