VB书本实验5答案
【参考文档】vb实验指导书答案-范文word版 (10页)

第6章 过程
一、单选题
二、填空题 2.5 5. 工具 7. &,Click 8. Enabled 9. 窗体
10. 模式,无模式
11. Action
12. CommonDialog1.FileName 13. cdlCCRGBInit 14. Unload,Show 15. 所在窗体的名称 16. 打开 17. Visible 18. 当前 19. 255 20. Show
(6)强制显式声明变量 (7)类 P35 第三章
1. CBAAABCDAD ABBBC ADDBD 2.(1)integer (2)???? (3)text (4)a=0 or b=0 (5)(x+y)*sin(30*3.14/180) (6)int(rnd*100+1)(7)# (8)0
1
C
(9)int(rnd*30+70)(10) CDEF P53 第四章
本文部分内容来自网络整理,本司不为其真实性负责,如有异议或侵权请及时联系,本司将立即删除!
== 本文为word格式,下载后可方便编辑和修改! ==
vb实验指导书答案
篇一:VB程序设计学习与实验指导书答案(包含实验答案)
VB学习与实验指导测试题
参考答案
第一章
第二章
第三章
第四章
第五章
第六章
第七章
第八章
篇二:VB实验指导书答案
VB实验指导书_理论综合练习题_答案(完结版).doc

第二部分综合练习理论练习一一单选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函数,其功能足将一字符巾用分界符分割为一字符串数组。
大学计算机VB实验答案

计算机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。
VB实验报告参考答案本部

实验报告参考答案(本部)实验一VB集成开发环境实验内容(3):四、设计流程①界面设计:在窗体上画一个标签。
②属性设置:标签的width设为2000,height设为300。
有边框是BordStyle设为1,背景透明是BackStyle设为0。
显示“等级考试”是将caption设为“等级考试”,居中是将Alignment设为2。
③代码设计:无五、关键代码(注意:解题方法有多种,其它方法只要能完成实验任务也是正确的)无六、调试和测试结果至少要写测试结果正确,如果写了调试中出现的典型问题及解决方法,分数给高些实验二简单的VB程序设计实验内容(3):四、设计流程①界面设计:在窗体上画一个标签、一个命令按钮。
②属性设置:固定边框是BordStyle设为1,背景透明是BackStyle设为0。
③代码设计:分别在3个事件过程form_load(),form_click(),Cmd1_click()中编程。
其中图片从网上下载,与工程文件、窗体文件保存在同一目录,代码中使用相对路径app.path。
五、关键代码(注意:解题方法有多种,其它方法只要能完成实验任务也是正确的)Private Sub Form_Load()Form1.Picture = LoadPicture(App.Path + "\tu.jpg")Form1.Caption = "我的变化"End SubPrivate Sub Form_Click()LBL1.Top = 0LBL1.Left = 0End SubPrivate Sub Cmd1_Click()Cmd1.Height = 1500Cmd1.Width = 2000End Sub六、调试和测试结果至少要写测试结果正确,如果写了调试中出现的典型问题及解决方法,分数给高些实验三数据类型及其运算四、设计流程①界面设计:在窗体上画1个文本框、1个标签、6个命令按钮。
VB教材课后习题答案

<大学程序设计基础-Visual Basic>教材课后习题答案第1章一、选择题1 2 3 4 5 6 7B D BC B B D第2章一、选择题1 2 3 4 5 6 7 8 9 10B C B C B C A A A A11 12 13 14A B A A二、填空题1.rem或’ _ :2.“” # #3.5x2-3x-2sinA/34.3214565.300三、操作题1、程序段:Private Sub Command1_Click()Dim x As Integer, y As IntegerDim s As Long, c As Longx = Text1.Texty = Text2.Texts = x * yc = (x + y) * 2Label3.Caption = "长方形的面积为" + Str(s)Label4.Caption = "长方形的周长为" + Str(c)End Sub3、程序段:Private Sub Command1_Click()Text1.Text = "第一"End SubPrivate Sub Command2_Click()Text1.Text = "第二"End Sub4、程序代码:Private Sub Text1_Change()Text1.MaxLength = 10End Sub5、程序代码:Private Sub Text1_Click()Text1.SelStart = 0Text1.SelLength = Len(Text1.Text)End Sub第3章一、选择题1 2 3 4 5 6 7D A D B A D B二、填空题1. False2.B^2-4*a*c else三、操作题1.从键盘输入三个值,判断它们能否构成三角形的三个边。
如果能构成一个三角形,则计算三角形的面积。
VB实验五答案

