vb实验指导答案
- 格式:doc
- 大小:100.50 KB
- 文档页数:20
第二部分综合练习理论练习一一单选1-5 CDCCB 640ABDCD 11-15 CCBBD 16-20 DBCBA二多选1 ABCE 2CE 3 BCE 4 ADE 5 ABCD6ABCDE 7ACD8ABCDE 9 ABC 10ABCDE三判断1-5 X V X V V6-10 V X V V V四填空1 x=int(Rnd*101)End If avg=s/82 i=l to 10Right(str(i),l)或Right(str(i mod 10))3 m*n/GCD(m,n)GCD(b, a mod b)4 Exit For i & “是素数”Next i五阅读程序1-4 DDCB六程序设计1Option Base 1Private Sub Form_click()Dim a( 10)Ciscreatedata a()sort a()Fori= ITo 10Print a(i);Next iEnd SubSub createdata(a())Fori = ITo 10a(i) = Int(Rnd * 101)Next iEnd SubSub sort(a())For i = 1 To 9Forj = 1 To 10-iIf a(j) > a(j + l)Thent = a(j): a(j) = a(j + 1): a(j + 1) = tEnd IfNext jNext iEnd Sub2Private Type ksno As String * 8Bscj As IntegerSjcj As IntegerEnd TypeDim student As ksPrivate Sub Form_Load()Open "c:\ksxx.dat" For Random As#l Len = Len(student)End SubPrivate Sub cmdadd_Click()student.no = Text 1.Textstudent.Bscj = Val(Text2.Text)student.Sjcj = Vai (Tex t3.Text)lastrecord = LOF( 1) / Len(student) + 1Put # 1, lastrecord, studentTextl.Text =Text2.Text = ””Text3.Text ="End SubPrivate Sub cmdquit_Click()Close #1EndEnd Sub1-5 CABCD理论练习二6-10 ABCCD 11-15 BBBAB1 CD2 AD3CE4BC6BCDE7CDE8ABCDE9 ABD三判断二多选1-5 X X X X V 6-10 V V V X X 16-20 DBAAC5 AD10ACDE1n-l 或者Sqr (n)02X y3 1 to 102*i-14Button=2start=True 五阅读程序1-5DBDAB六程序设计1Private Sub Form_click()四填空japan = 47528china = 22257n = 0 True — (x, y)Do While china <= japanchina = china * 1.098japan = japan * 1.028 n= n + 1LoopPrint n & ”年之后,中国GDP将超过日本”End Sub•VB6中的Split函数,其功能足将一字符巾用分界符分割为一字符串数组。
程序代码Private Sub Command1_Click()End SubPrivate Sub Command2_Click() = TrueEnd SubPrivate Sub Command3_Click() = TrueEnd SubPrivate Sub Command4_Click() = 10 = False = FalseEnd Sub初始窗口:单机放大之后窗口:单机下划线之后窗口:单击加粗之后窗口:自测2单击还原之后窗口:Private Sub Command1_Click()Label1 = "visual basic"Text1 = " 程序设计题"End SubPrivate Sub Command2_Click()Text1 = "visual basic"Label1 = " 程序设计题"End Sub初始窗口:单击显示之后窗口:单击交换之后的窗口:自测题3Private Sub Command1_Click()End SubPrivate Sub Command2_Click() = + 30End Sub= + 20= 1初始窗口:单击缩小两倍之后的窗口:单击向右下角移动之后的窗口:自测题4程序代码Private Sub Command1_Click() = "VB 学习"Print"简单的VB程序设计"End SubPrivate Sub Command2_Click()ClsEnd SubPrivate Sub Command3_Click()EndEnd SubPrivate Sub Command3_Click()EndEnd Sub初始化窗口:单击显示之后的窗口:单击清除之后的窗口:自测题5单击退出之后的窗口:Private Sub Comma nd1_Click()HHEnd SubPrivate Sub Comma nd2_Click() =Val + Val End SubPrivate Sub Comma nd3_Click() End End Sub初始化窗口: 单击运算之后窗口: 单击清除之后的窗口:也 I 绘I lirr-:輕 g砖屮 ZBPL H J ^E 霸赴 BAy 噹晔了 ZILT. 相0 ■tap乜=1 业 '-JS-J Q -•ST F■ I” _l ■■ B 事电r 兴/涉审叭暂背巧応科1I gMd I T B ' A bJ El -; F 」 )-1 a □瓷 a QB aitr 硕八— y -I Su日 r>M| PLi.l CnhwJ x> 蚀-7 -■nJ肝 k4・Jii.— Tr«:h^.L 33 -:呻p Ju IpL*口- i-JN h —vid.]F TM IHFLlMv ■ -UKncnm-'|LUIPI> r■41•成 &.■ B WOQULL,:■—PMd P GPrivate Sub Command1_Click()Dim a$= Left(a, 2)End SubPrivate Sub Command2_Click()= Right(a, 2)End SubPrivate Sub Command3_Click()End Sub初始窗口界面输入字符串截取前两个字符截取后两个字符字符串连接自测练习2 Private Sub Form_Click()Dim a%, b%, c%, d%, e%, f%, g%, h%, i%, j%, k%, l% a = 7349e = a Mod 10 ' 个位d = (a \ 10) Mod 10 ' 十位c = (a \ 100) Mod 10 ' 百位b = a \ 1000 ' 千位i = (e + 7) Mod 10 ' 个位h = (d + 7) Mod 10 ' 十位g = (c + 7) Mod 10 ' 百位f = (b + 7) Mod 10 ' 千位交换后的个位交换后的千位交换后的十位交换后的百位l = f * 1000 + g * 100 + h * 10 + i = FalsePrint " 加密前的4位整数是7439"; (Chr(10)); " 加密后的结果是"; l End Sub初始界面单击窗体运行后的界面自测练习1Private Sub Form_Click()Dim a%, b%, c%, d%, e%, f!a = Val(InputBox(" 输入第一个数", "b = Val(InputBox(" 输入第一个数", "f = Fix(f * 100 + / 100& "x/y=" & f, , " 输出的结果"End Sub自测练习2Private Sub Form_Click()Dim a%, b%, c%, d%, e%, f!Print " 和="; ePrint " 平均值="; f 输入一个数", 8)) 输入一个数", 7))MsgBox"x+y=" & c & Chr(10) & "x-y=" & d & Chr(10) & "x*y=" & e & Chr(10)a = Val(InputBox(" 输入第一个数的值"))b = Val(InputBox(" 输入第二个数的值"))c = Val(InputBox(" 输入第三个数的值"))d = Val(InputBox(" 输入第四个数的值"))End Sub自测练习3Private Sub Form_Click()Dim h%, f%, x%, y%h = Val(InputBox(" 输入总头数"))f = Val(InputBox(" 输入总脚数"))x = (4 * h - f) / 2y = (f - 2 * h) / 2Print " 笼中鸡的头数为"; 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 ThenIf a * a + b * b = c * c Or a * a + c * c = b * b Or b * b = c * c = a * a ThenPrint " 直角"ElseIf a = b And b = c ThenPrint " 等边三角形"ElseIf a = b Or a = c Or b = c ThenPrint " 等腰三角形"ElsePrint " 一般三角形"End IfElsePrint " 不是三角形"End IfEnd 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, bElseEndEnd IfEnd Sub初始化窗口: 输入一个数: 运行结果: 自测练习3Private Sub Comma nd1_Click()Dim a%, b% a = ValSelect Case a > 0Case a < 20MsgBox "行李费为元/kg",," 行李费Case a >= 20 And a < 50MsgBox "行李费为元/kg",," 行李费Case a >= 50 And a < 100MsgBox "行李费为元/kg",," 行李费Case Elseb = * 100 + (a - 100) * : MsgBox " 行李费为"& b & "元",,"行李费End SelectEnd Sub初始窗口: 输入10: 输入25: 输入55: 输入120: 自测练习1Op tio n Base 1Private Sub Form_Click()Dim i%, a(1 To 20) As In teger a(1) = 1: a(2) = 1Print a(1);Print a(2);For i = 3 To 10 a(i) = a(i - 1) + a(i - 2)Print a(i);Next iPrintFori = 11 To 16a(i) = a(i - 1) + a(i - 2)Print a(i);Next iPrintFor i = 17 To 20 a(i) = a(i - 1) + a(i - 2) Print a(i);Next i初始界面:运行结果界面:自测练习2Option Base 1Private Sub Form_Load()= 10000= 5000End SubPrivate Sub Command1_Click()Dim i%, j%, t%, a(1 To 4, 1 To 4) As Integer For i = 1 To 4For j = 1 To 4 a(i, j) = Int(Rnd * 10) + 1a(i, j);Next jNext i " 对角线的元素如下"For i = 1 To 4 a(i, i);Next iFor i = 1 To 4 a(i, 5 - i);Next iFor i = 1 To 4 t = a(1, i) a(1, i) = a(4, i) a(4, i) = t Next iFor i = 1 To 4 t = a(i, 2) a(i, 2) = a(i, 3) a(i, 3) = t Next iFor i = 1 To 4Forj = 1 To 4 a(i, j);Next jNext iEnd Sub运行初始界面:运行结果界面: 自测练习1Sub itostr(a As In teger)Dim b%, c$ a = VaiWhile a >= 1 c = Chr(a Mod 10+ 48) & c0 Fornnl施机;^生的拒畔相应处運输入矩阵茹处理般曲越$a = a \ 10WendEnd SubPrivate Sub Command1_Click()Dim a As Integer a = ValCall itostr(a)End Sub运行初始界面:运行结果界面:验证其他数字:自测练习2:Public Function area(n) As DoubleDim c#, d#, e#, s# n = Val c = (1 - 0) / nWhile e <= 1 d = I * c: e = (I + 1) * c s = s + (Sin(d) + Sin(e)) * c / 2 area = s WendEnd FunctionPrivate Sub Command1_Click()Dim s As DoubleCall area(n) = area(n)End Sub运行初始界面:运行结果:自测练习3Private Sub Form_click() n =Val(InputBox(" 请输入n 的值")) x = Val(InputBox(" 请输入x 的值"))Print "e 的值="; es(n, x)End SubPrivate Function es(n, x)Dim a As Double, b As Double, c As Double, i As Integer a = 1: b = 1: c = 1For i = 1 To n a = x * a: b = b * i: c = c + a / bNext i es = cEnd Function运行初始界面:输入数据:运行结果:自测练习4:For i = 1 To 4For j = i + 1 To 5If a(i) > a(j) Thent = a(i): a(i) = a(j): a(j) = tEnd IfNext jNext iFor i = 1 To 5Print a(i); " ";Next iFor i = 1 To 5If Y < a(i) Thent = a(i): a(i) = Y: Y = tEnd IfNext iFor i = 1 To 6a(6) = tNext iEnd FunctionPrivate Sub Command1_Click()Dim i#, a%(1 To 6), Y%Y = Val(InputBox(" 输入y 的值", " 输入数据"))Insertfun a%(), YPrintFor i = 1 To 6Print a(i); " ";Next iEnd Sub运行初始界面:插入数据:运行结果:自测练习1:Private Sub Command1_Click()If = 1 Then = " 报名参加羽毛球比赛" End IfIf = 1 Then = " 报名参加乒乓球比赛"If = 1 And = 1 ThenEnd If= " 报名参加羽毛球,乒乓球比赛"End IfEnd Sub运行初始界面:运行结果:自测练习4:Private Sub Form_Load()= 24 = " 黑体" = &HFF&End SubPrivate Sub Option1_Click() = " 我是学生"End SubPrivate Sub Option2_Click() = " 我是教师"End SubPrivate Sub Option3_Click() = " 我是工人"Private Sub Option4_Click()End Sub= " 我是农民"End Sub运行初始界面:运行结果:自测练习6:Private Sub Command1_Click()For i = 0 To - 1If (i) = ThenExit ForEnd IfNext iIf i > - 1 ThenEnd IfEnd SubPrivate Sub Command2_Click()If <> -1 ThenFor i = 0 To - 1If (i) = ThenEnd IfExit ForNext iEnd IfEnd SubPrivate Sub Command3_Click()End Sub运行初始界面:自测练习7:Private Sub Command1_Click()= TrueEnd SubPrivate Sub Form_Load()= 20= 20= 20= 20End SubPrivate Sub Timer1_Timer() lbltem = = + 10If VSbwd >= 100 Then lbltishi = " 水开了" = FalseEnd IfEnd Sub运行初始界面:运行结果:自测练习1:Private Sub myhelp_Click()End SubPrivate Sub mymenu1_Click() = " 百货大楼"End SubPrivate Sub mymenu2_Click() = " 利客隆"End SubPrivate Sub mymenu3_Click() = " 稻香村"End Sub运行初始界面:运行结果界面:自测练习2:Private Sub Dis_Click() = " 菜单程序设计" = 20 = " 黑体"End SubPrivate Sub Hid_Click() = FalseEnd Sub运行初始界面:运行结果界面:自测练习3:Private Sub vbhelp_Click() r = MsgBox(" 帮助", , " 程序设计题")End SubPrivate Sub Vbnew_Click() r = MsgBox(" 新建", , " 程序设计题")End SubPrivate Sub vbopen_Click() r = MsgBox(" 打开", , " 程序设计题")End SubPrivate Sub vbsave_Click()自测练习1: r = MsgBox ("存盘”,," 程序设计题")End Sub运行初始界面: 运行结果: 自测练习4:Private Sub Comma nd1_Click()End Sub运行初始界面:打开萱我菊園(1):文件名oa ) ; I立件类型电》:Ir 以只读方式打开區IPrivate Sub Command1_Click()Dim a As String, n%, i%, j%我最近皈由 O ■ \ 27 我的文趋 岡上嘟居^41121(1£S □141130110041145029 口 411旳[)13_辛诒_经济L1D1 亡J jag 己1« iT^ Temp 匚PySoEt 巴第五次实脸要貳文楼 □新建文件夹g2O074£3LS294SS£4 总听ni咫S ! O S6u_p L nyi n J& 1tfySystem已義单SCX倉第五欢实脸要求丈档四寫件基^操作测试內容回数据1国數据1®数据l.dbc0掏门鄱爰甘濒SllfU 实甜直评d Hl 取消Open "E:\" For Input As #1Input #1, a n = Len(a)For i = 1 To nIf Mid(a, i, 1) = "%" Then j = j + 1 Next iClose #1Open "E:\" For Output As #1Print #1, jClose #1End Sub运行初始界面:运行结果:自测练习3:Private Sub Form_Click()Dim x$Open "e:\" For Input As #1Do While Not EOF(1)LoopClose #1Open "e:\" For Append As #1Print #1, x$Close #1Line Input #1, x$运行初始界面:自测练习4Private Sub Form_load()Print " 26 个英文字母"PrintPrint " a b c d e f g h i j k l m n o p q r s t u v w x y z" Print " 字母个数分别为"End SubPrivate Sub Form_Click()Open "E:\" For Output As #1文本$ = InputBox(" 请输入文本") n = UCase( 文本$)Print #1, nOpen "E:\" For Output As #1For i = 1 To Len(n)ReDim Preserve a(1 To 26) j = Asc(Mid(n, i, 1)) - 64 a(j) = a(j) + 1Next iClose #1For j = LBound(a) To UBound(a)Print a(j);Next jClose #1Dim a%()。
计算机VB实验内容实验二1. 《实践指导》P10,实验1,设计一个加法器程序(请参考本次实验中实例2)。
(程序实际运行效果可参考程序“Prg3.exe” )保存要求:(1)在lab02文件夹中新建子文件夹“prg3”,用于保存本题的程序;(2)将本题的工程文件命名为“project3.vbp”,窗体文件命名为“form3.frm”。
注:该题的第5项要求中关于“同时第一个文本框获得焦点”部分不要求实现过程Private Sub Command1_Click()Dim a As Single, b As Single, c As Singlea = Val(Text1.Text)b = Val(Text2.Text)c = a + bLabel2 = cEnd SubPrivate Sub Command2_Click()Text1.Text = ""Text2.Text = ""Label2 = ""End Sub2. 编写一个标签变化程序(请参考本次实验中实例题1来完成,如下图1所示)(程序实际运行效果可参考程序“Prg4.exe” )保存要求:(1)在lab02文件夹中新建子文件夹“prg4”,用于保存本题的程序;(2)将本题的工程文件命名为“project4.vbp”,窗体文件命名为“form4.frm”。
设计要求:(1)单击窗体(Form1),则窗体打印输出文字“你点击了窗体”(如下图2所示)(2)单击按钮Command1,则在Label1中显示“你点击了按钮Command1,请进入”,字体大小15磅,字体为宋体(如下图3所示)(3)单击按钮Command2,Label1显示“你点击了按钮Command2,请离开”,字体大小25磅,字体为黑体(如下图4所示)(图1)(图2)(图3)(图4)过程Private Sub Command1_Click()Label1.FontSize = 15Label1.FontName = "宋体"Label1 = "你点击了按钮Command1,请进入"End SubPrivate Sub Command2_Click()Label1.FontSize = 25Label1.FontName = "黑体"Label1 = "你点击了按钮Command2,请离开"End SubPrivate Sub Form_Click()Form1.Print "你点击了窗体"End Sub实验三二、设计题1.《实践指导》P20,实验3。
第二部分综合练习理论练习一一单选1-5 CDCCB 6-10 ABDCD 11-15 CCBBD 16-20 DBCBA 二多选1 ABCE2 CE3 BCE4 ADE5 ABCD6 ABCDE7 ACD8 ABCDE9 ABC 10 ABCDE三判断1-5×√×√√6-10 √×√√√四填空、1 x=int(Rnd*101) End If avg=s/82 i=1 to 10 Right(str(i),1) 或Right(str(i mod 10))3 m*n/GCD(m,n) GCD(b, a mod b)4 Exit For i & “是素数”Next i五阅读程序1-4 DDCB六程序设计1Option Base 1Private Sub Form_click()Dim a(10)Clscreatedata a()sort a()For i = 1 To 10Print a(i);Next iEnd SubSub createdata(a())For i = 1 To 10a(i) = Int(Rnd * 101)Next iEnd SubSub sort(a())For i = 1 To 9For j = 1 To 10 - iIf a(j) > a(j + 1) Thent = a(j): a(j) = a(j + 1): a(j + 1) = tEnd IfNext jNext iEnd Sub2Private Type ksno As String * 8Bscj As IntegerSjcj As IntegerEnd TypeDim student As ksPrivate Sub Form_Load()Open "c:\ksxx.dat" For Random As #1 Len = Len(student) End SubPrivate Sub cmdadd_Click()student.no = Text1.Textstudent.Bscj = V al(Text2.Text)student.Sjcj = V al(Text3.Text)lastrecord = LOF(1) / Len(student) + 1Put #1, lastrecord, studentText1.Text = ""Text2.Text = ""Text3.Text = ""End SubPrivate Sub cmdquit_Click()Close #1EndEnd Sub理论练习二一单选1-5 CABCD 6-10 ABCCD 11-15 BBBAB 16-20 DBAAC 二多选1 CD2 AD3 CE4 BC5 AD6 BCDE7 CDE8 ABCDE9 ABD 10 ACDE三判断1-5××××√6-10 √√√××四填空1 n-1 或者Sqr(n) 0 True2 x y3 1 to 10 2*i-14 Button=2 start=True -(x,y)五阅读程序1-5 DBDAB六程序设计1Private Sub Form_click()japan = 47528china = 22257n = 0Do While china <= japanchina = china * 1.098japan = japan * 1.028n = n + 1LoopPrint n & "年之后,中国GDP将超过日本"End Sub2' VB6中的Split函数,其功能是将一字符串用分界符分割为一字符串数组。
自测1程序代码Private Sub Command1_Click() Labell .FontSize = Labell .FontSize + 3End SubPrivate Sub Command2_Click() Label1 .FontBold = TrueEnd SubPrivate Sub Command3_Click() Label1 .FontUnderline = TrueEnd SubPrivate Sub Command4_Click() Label1 .FontSize = 10Label1 .FontBold = False Label1 .FontUnderline = FalseEnd Sub初始窗口:单机放大之后窗口: 单机下划线之后窗口:单击加粗之后窗口: 单击还原之后窗口:自测2程序代码Private Sub Command1_Click() Labell = "visual basic"Textl ="程序设计题"End SubPrivate Sub Command2_Click() Text1 = "visual basic"Label1 ="程序设计题"End Sub初始窗口:交换显示 单击显示之后窗口:FormlFormlTestivi SU ^L L basic 程序设计题 显示单击交换之后的窗口:自测题3Private Sub Comma nd1_Click()Labell.Fo ntSize = Labell.Fo ntSize * (0.5)End SubPrivate Sub Comma nd2_Click() Label1.Top = Label1.Top + 30 Label1.Width = Label1.Width + 20Label1.Alig nment = 1 End Sub初始窗口:单击缩小两倍之后的窗口:单击向右下角移动之后的窗口:缩小两倍标签的属性设畳向右下角移动自测题4程序代码Private Sub Command1_Click() Forml.Caption = "VB 学习"Print "简单的VB程序设计"End SubPrivate Sub Command2_Click()乌FormlClsEnd SubPrivate Sub Command3_Click() EndEnd SubPrivate Sub Command3_Click() EndEnd Sub初始化窗口:单击显示之后的窗口:单击清除之后的窗口:单击退出之后的窗口:ih 191 - vHuiJ tMH :Hi*E! M1£| *凹 T»c.i ffisa:1 «2'耳11也 n^Li ftft? Ulil> 井回 ■一阖 耳储凹 £J - U- ' # ■ X ■甩腐 I G c I 卜 II ・对 EF 曲曽 41M41 0 Ifl] - Fermi (fern^ n 2 口Q -0Cl Pciml CI IS :-陶E 4 gdH撑 4 JT.KjS .兰I□ 30 B^1«L QftLj0 F GE L £T H II■It • Form 】«婀田判踽砸1>:■»?:>i*fF^iruch I - ]| 花Unftabav F faSiU F K K-L-T□ 卿值疏瞬 fc<r-Ur3«.ylB t - S LCI I I L H r-H h- pi^Capi.Tii-iTrwC-E^riLIra Ev«4.J. R •皿[T-U1IJI.I EulL.J FilK-L-r 皿口讣“ F L U• ■■FAfruBTr-irvCiLo- Trw 13 -亡■卄 Jui tf -矗Li 4T IM w'-mlrw自测题5 程序代码Private Sub Command1_Click()Textl .Text =""Text2 .Text =""End SubPrivate Sub Command2_Click()Text3 .Text = Val(Text1 .Text) + Val(Text2 .Text) End SubPrivate Sub Command3_Click()EndEnd Sub初始化窗口:单击运算之后窗口:单击清除之后的窗口:单击退出之后的窗口ItfHal -魯工cgn冋咅13MIE-當eH._*w 酉軽-A E Jlq -卑巨m ^BAD区,F «E -iK y >3L ■•■二・®C F 爭味*6£3|1ss-privaCDSubcommancHIC-ick()DimaSa HTexf ︱k.TexfLabe-︱k.capfion HLeft?2)EndSubprivaCDSubCommand2lc-ick()a HTexf ︱k.TexfLabe-2.capfion HRighf?2)EndSubprivaCDSub Command3lc-ick()H a- H a --F s IX-Textl.Text = Labell.Caption & Label2.Caption End Sub初始窗口界面输入字符串截取前两个字符Forml I =回]M7Kr wciainiwo漓鯉两平斗截哑診个付字符串连接截取后两个字符字符串连接Forml I = | 回]WT wornniwo截勢载疇个ps;自测练习2Private Sub Form_Click()Dim a%, b%, c%, d%, e%, f%, g%, h%, i%, j%, k%, l% a = 7349e = a Mod 10 '个位d = (a \ 10) Mod 10 ' 十位c = (a \ 100) Mod 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 = ii = f ' 交换后的个位f = j ' 交换后的千位k = hh = g '交换后的十位g = k '交换后的百位l = f * 1000 + g * 100 + h * 10 + i Text1.Visible = False加密后的结果是Print" 加密前的4位整数是7439"; (Chr(10));" ";lEnd Sub初始界面单击窗体运行后的界面自测练习1Private Sub Form_Click()Dim a%, b%, c%, d%, e%, f!a = Val(lnputBox(" 输入第一个数","输入一个数",8))b = Val(InputBox(" 输入第一个数","输入一个数",7))c = a + bd = a - be = a * bf = a / bf = Fix(f * 100 + 0.5) / 100MsgBox "x+y=" & c & Chr(10) & "x-y=" & d & Chr(10) & "x*y=" & e & Chr(10) & "x/y=" & f,," 输出的结果"End Sub瑾出的结果塔x+y=15x-y=l x*y=56 如"4自测练习2Private Sub Form_Click()Dim a%, b%, c%, d%, e%, f!a = Val(lnputBox(" 输入第一个数的值"))b = Val(InputBox(" 输入第二个数的值"))c = Val(InputBox(" 输入第三个数的值"))d =Val(InputBox(" 输入第四个数的值")) e = a + b + c + dPrin t "和=";e Print" 平均值=";f End Sub0 Forml 口回I—SWT 和二10 平均值二2 5自测练习3Private Sub Form_Click()Dim h%, f%, x%, y%h = Val(lnputBox(" 输入总头数")) f = Val(InputBox(" 输入总脚数")) x = (4 * h - f) / 2y = (f - 2 * h) / 2Print "笼中鸡的头数为";x;" 只" Print"笼中兔的头数为";y;" 只"End Sub自测练习1:Private Sub Form_Click() Dim a%, b%, c%a = Val(lnputBox(" 请输入第一条边","边长"))b = Val(lnputBox(" 请输入第二条边","边长"))c = Val(lnputBox(" 请输入第三条边","边长")) If a + b > c And a + c > b And b + c > a The nIf a * a + b * b = c * c Or a * a + c * c = b * b Or b * b c * c = a * a The n Pri nt " 直角"ElseIf a =b And b = c The nPri nt " 等边三角形"ElseIf a =b Or a = c Or b = c The nPri nt " 等腰三角形"ElsePri nt " 般三角形"End IfElsePri nt " 不是三角形"End IfEnd Sub不是三角形运行结果: 初始窗口:输入三条边:运行结果:直角三角形运行结果:等边三角形运行结果如下: 等腰三角形:般三角形自测练习2:Private Sub Form_Click()Dim a%, b!a = Val(l nputBox(" 请输入"))If a Mod 2 = 0 And a Mod 3 = 0 And a Mod 5 = 0 Then b = Sqr(a) Pri nt a, bElseEndEnd IfEnd Sub初始化窗口:输入一个数:运行结果:自测练习3Private Sub Comma nd1_Click()Dim a%, b%a = Val(Text1.Text)Select Case a > 0Case a < 20MsgBox "行李费为0.2元/kg",," 行李费" Case a >= 20 And a < 50MsgBox "行李费为0.3元/kg",," 行李费" Case a >= 50 And a < 100MsgBox "行李费为0.4元/kg",," 行李费”Case Else元",,"行李费"End SelectEnd Sub 初始窗口:输入10: 输入25: 输入55:输入120:自测练习1Option Base 1Private Sub Form_Click() Dim i%, a(1 To 20) As In tegera(1) = 1: a(2) = 1Pri nt a(1);Pri nt a(2);Fori = 3 To 10a(i) = a(i - 1) + a(i - 2) Pri nt a(i);Next iPri ntFori = 11 To 16a(i) = a(i - 1) + a(i - 2) Pri nt a(i);Next iPri ntFor i = 17 To 20a(i) = a(i - 1) + a(i - 2) Pri nt a(i);Next i初始界面:运行结果界面:上Forml I = | 回IWT1 123 5 8 13 21 34 5539 144 233 377 610 9E7159TT 2504 4101 6765自测练习2Option Base 1Private Sub Form_Load()Forml.Width = 10000Form1.Height = 5000End SubPrivate Sub Comma nd1_Click()Dim i%, j%, t%, a(1 To 4, 1 To 4) As In teger For i = 1 To 4 Forj = 1 To 4a(i, j) = In t(R nd * 10) + 1Picturel.Pri nt a(i, j);Next jPicture1.Pri ntNext iPicture3.Print" 对角线的元素如下”For i = 1 To 4Picture3.Pri nt a(i, i);Next iPicture3.Pri ntFor i = 1 To 4Picture3.Pri nt a(i, 5 - i);Next iFor i = 1 To 4t = a(1, i) a(1, i) = a(4, i)a(4, i) = tNext iFor i = 1 To 4t = a(i, 2)a(i, 2) = a(i, 3)a(i, 3) = tNext iFor i = 1 To 4Forj = 1 To 4 Picture2.Pri nt a(i, j); Next jPicture2.Pri nt Next iEnd Sub运行初始界面:运行结果界面:自测练习1Sub itostr(a As In teger) Dim b%, c$a = Val(Textl.Text)While a >= 1c = Chr(a Mod 10 + 48) & ca = a \ 10WendText2.Text = cEnd SubPrivate Sub Comma nd1_Click() Dim a As In tegera = Val(Text1.Text)Call itostr(a)End Sub运行初始界面:运行结果界面:0 Forml 口虽验证其他数字:自测练习2:Public Fun cti on area( n) As Double Dim c#, d#, e#, s#n 二Val(Text2.Text)c = (1 - 0) / nWhile e <= 1d = I * c:e = (I + 1) * cs = s + (Si n(d) + Si n(e)) * c / 2I = I + 1Wendarea = sEnd Fun cti onPrivate Sub Comma nd1_Click() Dim s As DoubleCall area( n)Text1.Text = area (n)End Sub运行初始界面:运行结果:自测练习3Private Sub Form_click()n 二Val(lnputBox(" 请输入n 的值"))x = Val(lnputBox(" 请输入x 的值"))Pri nt "e 的值二";es( n, x)End SubPrivate Fun cti on es(n, x)Dim a As Double, b As Double, c As Double, i As In teger a = 1: b = 1: c = 1For i = 1 To na = x * a:b = b * i:c = c + a / bNext ies = cEnd Fun cti on运行初始界面:输入数据:。
第一章VB开发环境与VB概述习题答案习题一、选择题第二章常用控件与界面设计习题答案习题一、选择题第三章实验与习题实验实验3_1…算术运算Private Sub Command1_Click()Const a As Single = 3, b As Single = 2, c As Single = -1, d As Single = 6Dim x As Single, y As Single, z As Single, m As Singlex = 2: y = 1: z = 1: m = 1List1.ClearList1.AddItem a / (b + c / b)List1.AddItem (x + Sqr(x ^ 2 + 1)) ^ (1 / 3)List1.AddItem ((2 * y) / (a * x + b * y) * (a * x - b * y))List1.AddItem 1 + 1 / (1 + 1 / m)List1.AddItem 1 / 2 * (d / 3) ^ (2 * x)List1.AddItem Log(y + Cos(x) ^ 2)List1.AddItem Abs((Exp(x) + Sin(x) ^ 3) / (x + y))List1.AddItem Log((Exp(x * y) + Abs(1 / Tan(z) + Cos(x) ^ 3)) / (x + y - z))List1.AddItem Sin(45 * 3.1415 / 180) + (Exp(10) + Log(10)) / Sqr(x + y + 1) List1.AddItem Log(a) / Log(b)End Sub…关系运算Private Sub Command2_Click()List1.ClearList1.AddItem Mid("Visual Basic", 1, 12) = Right("Language Visual Basic", 12) List1.AddItem "ABCRG" >= "abcde"List1.AddItem Int(134.69) >= CInt(134.9)List1.AddItem 78.9 / 32.77 <= 97.5 / 43.87 And -45.4 > -4.98List1.AddItem Str(32.345) = CStr(32.345)End Sub…逻辑运算Private Sub Command3_Click()Dim x As Integer, y As IntegerDim C1 As Integer, C2 As Integer, C3 As IntegerC1 = 70: C2 = 80: C3 = 90x = 9: y = -2List1.ClearList1.AddItem x + y < 10 And x - y > 0List1.AddItem (x% >= 0 And y% >= 0) Or (x% < 0 And y% < 0)List1.AddItem x = 0 Xor y = 0List1.AddItem C1 + C2 + C3 >= 255 Or C1 > 90 And C2 > 90 And C3 > 80End Sub实验3_2略实验3_3略实验3_4…零售结算Private Sub Command1_Click()Dim dj As Single, sl As Single, je As Single, n As IntegerLabel1.Caption = "金额:"dj = InputBox("请输入商品的单价:", "单价框")sl = InputBox("请输入商品的数量:", "数量框", 1)je = dj * sln = MsgBox("共计金额=" & je, vbOKCancel + vbInformation, "结果") If n = vbOK Then Label1.Caption = "金额:" & Str(je) & "元"End Sub…产生随机数Private Sub Command2_Click()Dim m As Integer, n As IntegerDim x1 As Integer, x2 As Integer, x3 As Integerm = V al(Text1.Text): n = Text2.TextRandomizex1 = Int(Rnd * (n - m + 1) + m)x2 = Int(Rnd * (n - m + 1) + m)x3 = Int(Rnd * (n - m + 1) + m)Label4.Caption = "结果为:" & Str(x1) & Str(x2) & Str(x3)End Sub…求逆序数Private Sub Command3_Click()Dim a As Integer, h As Integer, t As Integer, n As IntegerRandomizea = Int(Rnd * (999 - 100 + 1) + 100)h = Mid(CStr(a), 1, 1)t = Mid(CStr(a), 2, 1)n = Right(CStr(a), 1)Label5.Caption = a & "-->" & Format(n * 100 + t * 10 + h, "000")End Sub实验3_5略习题选择题填空题1、2 -32768~327672、整型长整型单精度双精度3、0 False “”4、Chr(Int(Rnd*(Asc(“L”)-Asc(“C”))+Asc(“C”)))x>0 And y>0 Or x<0 And y<0c>=”a” And c<=”z” Or c>=”A” And c<=”Z”x>=10 And x<20x<z Xor y<z5、False2TrueFalseTrueTrueTrueTrue6、18820010068.568765547、a=1 b=1a=2 b=1a=3 b=1a=4 b=18、Y Mod 4=0 And Y Mod 100<>0 Or Y Mod 400 =09、He Said, “Good morning”.10、EDEF11、(A>0 And A<>Int(A)) And (B<0 And B<>Int(B))12、a+b+c+d(a+b+c+d)/4sumaver13、(f-2*h)/2(4*h-f)/2简答题1、略2、Private Sub Form_Click()Const g = 9.8Dim V0 As Single, t As SingleDim S As SingleV0 = InputBox("请输入V0的值:")t = InputBox("请输入时间t的值:")S = (1 / 2) * g * t ^ 2 + V0 * tMsgBox ("位移量为:" & S)End Sub3、Private Sub Command1_Click()Dim l As Single, w As Single, h As SingleDim s As Singlel = Text1.Textw = Text2.Texth = Text3.Texts = (l * w + l * h + w * h) * 2Label1.Caption = sEnd Sub第四章选择分支与循环实验答案实验4-1方法一:x<=5 ; y方法二:Is<=2 ;Case Else实验4-2Shape1.BackColor=vbRed;Inter=15;Inter=Inter-1;Inter;实验4-3b<cb=aa=k实验4-4方法二:s*n ; t/s<10^-5实验4-5方法一:m>=10^-4 ; (-1)^(n+1)*m实验4-6x2=x3 ; <10^-6实验4-7实验4-8i+2*j+5*k=10 ; n实验4-9题目一:a) 5b)i=16 p=12 n=5c)i=9 p=8 n=1题目二:120 10实验4-10N=1 ;S=N& "*3 " & "+1 "实验4-11Len(st); Ch=Lcase(ch) ; Case Else ; Mid(Char,I,1)&St实验4-12i\100 ; (i Mod 100)\10习题一、选择题二、填空题1.Is=0 ; 1 To 10 ; Is >102. 93. 3 ; 4 154. this is a book ;This Is A Book5. 3 ; 3 ; 3 56. 32 07. 48. 15 19. 1 ; 401 ;10410. 1 2 3 ;1 3; 111. (3)12. 2 0 2413. 10 1414. BAABC CBAABC15. X Mod P=0 ; X=X+1 ;Find=False16. abs(t)<10^(-7) ; s+t17. Mid(n,1,1)=Mid(n,2,1) And Mid(n,3,1)=Mid(n,4,1)S=S+118. Mid(n,i,1)>Mid(n,i+1,1)19. "输入n";N/I=0 ;Print I第五章数组实验5_1Int(90 * Rnd) + 10a(i) = a(21 - i)a(21 - i) = t5_2k = x Mod 10i = i + 15_3s5_4max < a(i, j)row = Icol = j5_51ReDim Preserve prime(m)prime(j)5_6d Mod 25_7Exit Fora(j + 1) = a(j)5_8N – IA(j) = A(j + 1)5_9A(i, 1)JMin = MaxNot Flag5_10ch >= "0" And ch <= "9"P = P & chReDim Preserve C(k)5_11Private Sub Form_Click()Dim x As Integer, i As Integer, k As Integer, j As Integer Dim a() As Integerx = InputBox("输入正整数x=")i = 2Print x; "的质因子为:";Do While x >= iIf x Mod i = 0 Thenk = k + 1ReDim Preserve a(k)a(k) = ix = x \ iElsei = i + 1End IfLoopFor j = 1 To UBound(a)Print a(j);Next jEnd Sub习题一选择题二填空题1.V ariant2.ReDim A(N)A(1)If M < A(I) Then M = A(I)3.Int(26 * Rnd) + 65Chr(t)i + 1 To 10A(i) > A(j)4.InStr(s, ",")Right(s, Len(s) - n)s5. 4 5 66 5 43 2 16.T – 1I + 17.k = 6 - i – jmax = m8.j = aj = j - 39.i + 1i = i + 110. 237三编程题1.Option ExplicitOption Base 1Private Sub Command1_Click()Dim a(10) As IntegerDim i As Integer, max As IntegerFor i = 1 To 10a(i) = Int(90 * Rnd) + 10Print a(i);Next iPrinti = 1max = 0Do While i <= 10If a(i) Mod 3 = 0 ThenIf a(i) > max Thenmax = a(i)End IfEnd Ifi = i + 1LoopIf max = 0 ThenPrint "无要找的数"ElsePrint max & "是最大的能被3整除的数"End IfEnd Sub2.Option ExplicitOption Base 1Private Sub Command1_Click()Dim A() As IntegerDim I As Integer, m As IntegerDim K As IntegerReDim A(10)For I = 1 To 10A(I) = IPrint A(I);Next IPrintm = InputBox("ÊäÈëm")K = 9 + mReDim Preserve A(K)For I = 11 To KA(I) = A(I - 10)Next IFor I = 1 To 10A(I) = A(I + m - 1)Next IFor I = 1 To 10Print A(I);Next IPrintEnd Sub3.Option ExplicitPrivate Sub Command1_Click()Dim I As Integer, J As Integer, K As IntegerDim a() As Integer, n As Integer, p As IntegerDim s As String, Flag As Booleanp = 1For K = 10 To 100I = 1Do While I <= 10 And Not FlagJ = 1Do While J <= 10 And Not Flagn = I ^ 2 + J ^ 2If n = K ThenFlag = TrueReDim Preserve a(p)a(p) = Kp = p + 1s = I & Str(J) & Str(K)List1.AddItem sEnd IfJ = J + 1LoopI = I + 1LoopFlag = FalseNext KEnd Sub4.Option ExplicitPrivate Sub Command1_Click()Dim A(10) As IntegerDim B(10) As Integer, S As StringDim I As Integer, J As Integer, X As IntegerA(1) = Int(90 * Rnd) + 10S = A(1)For I = 2 To 10DoX = Int(90 * Rnd) + 10For J = 1 To I - 1If X = A(J) Then Exit ForNext JIf J = I ThenA(I) = XS = S & " " & A(I)Exit DoEnd IfLoopNext IText1.Text = SB(1) = Int(90 * Rnd) + 10S = B(1)For I = 2 To 10DoX = Int(90 * Rnd) + 10For J = 1 To I - 1If X = B(J) Then Exit ForNext JIf J = I ThenB(I) = XS = S & " " & B(I)Exit DoEnd IfLoopNext IText2.Text = SS = ""For I = 1 To 10For J = 1 To 10If A(I) = B(J) ThenS = S & " " & A(I)End IfNext JNext IText3.Text = SEnd SubPrivate Sub Command2_Click()Text1.Text = ""Text2.Text = ""Text3.Text = ""Text1.SetFocusEnd Sub5.Option ExplicitPrivate Sub Command1_Click()Dim I As Integer, J As IntegerDim a() As Integer, K As Integer, Sum As Integer K = V al(Text1.Text)I = 1DoJ = K Mod 10ReDim Preserve a(I)a(I) = JSum = Sum + JK = K \ 10I = I + 1Loop Until K = 0Text2.Text = SumEnd Sub6.Option ExplicitPrivate Sub Command1_Click()Dim a(100, 2) As Integer, K As IntegerDim I As Integer, J As IntegerDim M As Integer, N As IntegerK = 1For I = 1 To 99For J = 1 To 99If I > J ThenM = I - JN = I + JIf Sqr(M) = Int(Sqr(M)) And Sqr(N) = Int(Sqr(N)) ThenList1.AddItem I & " " & Ja(K, 1) = Ia(K, 2) = JK = K + 1End IfEnd IfNext JNext IEnd Sub第六章参考答案实验实验6-11、Exit Do2、Y(X)3、X >= -1实验6-2【题目二】42 、26、8实验6-31、s1, key2、s As String3、ch >= "a" And ch <= "z"4、Mid(s, i, 1) = Chr(Asc(ch) + k - 26)思考:解密函数Private Sub dec(s As String, k As Integer) '解密过程Dim i As Integer, ch As String * 1For i = 1 To Len(s)ch = Mid(s, i, 1)If "A" <= ch And ch <= "Z" ThenIf Asc(ch) - k < Asc("A") ThenMid(s, i, 1) = Chr(Asc(ch) - k + 26) '小于A的ASCII值则加上26 ElseMid(s, i, 1) = Chr(Asc(ch) - k)End IfElseIf ch >= "a" And ch <= "z" Then '多分支格式,ch介于小写a与z之间If Asc(ch) - k < Asc("a") ThenMid(s, i, 1) = Chr(Asc(ch) - k + 26) '小于a的ASCII值则加上26ElseMid(s, i, 1) = Chr(Asc(ch) - k)End IfEnd IfNext iEnd Sub实验6-41、b() As Integer, st As String2、L <= R3、ReDim Preserve b(R)4、L = L + 1辗转相除法求最大公约数函数Private Function Gcd(ByV al p As Integer, ByV al q As Integer) As IntegerDim r As Integerr = p Mod qDo While r <> 0p = qq = rr = p Mod qLoopGcd = qEnd Function实验6-5【题目一】age = age(n - 1) - 3【题目二】1、(Left + Right) / 22、Left = Mid + 1实验6-61、3 -12、7 43、3 -14、7 0实验6-7【题目一】1、Sqr(2 + t)2、Abs(a - 1) < eps【题目二】1、Dim X As Integer2、"S(" & I & ")=" & S(I)3、(j * i + 1)习题参考答案一选择题二、填空1(1)形式、(2)实在2(1)按地址传递、(2)ByV al3(1)窗体模块、(2)标准模块、(3)类模块4(1) 65(1)4 20 1016(1) 6 26 、(2)-2 987(1)10 6 、(2) 5 -58(1) 6 5 、(2)8 79(1)11 、(2)710(1)Fun(i) 、(2)Fun=p11(1) 4 、(2)20.712(1)29 、(2)28.713(1)k = j 、(2)b() As Integer14(1)gec 、(2)ge 、(3) 315(1)p1 = True And p2 = True 或p1 And p2 、(2)p1 = p2 – 2 、(3)Isp = True 、(4)m Mod i = 016(1)Convert(st) 、(2)Len(s) 、(3)"A" To "F" 、(4)k = k + p * h17(1)isualVi 、(2)sualV isu18(1)s + a 、(2)n + 1 、(3)x As Single, n As Integer 、(4)p * (x + i) / ((2 * i - 1) * i * x) 三、改错题1、Option Base 1Private Sub Command1_Click()Dim A() As Integer, I As Integer, J As Integer, Logic As BooleanDim K As IntegerReDim A(1)A(1) = 50————————'K=1For I = 51 To 149K = 1 '位置错Logic = FalseCall Sub1(A, I, Logic)If Logic ThenK = K + 1ReDim A(K) 'ReDim Preserve A(K)A(K) = IEnd IfNext IFor I = 1 To UBound(A)Text1 = Text1 & Str$(A(I))If I Mod 5 = 0 Then Text1 = Text1 & vbCrLfNext IEnd SubPrivate Sub Sub1(A() As Integer, N As Integer, F As Boolean)Dim I As Integer, J As Integer, Ub As IntegerUb = UBound(A)For I = 1 To UbFor J = 2 To A(I)If A(I) Mod J = 0 And N Mod J = 0 ThenExit For 'Exit SubEnd IfNext JF = TrueNext IEnd Sub2、Option ExplicitOption Base 1Private Sub Command1_Click()Dim I As Integer, Flg As Boolean, S1 As Integer, S2 As IntegerDim J As Integer, K As Integer, P() As IntegerReDim P(1)P(1) = 2For I = 3 To 150 Step 2For J = 2 To Sqr(I)If I Mod J = 0 Then Exit ForNext JIf J > Sqr(I) ThenReDim Preserve P(UBound(P) + 1)P(UBound(P) + 1) = I 'P(UBound(P)) = IEnd IfNext IFor I = 80 To 125If fun(I, P, S1, S2) Then 'If fun(I, P, S1, S2)Text1 = Text1 & Str$(I) & "=" & Str(S1) & "*" & Str$(S2) & vbCrLf End IfNext IEnd SubPrivate Function fun(N As Integer, P() As Integer, S1 As Integer, S2 As Integer) As Boolean Dim I As Integer, J As IntegerFor I = 1 To UBound(P)For J = 1 To UBound(P) - 1If N = P(I) * P(J) ThenS1 = P(I)S2 = P(J)'fun = TrueExit Functionfun = True '位置错End IfNext JNext IEnd Function3、Option ExplicitPrivate Sub Get_Chess(Chess() As Integer, idx As Integer, Over As Integer) 'ByV al idx As IntegerDim Ub As Integer, Counter As Integer, K As IntegerUb = UBound(Chess)Chess(idx) = 0Counter = 1K = 0 '位置错Do Until Counter = Ub - 1Do Until K = 2idx = idx + 1If idx > Ub Then idx = 1K = K + Chess(idx)LoopChess(idx) = 0Counter = Counter + 1LoopFor Over = 1 To UbIf Chess(Over) <> 0 Then Exit ForNext OverEnd SubPrivate Sub Command1_Click()Dim Chess(32) As Integer, I As Integer, J As IntegerDim K As Integer, idx As IntegerFor I = 1 To 32For J = 1 To 32Chess(J) = 1Next JCall Get_Chess(Chess, I, K)If K = 23 ThenText1 = "从第" & Str$(I) & "号棋子开始取"Exit ForEnd IfNext IEnd Sub5、Option ExplicitPrivate Sub Form_Click()Dim S As String, Flg As BooleanDoS = InputBox("输入一个自然数")If S = "" Or Not IsNumeric(S) ThenMsgBox "请重新输入", 48 + vbOKOnlyElseExit DoEnd IfLoopjudge(S, Flg) ' Call judge(S, Flg) 或judge S, Flg If Flg ThenPrint S; "是回文数"ElsePrint S; "不是回文数"End IfEnd SubPrivate Sub judge(Ch As String, F As Boolean)Dim L As Integer, I As IntegerL = Len(Ch)F = True ' F = FalseFor I = 1 To LIf Mid$(Ch, I, 1) <> Mid$(Ch, L + 1 - I, 1) Then Exit Sub Next IF = False ' F = TrueEnd Sub四、编程题1、编程验证任一大于2的偶数可以表示成两个素数之和。
实验一2.Private Sub Command1_Click() Label1.ForeColor = vbRedEnd SubPrivate Sub Command2_Click() Label1.BackColor = vbBlueEnd SubPrivate Sub Command3_Click() Label1.ForeColor = Form1.ForeColor Label1.BackColor = Form1.BackColor End SubPrivate Sub Command4_Click()EndEnd Sub3.Private Sub Command1_Click()Text1.FontSize = 30Command1.Enabled = False Command2.Enabled = True Command3.Enabled = TrueEnd SubPrivate Sub Command2_Click()Text1.FontSize = 6Command2.Enabled = False Command1.Enabled = True Command3.Enabled = TrueEnd SubPrivate Sub Command3_Click()Text1.FontSize = 9Command3.Enabled = False Command1.Enabled = True Command2.Enabled = TrueEnd Sub4.Private Sub Command1_Click()a = 3.14r = Val(Text1.Text)Text2.Text = 2 * a * rText3.Text = a * r * rEnd SubPrivate Sub Command2_Click()Text1.Text = ""Text3.Text = ""End SubPrivate Sub Command3_Click()EndEnd Sub5.Private Sub Command1_Click()Label1.BorderStyle = 1End SubPrivate Sub Command2_Click()Label1.Left = Label1.Left + 200Label1.Top = Label1.Top - 150End SubPrivate Sub Command3_Click()Label1.Visible = FalseEnd SubPrivate Sub Command4_Click()Label1.Visible = TrueEnd Sub6.Private Sub Command1_Click()Text2.Text = Text1.SelTextText3.Text = Text1.SelLengthText1.Locked = TrueEnd SubPrivate Sub Command2_Click()Text1.Text = ""Text2.Text = ""Text3.Text = ""Text1.SetFocusEnd Sub7.Private Sub Command1_Click()Dim r, q, vq = Val(Text2.Text)r = Val(Text1.Text)v = Val(Text3.Text)Label5.Caption = r * 60 * 60 + q * 60 + v End SubPrivate Sub Command2_Click()Text1.Text = ""Text2.Text = ""Text3.Text = ""Text2.SetFocusText3.SetFocusEnd SubPrivate Sub Command3_Click()EndEnd SubPrivate Sub Text1_keypress(keyascii As Integer) If keyascii = 13 Then Text2.SetFocusEnd SubPrivate Sub Text2_keypress(keyascii As Integer) If keyascii = 13 Then Text3.SetFocusEnd Sub8.(1)Dim a, v, s, cPrivate Sub Text1_KeyPress(KeyAscii As Integer) a = Val(Text1.Text)If KeyAscii = 13 Thenv = a * a * as = 6 * a * ac = 4 * aLabel5.Caption = vLabel6.Caption = sText2.Text = cEnd IfEnd Sub(2)Dim a, s, v, cPrivate Sub Text1_LostFocus()a = Val(Text1.Text)c = 12 * av = a * a * as = 6 * a * ac = Val(Text2.Text)Label5.Caption = vLabel6.Caption = sEnd Sub(3)Dim a, v, s, cPrivate Sub Text1_Change()a = Val(Text1.Text)v = a * a * as = 6 * a * ac = 12 * aLabel5.Caption = vLabel6.Caption = sText2.Text = cEnd Sub实验二2.Private Sub Picture1_Click()a = Int(Val(Text1.Text) / 100)b = Int((Val(Text1.Text) Mod 100) / 10)c = Int((Val(Text1.Text) Mod 100) Mod 10)d = a * a + b * b + c * cPicture1.Print a; b; c; dEnd Sub3.Private Sub Command1_Click()a = Val(Text1.Text)b = Val(Text2.Text)s = a / bText3.Text = Format(s, "###.##")Text4.Text = a \ bText5.Text = a Mod bEnd SubPrivate Sub Command2_Click()Text1.Text = ""Text2.Text = ""Text3.Text = ""Text4.Text = ""Text5.Text = ""Text1.SetFocusEnd SubPrivate Sub Command3_Click()EndEnd Sub4.Private Sub Command1_Click()a = Val(Text1.Text)b = Val(Text2.Text)Picture1.Print Int(Rnd * (b - a + 1) + a); Picture1.Print Int(Rnd * (b - a + 1) + a); Picture1.Print Int(Rnd * (b - a + 1) + a)t1 = Int(Rnd * (b - a + 1) + a)t2 = Int(Rnd * (b - a + 1) + a)t3 = Int(Rnd * (b - a + 1) + a)s = Sqr(t1 + t2 + t3)f = Format(s, "##.####")Picture1.Print "三个数和的平方根" & "=" & f End SubPrivate Sub Command2_Click()Text1.Text = ""Text2.Text = ""Text1.SetFocusEnd SubPrivate Sub Command3_Click()EndEnd Sub5.Private Sub Form_Load()Text1.Text = ""Text2.Text = ""End SubPrivate Sub Text2_KeyPress(KeyAscii As Integer) Dim i, xIf KeyAscii = 13 ThenIf Len(Text1) > 25 Theni = InStr(Text1, Text2)x = Left(Text1, i - 1) + Mid(Text1, i + Len(Text2)) End IfEnd IfPicture1.Print xEnd Sub6.Private Sub Command1_Click()RandomizeText1.FontSize = Text1.FontSize * Int(Rnd * 3 + 2) Command1.Enabled = FalseCommand2.Enabled = TrueCommand3.Enabled = TrueEnd SubPrivate Sub Command2_Click()RandomizeText1.FontSize = Text1.FontSize / Int(Rnd * 3 + 2) Command1.Enabled = TrueCommand2.Enabled = FalseCommand3.Enabled = TrueEnd SubPrivate Sub Command3_Click()Text1.FontSize = 9Command1.Enabled = TrueCommand2.Enabled = TrueCommand3.Enabled = FalseEnd Sub实验三2.Private Sub Form_Click()FontItalic = TruePrint "斜体→程序设计语言"FontName = "黑体"Print "黑体→程序设计语言"FontName = "幼圆"Print "幼圆→程序设计语言"FontName = "楷体_gb2312"Print "楷体→程序设计语言"FontName = "隶书"Print "隶书→程序设计语言"FontName = "@宋体"Print "设置宋体字体旋转"End Sub3.Private Sub Command1_Click()Dim a&, day&, hour&, minute&, second&a = Val(Text1.Text)day = Int(a \ 86400)hour = Int((a Mod 86400) \ 3600)minute = Int((a Mod 3600) \ 60)second = Int(a Mod 60)Picture1.Print a&; "秒" & "=" & day&; "天" & hour&; "小时" & minute&; "分" & second; "秒" End Sub4.Private Sub Command1_Click()r = InputBox("输入圆半径")Text1.Text = rLabel5.Caption = 3.14 * r * rLabel6.Caption = 4 * 3.14 * r * rLabel7.Caption = 4 / 3 * 3.14 * r * r * rEnd SubPrivate Sub Command2_Click()Label5.Caption = ""Label6.Caption = ""Label7.Caption = ""Text1.SetFocusText1.Text = ""End Sub6.Private Sub Command1_Click()Dim H%, F%, X%, Y%H = Val(Text1.Text)F = Val(Text2.Text)X = (4 * H - F) / 2Y = (F - 2 * H) / 2Picture1.Print "鸡的数量"; XPicture1.Print "兔子的数量"; YEnd SubPrivate Sub Command2_Click()Label3.Caption = ""Text1.Text = ""Text2.Text = ""Text1.SetFocusEnd Sub7.Private Sub Form_Load()Text1.Text = ""Text2.Text = ""Label4.Caption = ""End SubPrivate Sub Text2_KeyPress(KeyAscii As Integer) Dim p, dIf KeyAscii = 13 Thenp = Val(Text1.Text)d = Val(Text2.Text)s = p * dc = s - (s * 0.005 + s * 0.015 + s * 0.035 + 27.83) Label4.Caption = Format(c, "####.##")End IfEnd Sub实验四2.Private Sub Command1_Click()a = Val(Text1.Text)b = Val(Text2.Text)c = Val(Text3.Text)If a + b > c Or a + c > b Or b + c > a Thenp = (a + b + c) / 2s = Sqr(p * (p - a) * (p - b) * (p - c))Label5.Caption = Format(s, "#00.000")ElseMsgBox "不能构成三角形"End IfEnd SubPrivate Sub Command2_Click()Text1.Text = ""Text2.Text = ""Text3.Text = ""Label5.Caption = ""Text1.SetFocusEnd SubPrivate Sub Command3_Click()EndEnd SubPrivate Sub Text1_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then Text2.SetFocusEnd SubPrivate Sub Text1_LostFocus()If Not IsNumeric(Text1.Text) ThenMsgBox "输入错误!重新输入"Text1.Text = ""Text1.SetFocusEnd IfEnd SubPrivate Sub Text2_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then Text3.SetFocusEnd SubPrivate Sub Text2_LostFocus()If Not IsNumeric(Text2.Text) ThenMsgBox "输入错误!重新输入"Text2.Text = ""Text2.SetFocusEnd IfEnd SubPrivate Sub Text3_LostFocus()If Not IsNumeric(Text1.Text) ThenMsgBox "输入错误!重新输入"Text3.Text = ""Text3.SetFocusEnd IfEnd Sub3.Private Sub Command1_Click()a = Val(Text1.Text)b = Val(Text2.Text)Select Case Text3.TextCase "+"Text4.Text = a + bCase "-"Text4.Text = a - bCase "*"Text4.Text = a * bCase "/"If b = 0 ThenMsgBox "除数为零"Text2.Text = ""ElseText4.Text = a / bEnd IfCase "\"If b = 0 ThenMsgBox "除数为零"Text2.Text = ""ElseText4.Text = a \ bEnd IfCase "mod"Text4.Text = a Mod bCase "^"Text4.Text = a ^ bEnd SelectEnd SubPrivate Sub Command2_Click() Text1.Text = ""Text2.Text = ""Text3.Text = ""Text4.Text = ""Text1.SetFocusEnd SubPrivate Sub Command3_Click() EndEnd SubPrivate Sub Form_Load()Text1.Text = ""Text2.Text = ""Text3.Text = ""Text4.Text = ""End SubPrivate Sub Text1_LostFocus()If Not IsNumeric(Text1.Text) ThenMsgBox "输入出错!重新输入"Text1.Text = ""Text1.SetFocusEnd IfEnd SubPrivate Sub Text2_LostFocus()If Not IsNumeric(Text2.Text) ThenMsgBox "输入错误!重新输入"Text2.Text = ""Text2.SetFocusEnd IfEnd Sub6.Private Sub Text1_LostFocus()If Not IsNumeric(Text1.Text) ThenMsgBox "不是数字,重新输入!"Text1.Text = ""Text1.SetFocusEnd IfEnd SubPrivate Sub Text2_LostFocus()If Not IsNumeric(Text2.Text) ThenMsgBox "不是数字,重新输入!"Text2.Text = ""Text2.SetFocusEnd IfEnd SubPrivate Sub Text3_LostFocus()If Not IsNumeric(Text3.Text) ThenMsgBox "不是数字,重新输入!"Text3.Text = ""Text3.SetFocusEnd IfEnd SubPrivate Sub Form_Load()Text1.Text = ""Text2.Text = ""Text3.Text = ""End SubPrivate Sub Text3_KeyPress(KeyAscii As Integer) If KeyAscii = 13 ThenDim a(0 To 2) As Integera(0) = InputBox("输入第一个数字", 输入, 0)a(1) = InputBox("输入第二个数字", 输入, 0)a(2) = InputBox("输入第三个数字", 输入, 0)For j = 1 To 2For i = 0 To 2 - jIf a(i) < a(i + 1) Then t = a(i): a(i) = a(i + 1): a(i + 1) = t Next iNext jPicture1.Print a(0); ">"; a(1); ">"; a(2)End IfEnd Sub7.Private Sub Command1_Click()Dim a As Integera = Val(Text1.Text)If (a Mod 400) = 0 ThenLabel3.Caption = "是闰年"ElseLabel3.Caption = "不是闰年"End IfSelect Case Text2.TextCase 1, 3, 5, 7, 8, 10, 12Label5.Caption = 31Case 2If (a Mod 400) = 0 ThenLabel5.Caption = 28ElseLabel5.Caption = 29End IfCase 4, 6, 9, 11Label5.Caption = 30End SelectSelect Case Text2.TextCase 12, 1, 2Label4.Caption = "冬季"Case 3, 4, 5Label4.Caption = "春季"Case 6, 7, 8Label4.Caption = "夏季"Case 9, 10, 11Label4.Caption = "秋季"End SelectEnd SubPrivate Sub Command2_Click()Text1.Text = ""Text2.Text = ""Picture1.ClsPicture2.ClsPicture3.ClsText1.SetFocusEnd Sub8.Private Sub Form_Click()a = Val(InputBox("M1"))b = Val(InputBox("M2"))c = Val(InputBox("M3"))d = (a + b + c) / 3If d > 95 ThenPrint "一等奖"End IfIf a = 100 And b = 100 And c >= 80 Or a = 100 And c = 100 And b >= 80 Or c = 100 And b = 100 And a >= 80 ThenPrint "一等奖"End IfIf d > 90 ThenPrint "二等奖"End IfIf a = 100 And b >= 75 And c >= 75 Or b = 100 And c >= 75 And b >= 75 Or c = 100 And b >= 75 And a >= 75 ThenPrint "二等奖"End IfIf a >= 70 And b >= 70 And c >= 70 ThenPrint "三等奖"End IfEnd Sub实验五2.Private Sub Picture1_Click()For n = 2 To 1000If n = n ^ 2 Mod 10 Then Picture1.Print nIf n = n ^ 2 Mod 100 Then Picture1.Print nIf n = n ^ 2 Mod 1000 Then Picture1.Print nNext nEnd Sub3.Private Sub Command1_Click()Dim n%, s$, t As Strings = 0n = 0For x = 10 To 10000If x Mod 3 = 2 Or x Mod 5 = 3 Or x Mod 7 = 2 Then t = t & x & vbCrLfn = n + 1s = s + xEnd IfNext xText1.Text = tPicture1.Print "数的和" & sPicture1.Print "数的个数" & nEnd SubPrivate Sub Command2_Click()Dim n%, s$, t As Strings = 0n = 0x = 10Do While x < 10000If x Mod 3 = 2 Or x Mod 5 = 3 Or x Mod 7 = 2 Then t = t & x & vbCrLfn = n + 1s = s + xEnd Ifx = x + 1LoopText1.Text = tPicture1.Print "数的和" & sPicture1.Print "数的个数" & nEnd Sub5.Private Sub Picture1_Click()Dim n%, s%n = Val(InputBox("n值"))s = 0For i = 1 To ns = s + i ^ 2NextPicture1.Print sEnd SubPrivate Sub Picture2_Click()Dim n As Integern = V al(InputBox("输入n值"))sum = 0Dim a1 As DoubleDim a2 As DoubleDim a As DoubleDim sum As Doublea1 = 1a2 = 1For i = 1 To nt = a1 + a2a1 = a2a2 = ta = a2 / a1sum = sum + aNext iPicture2.Print sumEnd SubPrivate Sub Picture3_Click() Dim n%, s%n = Val(InputBox("n值"))s = 0a1 = 1a2 = 1For i = 1 To nt = a1 * a2Next iPicture3.Print sEnd SubPrivate Sub Picture4_Click() Dim i, n As Integer, s As Double n = Val(InputBox("n值"))If n >= 1 ThenFor i = 1 To nt = 5 * 10 ^ na = t + 5 * 10 ^ ns = s + tNext iPicture4.Print sEnd IfEnd SubPrivate Sub Picture5_Click() Dim i, n As IntegerDim s As Singlen = Val(InputBox("n值"))For i = 1 To ns = s + (-1) ^ (i + 1) * (1 / i) Next it = Format(s, "##0.#######") Picture5.Print tEnd Sub8.Private Sub Command2_Click() Picture1.ClsEnd SubPrivate Sub Command1_Click() For n = 6 To 1000k = 0For x = 1 To n / 2If n Mod x = 0 Thenk = k + xEnd IfNext xIf k = n ThenPicture1.Print kEnd IfNext nEnd Sub10.Private Sub Form_Click()For i = 1 To 9For a = 1 To iPrint Tab(20 - i);NextFor n = 1 To iPrint Trim(n);NextFor s = n - 2 To 1 Step -1Print Trim(s);NextPrintNextEnd Sub实验六2.Private Sub Form_Click()Dim a(100)RandomizeMax = 20Min = 100s = 0n = 0For i = 1 To 100a(i) = Int(Rnd * 81 + 20)Picture1.Print a(i);If i / 10 = i \ 10 Then Picture1.PrintIf a(i) > Max Then Max = a(i)If a(i) < Min Then Min = a(i)s = s + a(i)Next iv = Format(s / 100, "##0.###")For i = 1 To 100If a(i) > (s / 100) Then n = n + 1NextLabel1.Caption = "max=" & Max & vbCrLf & "min=" & Min & vbCrLf & "平均值为" & v & vbCrLf & "大于平均值的元素个数为" & nEnd Sub3.Private Sub Command1_Click()Dim a(), b() As Variant, c() As Singlea = Array(2, 8, 7, 6, 4, 28, 70, 25)b = Array(79, 27, 32, 41, 57, 66, 78, 80)Print "第一个数组为:" & vbCrLfFor i = LBound(a) To UBound(a)Print a(i);Next iPrintPrint "第二个数组为:" & vbCrLfFor i = LBound(a) To UBound(a)Print b(i);Next iReDim c(UBound(a))PrintPrint "两个数组相对元素相加的结果为:" & vbCrLfFor i = LBound(a) To UBound(a)c(i) = a(i) + b(i)Print c(i);Next iPrintFor i = LBound(a) To UBound(a) - 1For j = LBound(a) To UBound(a) - 1 - iIf c(j) < c(j + 1) Thent = c(j)c(j) = c(j + 1)c(j + 1) = tEnd IfNextNextPrintPrint "相加的结果的降序为:" & vbCrLfFor i = LBound(a) To UBound(a)Print c(i);NextEnd Sub4.Private Sub Form_Click()Dim a(20)RandomizePrint " 对换前" & crlfFor i = 1 To 20a(i) = Int(Rnd * 89 + 11)Print a(i);If i / 10 = i \ 10 Then PrintNext iPrintPrint " 对换后" & crlfFor i = 1 To 10t = a(i): a(i) = a(i + 10): a(i + 10) = tNext iFor i = 1 To 20Print a(i);If i / 10 = i \ 10 Then PrintNext iEnd Sub6.Private Sub Picture1_Click()n = V al(Text1.Text)ReDim a(n + 1, n + 1), b(n + 1, n + 1)Clsk = 8For i = 1 To nPicture1.Print String((n - i) * k / 2 + 1, " ");For j = 1 To ia(i, 1) = 1a(i, i) = 1a(i + 1, j + 1) = a(i, j) + a(i, j + 1)b(i, j) = Trim(Str(a(i, j)))Picture1.Print b(i, j); String(k - Len(b(i, j)), " ");Next jPicture1.PrintNext iEnd Sub9.'Option Base 1Dim s() As String, n%Private Sub Command1_Click()For i = 1 To UBound(s) - iFor j = 1 To UBound(s) - iIf s(j) < s(j + 1) Then t = s(j): s(j) = s(j + 1): s(j + 1) = t Next jNext iFor i = LBound(s) To UBound(s)Picture2.Print s(i)Next iEnd SubPrivate Sub Text1_KeyPress(KeyAscii As Integer)If KeyAscii = 13 Thenn = n + 1ReDim Preserve s(1 To n)s(n) = Text1.TextPicture1.Print s(n)Text1.Text = ""Text1.SetFocusEnd IfEnd Sub实验七5.Private Sub tt(x, r)Dim s As StringDom = x Mod rx = x \ rIf m = 10 Then m = "A"If m = 11 Then m = "B"If m = 12 Then m = "C"If m = 13 Then m = "D"If m = 14 Then m = "E"If m = 15 Then m = "F"s = m & sLoop Until x = 0tt(x, r) = sEnd SubPrivate Sub Command1_Click() x = Val(Text1.Text)r = Val(Text2.Text)Call tt(x, r)End SubPrivate Sub Command2_Click() x = Val(Text1.Text)r = Val(Text2.Text)Text3.Text = zh(x, r)End SubPrivate Sub Command3_Click() Text1.Text = ""Text2.Text = ""Text3.Text = ""Text1.SetFocusEnd SubFunction zh(x, r)Dim s As StringDom = x Mod rx = x \ rIf m = 10 Then m = "A"If m = 11 Then m = "B"If m = 12 Then m = "C"If m = 13 Then m = "D"If m = 14 Then m = "E"If m = 15 Then m = "F"s = m & sLoop Until x = 0zh = sEnd Function。