1、郑州大学VB实验报告书 参考 答案。以下内容均来自百度文库,所以仅供参考。不过经亲自测试 习题及实验(一)的答案基本正确,除了实验题的3,4小题没有改字形字体颜色什么的。实验一一、选择题DDBAB,C(CD)DDC,ADDCA二、填空题Windows中断工具箱代码分类form2.show有语法错误错误事件结构化文件名和结构工程编写代码双击任意控件或右健快捷菜单选“代码窗口”vb的安装文件夹属性方法fontload对象三、编程1-1Private Sub Command1_Click()Print Sqr(8), 8 (1 / 3)End Sub1-2Private Sub Command2_C
2、lick()For i = 100 To 110 Print Sqr(i)Next iEnd Sub1-3(基本设置在属性窗口完成!)Private Sub Command3_Click()Print 郑州大学在前进!End Sub1-4(基本设置在属性窗口完成!)Private Sub Command4_Click()Label1 = 蓝天、白云、绿水、青山End Sub实验二一BCBCC,CBBDA,CCCBA,CBDCC二form_click()interval,5000vbp,frmtop,left,height,width,像素pictureloadlockedfont,alignm
3、entgotfocus,lostfocus属性窗口,代码三2-1Private Sub Command1_Click()Label3 = Text1 * Text2End SubPrivate Sub Command2_Click()Label3 = Text1 / Text2End Sub2-2Private Sub Command1_Click()Picture1.Visible = TruePicture1 = LoadPicture(C:Documentsand SettingsAll UsersDocumentsMy Pictures示例图片Water lilies.jpg)End
4、SubPrivate Sub Command2_Click()Picture1.Visible = TruePicture1 = LoadPicture(C:Documentsand SettingsAll UsersDocumentsMy Pictures示例图片Winter.jpg)End SubPrivate Sub Command3_Click()Picture1.Visible = FalseEnd Sub2-3Private Sub Command1_Click()Label3 = Text1 * Text2End Sub2-4Private Sub Command1_Click(
5、)Text2 = Text1End SubPrivate Sub Command2_Click()Text1 = Text2 = End SubPrivate Sub Text1_Change()Command1.Visible = TrueCommand2.Visible = TrueEnd Sub2-5Private Sub Command1_Click()Timer1.Interval = 500End SubPrivate Sub Command2_Click()Timer1.Interval = 0End SubPrivate Sub Timer1_Timer()Image1.Lef
6、t = Int(Rnd * (Form1.ScaleWidth -Image1.Width)Image1.Top = Int(Rnd * (Form1.ScaleHeight -Image1.Height)End Sub实验三一A(BC)(BC)AA,A(BCD)DBB,B二3,4,5,6,8,10,11,12,14,15,16三abs(x+y)(3+x*y)2(-b+sqr(b2-4*a*c)/(2*a)sin(30*3.14/180)+exp(2)四int(rnd*71+20)x*y=10 and x=A and x=Zleft(s,3)或者,mid(s,1,3)五3-2Private S
7、ub Command1_Click()Dim x As Singlex = Val(Text1)Print Format(x 2, #.000),Format(Sqr(x), #.000), Format(x 3, #.000), Format(x (1 / 3), #.000)End Sub3-3Private Sub Command1_Click()Dim x As Integerx = Int(Rnd * 900 + 100)Text1 = Trim(Str(x)Text2 = Right(Text1, 1) + Mid(Text1, 2, 1)+ Left(Text1, 1)End S
8、ub3-4Private Sub Command1_Click()Dim max, min As Integermin = Val(Text1)max = Val(Text2)RandomizePrint Int(Rnd * (max - min + 1) + min),Int(Rnd * (max - min + 1) + min), Int(Rnd * (max - min + 1) + min)End Sub3-5Private Sub Command1_Click()Text1 = DateText2 = TimeText3 = WeekdayName(Weekday(Date)End
9、 Sub实验四一CDCDA,DBBAC二(1) 48.71E-01,-4.8712(2)关系,逻辑,数值(3) 900,100,mid(a,2,1),c(4)m1,2,3print m & 月是第二季度end select三(1) x=4 y=13(2) 10四4-1Private Sub Command1_Click()Dim num, a1, a2, a3 As Singlenum = Val(Text1) * 180 / 3.14a1 = Int(num)num = num - a1a2 = Int(num * 60)num = num * 60 - a2a3 = Format(num
10、 60, #.000)Print a1, a2, a3End Sub4-2Private Sub Command1_Click()Dim y As Integery = Val(Text1)If (y Mod 400 = 0 Or y Mod 4 = 0 And y Mod100 0) Then MsgBox y & 是闰年Else MsgBox y & 不是闰年End IfEnd Sub4-3Private Sub Command1_Click()Dim x, y, z, t As Integerx = Val(InputBox(input x:)y = Val(InputBox(inpu
11、t y:)z = Val(InputBox(input z:)If x y Then t = x: x = y: y = tIf y z Thent= y: y = z: z = t If x y Then t = x: x = y: y = tEnd IfPrint x, y, zEnd Sub4-4Private Sub Command1_Click()Dim nettime As Integer, money As Singlenettime = Val(InputBox(每月上网时数:, 上网费用)If nettime = -1 Then money = 0ElseIf nettime
12、 10 Then money = 25ElseIf nettime 50 Then money = nettime * 2ElseIf nettime 100 Then money = nettime * 1.5ElseIf nettime 200 Then money = nettimeElse money = 200End IfIf money 0 Then MsgBox 该月上网费用为 & money &元实验五一BCBAC二(1)for x=1 to 10s*(1-1/x)(2)0t1E-6(3)jt(4)511 5三5-1Private Sub Command1_Click()Dim
13、 i, sum As Integersum = 0For i = 1 To 100sum = sum + iNext iPrint 1+2+.+100=; sumEnd Sub5-2Private Sub Command1_Click()Dim x, y As IntegerFor x = 0 To 20 For y = 0 To 33 If 5 * x + 3 * y + (100 - x - y) / 3 = 100 Then Print x, y, 100 - x - y End If Next yNext xEnd Sub5-3Private Sub Command1_Click()D
14、im i As Integeri = 7DoIf i Mod 2 = 1 And i Mod 3 = 2 And i Mod 5= 4 And i Mod 6 = 5 And i Mod 7 = 0 Then Print i Exit DoElsei= i + 7End IfLoopEnd Sub5-4Private Sub Command1_Click()Dim x, y, z As IntegerFor x = 1 To 9 For y = 1 To 9 For z = 0 To 9 If 100 * x + 10 * x + z + 100 * y + 10 * z + z = 532
15、ThenPrint x, y, z End If Next z Next yNext xEnd Sub5-5Private Sub Command1_Click()Dim sum As Single, n As Integersum = 1Do While sum = 0.0001 ti = (-1) (i + 1) / (2 * i - 1) pi = pi + tii= i + 1LoopEnd Sub5-9Private Sub Command1_Click()Dim i, j, k As IntegerPrint 水仙花数有:For i = 1 To 9 For j = 0 To 9
16、For k = 0 To 9If i * 100 + j * 10 + k = i 3 + j 3+ k 3 ThenPrint i, j, k End If Next k Next jNext iEnd Sub5-10Private Sub Command1_Click()Dim i, j, k As Integerk = 0For i = 999 To 100 Step -1 For j = 2 To Int(Sqr(i) If i Mod j = 0 Then Exit For Next j If j = Int(Sqr(i) + 1 Then k = k + 1: Print i If
17、 k = 3 Then Exit ForNext iEnd Sub5-11Private Sub Command1_Click()Dim i, n, min, max As IntegerDim aver As Singlemin = 100max = 50For i = 1 To 20n= Int(Rnd * (99 - 51) + 51) Print n; If i Mod 5 = 0 Then Print If n max Then max = n If n Max Then Max = ia(i): iMax = iIf ia(i) min Then min = ia(i): imin
18、 = iNext iPrint max=; Max,imax=; iMaxPrint min=; min,imin=; iminPrint aver=; aver / 10End Sub6-2Private Sub Command1_Click()Dim ia(20), num(5) As IntegerDim Max, min, aver As Integer, iMax, iminAs IntegerFor i = 1 To 20 ia(i) = Int(Rnd * 101) Print ia(i); Select Case ia(i) Case Is 60 num(1) = num(1)
19、 + 1Case60 To 69 num(2) = num(2) + 1 Case 70 To 79 num(3) = num(3) + 1 Case 80 To 89 num(4) = num(4) + 1 Case 90 To 100 num(5) = num(5) + 1 End SelectNext iPrintPrint 各分数段的人数分别是(059,6069,7079,8089,90100):For i = 1 To 5 Print num(i);Next iEnd Sub6-3Private Sub Command1_Click()Dim a(10) As Integer, t%
20、For i = 1 To 10a(i) = Int(Rnd * 51)Print a(i);Next iPrintFor i = 1 To 9For j = i + 1 To 10 Ifa(i) Max Then Max = ia(i, j): iMax = i: jmax = j Next j PrintNext iPrint max=; Max,imax=; iMax, jmax=; jmaxEnd Sub实验七一CCDAB DDAAA二(1)n!(2)1到n累加和(3)n是否是素数(4)冒泡排序(5)递归调用实现斐波那契数列(6)求最大公约数和最小公倍数三7-1Private Sub C
21、ommand1_Click()Dim n, sum As Integern = Val(InputBox(n=?)sum = jsh(n)Print 1!+2!+.+; n;!=; sumEnd SubPublic Function jsh(n) As IntegerDim i, s, t As Integers = 0t = 1For i = 1 To nt= t * is= s + tNext ijsh = sEnd Function7-2Private Sub Command1_Click()Dim n, flag As Integern = Val(InputBox(n=?)flag
22、 1sushu n, flagPrint n=; flagEnd SubPublic Sub sushu(n, flag)Dim i As IntegerFor i = 2 To n - 1 If n Mod i = 0 Then flag = 0: Exit ForNext iEnd Sub7-3Private Sub Command1_Click()Dim flag As Integer, str As Stringstr = InputBox(n=?)flag = huiwen(str)If flag = 1 Then Print str; 是回文数 Else Print str; 不
23、是回文数End SubPublic Function huiwen(str) As IntegerDim lens, m, i As Integerlens = Len(str)For i = 1 To Int(lens / 2) If Mid(str, i, 1) Mid(str, lens - i + 1, 1) Then Exit ForNext iIf i = Int(lens / 2) + 1 Then huiwen = 1Else huiwen = 0End Function7-4Private Sub Command1_Click()Dim n, m, c1, c21, c22,
24、 c23 As Integern = Val(InputBox(n=?)m = Val(InputBox(m=?)c1 = jc1(n) / (jc1(m) * jc1(n - m)Print 函数计算c1=; c1jc2 n, c21jc2 m,c22jc2 n - m, c23Print 子过程计算c2=; c21 / (c22 * c23)End SubPublic Sub jc2(n, c)Dim i As Integerc = 1For i = 1 To nc= c * iNext iEnd SubPublic Function jc1(n)Dim i As Integers = 1
25、For i = 1 To ns= s * iNext ijc1 = sEnd Function7-5Private Sub Command1_Click()Dim str1 As Stringstr1 = InputBox(请输入一个实数:)MsgBox sum(str1)End SubPublic Function sum(str As String)Dim lens, i, n As IntegerDim c As String * 1lens = Len(str)n = 0For i = 1 To lensc= Mid(str, i, 1) If c = 0 Then n = n + V
26、al(c) End IfNext isum = nEnd Function7-6Private Sub Command1_Click()Dim str1 As Stringstr1 = InputBox(请输入一个字符串:)Print str1; 中有数字字符; num(str1); 个。End SubPublic Function num(str As String)Dim lens, i, n As IntegerDim c As String * 1lens = Len(str)n = 0For i = 1 To lensc= Mid(str, i, 1) If c = 0 Then n
27、 = n + 1 End IfNext inum = nEnd Function7-7Private Sub Command1_Click()可参考本实验填空第六题或采用本方法,注意两法的形参是传地址还是传值的区别Dim m, n, y, b As Integerm = Val(InputBox(please input ainteger(m):)n = Val(InputBox(please input ainteger(n):)Print m; 和; n;gysgbs m, n, pPrint 的最大公约数为; nPrint 最小公倍数为; pEnd SubPublic Sub gysgb
28、s(a, b, c)Dim r As Integerc = a * br = a Mod bDo While r 0a= bb= rr= a Mod bLoopc = c / bEnd SubVisual Basic程序设计课程考试大纲(本学期19周,1-16周上课,周4学时,课程总学时64,其中:理论32+上机32)【基本要求】熟悉Visual Basic集成开发环境;了解Visual Basic中对象的概念和事件驱动程序的基本特性;掌握Visual Basic的基本语句;了解简单的数据结构和算法;掌握Visual Basic常用控件及其控件的三个要素;掌握模块化程序设计的过程设计(包括函数
29、过程、子过程)方法;能针对简单的实际问题构造算法,并能正确地实现算法与程序之间的转换,具有使用Visual Basic编制和上机调试简单程序的能力;培养利用计算机解决问题的意识、思路和能力,为今后进行计算机应用奠定基础。【考试范围】1.Visual Basic程序设计概述Q发展、特点、版本、安装、启动、退出QVisual Basic 6.0集成开发环境(7个主要窗口)2.Visual Basic程序设计的相关概念Q对象和类的概念Q对象的建立和编辑Q对象的属性、事件和方法Q事件驱动的实质Q窗体和控件的基本属性Q窗体、标签、文本框、命令按钮、时钟(主要属性、事件、方法)Q常用方法(Print和Cl
30、s)Q工程的管理Q环境的设置(利用“工具”菜单下的“选项”命令提供的选项卡完成)Q帮助系统的使用Q程序调试3.Visual Basic语言基础Q基本数据类型(Integer、Single、String、Date、Variant等)Q常量和变量Q局部变量和全局变量Q缺省声明Q编码规则Q运算符算术运算符字符串运算符关系运算符(=、=、=、)逻辑运算符(Not、And、Or)Q表达式Q常用内部函数数学函数转换函数(Str、Val、Int、Round、Ucase、Lcase等)字符串函数(Len、Mid、Trim、String、Space等)日期函数(DateAdd、DateDiff、Date、Tim
31、e、Now、Month、MonthName、WeekDay、WeekDayName等)4.基本控制结构Q赋值语句QInputbox函数QMsgbox过程QIf语句QSelect Case语句QFor-NextQDo-LoopQ结构嵌套(循环、选择)Q辅助控制语句(Exit for、Exit do、End if、End Sub、End Function)5.数组Q数组的基本概念Q静态数组及其声明Q动态数组及其声明Q一维数组基本操作给数组元素赋初值、数组元素的输入、数组元素的赋值、数组元素的输出、求数组中最大(小)元素及其下标、求元素之和、交换数组元素、数组中元素的插入和删除等Q二维数组基本操作给
32、数组元素赋初值、数组元素的输入、数组元素的赋值、数组元素的输出、求数组中最大(小)元素及其下标、求元素之和(积)等6.过程Q函数过程的定义和调用Q子过程的建立和调用Q参数传递Q作用域7.文件Q文件的基本概念文件的定义及其分类8.常用算法Q累加、连乘、穷举、递推、最大公约数、最大值、最小值、平均值、排序(选择、冒泡)、顺序查找、分类统计、简单的字符处理应用等。【考试方式】上机考试(网上考试系统),考试时间100分钟,满分100分。【考试题型】一、单项选择题(40道小题,每小题1分,共40分)二、填空题(5道小题,每小题2个空,1个空2分,共20分)三、综合应用题(3道小题,共40分)郑州大学信息工程学院2008-05-6