沈阳师范大学面向对象程序设计实验报告实验题目实验五数组和自定义类型学号姓名刘丽年级10级指导教师王飞提交时间10.24一、实验目的(1)掌握数组的声明、数组元素的引用。
(2)掌握固定长度数组和动态数组的使用差别。
(3)掌握数组常用的操作和常用算法。
(4)掌握列表框和组合框的使用。
(5)掌握自定义类型及数组的使用。
二、实验内容及要求(1)完成课堂讲授的两个示例例5.1和例5.4。
(2)完成实验E第1实验内容(教材p272)。
(3)完成课堂讲授的实例5.10和5.13(教材p113和教材p118)。
(4)完成实验E第7实验内容(教材p273)。
三、实验分析与设计例5.1 计算一个班100个学生的平均成绩,然后统计高于平均分的人数。
步骤1 启动VisualBasic6.0,创建一个“标准EXE”类型的应用程序,步骤2 设计界面:不需添加控件如图所示:步骤3 设置控件属性。
步骤4 事件及编程,如下所示:窗体事件Private Sub Form_Click()Dim mark(1 To 100) As IntegerDim aver!, n%, i%aver = 0For i = 1 To 100mark(i) = InputBox("输入第" & i & "位学生的成绩")aver = aver + mark(i)Next iaver = aver / 100n = 0For i = 1 To 100If mark(i) > aver Then n = n + 1Next iPrint "平均分:", aver, "高于平均分的人数:", nEnd Sub步骤5 单击“运行”按钮运行程序,若程序运行有错,则进入代码窗口中调试。
步骤6 保存文件,生成可执行文件。
例5.4 求一维数组中各元素之和、最小数组元素,并将最小数组元素与数组中第一个元素交换。
VB实验教材的实验、习题答案

第一章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的偶数可以表示成两个素数之和。
VB实验报告答案-推荐下载

- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验5 常用控件
一、实验目的和要求
了解常用控件数组的编程方法
二、实验内容(题目来自教材第五章 第六大题 7).
程序7.(p150)
提示:
1) 号码按钮用命令按钮数组(0-9);
2) 拨号、取消等按钮因为功能相差较大就不需要用数组控件;
3) 定义一个窗体级变量存放用户拨的号码,以便在定时器中使用。
过程设计:
Dim nums As String '存放用户拨的号码
Private Sub Form_Load()
Dim i As Integer
For i = 0 To 9
Command1(i).Caption = i
Command1(i).Enabled = False
Next i
Command2.Caption = "删除"
Command3.Caption = "拨号"
Command4.Caption = "取消"
Command5.Caption = "重拨"
Command6.Caption = "退出"
Label1.Caption = ""
Form1.Caption = "拨号程序"
Timer1.Interval = 1000
Timer1.Enabled = False
End Sub
Private Sub Command1_Click(Index As Integer) '拨号码
Label1.Caption = Label1.Caption & Command1(Index).Caption
End Sub
Private Sub Command2_Click() '删除(号码中最右边的一位)
If Label1.Caption <> "" Then
Label1.Caption = Left(Label1.Caption, Len(Label1.Caption) - 1)
End If
End Sub
Private Sub Command3_Click() '拨号
For i = 0 To 9
Command1(i).Enabled = True
Next i
End Sub
Private Sub Command4_Click() '取消
Label1.Caption = ""
End Sub
Private Sub Command5_Click() '重拨
nums = Label1.Caption '保存号码
Label1.Caption = "" '清除原号码
Timer1.Enabled = True
End Sub
Private Sub Timer1_Timer() '重拨定时器
Static i As Integer
If Label1.Caption = nums Then
Timer1.Enabled = False
i = 0
Else
Label1.Caption = Label1.Caption & Mid(nums, i + 1, 1)
i = i + 1
End If
End Sub
Private Sub Command6_Click() '退出
End
End Sub
补充题
请参考考Design05.exe文件的运行结果,新建一个Design05.Vbp工程,完成“调色板”程序的设计(其中窗体文件请命名为Design05.frm)。
1)在窗体上放置一个“三原色配比与预览”的框架,框架内有三个水平滚动条构成的控件数组,滚动条的取值范围为0--255;还有一个长方形形状控件。
2)拖动滚动条的滚动框来选择红、绿、兰三原色的配色取值,配色通过形状控件的填充效果动态显示。
3)单击“应用”按钮,将调配好的颜色作为标签文字“坚持就是胜利!”的文字颜色。
4)标签文字“坚持就是胜利!”字体为“楷体_GB2312”,大小“二号”,设置相关属性使得标签在窗体中水平居中并且标签的大小随显示内容自动调整。
提示:建立HScroll1数组控件。
Private Sub Command1_Click()
Label4.ForeColor = Shape1.FillColor
End Sub
Private Sub Form_Load()
Label4.Left = (Form1.ScaleWidth - Label4.Width) \ 2
End Sub
Private Sub HScroll1_Change(Index As Integer)
Shape1.FillColor = RGB(HScroll1(0).Value, HScroll1(1).Value, HScroll1(2).Value)
End Sub
Private Sub HScroll1_Scroll(Index As Integer)
Shape1.FillColor = RGB(HScroll1(0).Value, HScroll1(1).Value, HScroll1(2).Value)
End Sub
实验提交说明:
1)在D)盘建立个人文件夹,名称为学号后三位与姓名,如001张三;
2)在个人文件夹中按实验题建子文件夹,如1;
3)建立的VB工程保存在各题的子文件夹中;
4)对个人文件夹压缩为rar或zip格式;
5)发邮件到xxl@主题:VB 001张三实验5。