VB程序设计实验报告.doc_第1页
VB程序设计实验报告.doc_第2页
VB程序设计实验报告.doc_第3页
VB程序设计实验报告.doc_第4页
VB程序设计实验报告.doc_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

湖北文理学院VB程序设计课程实验报告学 院 物电学院 专 业 自动化 班 级 1211 学 号 2012118064 姓 名 王亮 任课教师 王福林 实验一、VB控制结构一、实验目的 1. 掌握选择语句的使用2. 掌握循环语句的使用二、实验内容 1、选择语句程序1:创建应用程序。要求:单击窗体可弹出输入框,任意输入三个数,然后按从小到大的顺序输出到窗体上。程序2:创建应用程序。要求:单击窗体可弹出一输入框,任意输入一个正整数,在窗体上显示该整数是否为素数的字样。2、循环语句程序3:创建应用程序。要求:单击窗体可显示一个由“*”组成的平行四边形图案。 程序4:创建应用程序,其功能是显示所有的水仙花数。三、实验记录程序1如下:Private Sub Command1_Click()Dim a As Integer, b As Integer, c As Integer, t As Integer 定义a,b,c,t为整形变量Cls 清屏a = Val(InputBox(请输入第1个数:) 给a赋值b = Val(InputBox(请输入第2个数:) 给b赋值c = Val(InputBox(请输入第3个数:) 给c赋值If a b Then t = a: a = b: b = t 如果ab,把a的值赋给t,b的值赋给a,t的值赋给bIf b c Then 嵌套,如果bct = b: b = c: c = t 把b的值赋给t,b的值赋给c,t的值赋给cIf a b Then 再次嵌套,如果abt = a 把a的值赋给ta = b b的值赋给ab = t t的值赋给bEnd IfEnd IfPrint a; 、; b; 、; c 输出 a 、b;、; cEnd SubPrivate Sub Command2_Click()End 退出程序End Sub程序2如下:Private Sub Command1_Click()Dim i As Integer, k As Integer, n As Integer 定义整形变量i,k,nn = Val(InputBox(任意输入一个整数:) 给n输入值i = 2 i初始值为2k = Int(n / 2) 为整形的二分之一n的值赋给kDo While i k Then Print n; 是素数 Else Print n; 不是素数 如果i大于k,输出n的值是素数,否则输出n的值不是素数End SubPrivate Sub Command2_Click()End 退出程序End Sub程序3如下:Private Sub Form_Click() Dim m As Integer, n As Integer 定义整形变量m,n Cls 清屏 Print For m = 1 To 6 m赋初始值为1,当m大于6停止 Print Tab(15 - m); 第15 - m列开始输出 For n = 1 To 8 n赋初始值为1,当n大于6停止 Print *; 输出* Next n Print 输出空格 Next mEnd Sub程序4如下:Private Sub Command1_Click() Dim i As Integer, m As Integer, n As Integer, k As Integer, sxh As Intege 定义整形变量i,m,n,k,sxk For i = 100 To 999 i赋初始值为100,当i大于999,停止循环 m = i 100 i除以100,结果赋给m n = (i Mod 100) 10 i模除100后的值再除以10,最后结果赋给n k = i Mod 10 i模除10后的值赋给k sxh = m 3 + n 3 + k 3 sxh作算术运算 If sxh = i Then 如果sxh等于i Print i, 输出i的值 End If Next iEnd SubPrivate Sub Command2_Click() End 程序结束End Sub4、 实验总结实验二、窗体和标准控件一、实验目的 1.掌握命令按钮、标签及文本框控件的使用方法2.掌握复选框、单选按钮及框架控件的使用方法3.掌握列表框和组合框控件的使用方法4.掌握滚动条和定时器控件的使用方法二、实验内容 1、命令按钮、标签及文本框控件的使用方法程序1:在窗体上建立两个标签、两个文本框和两个命令按钮,运行界面如左图所示。要求在运行时,两个文本框中的内容均不允许用户编辑;如果用户在“原文”的文本框中选定所需的内容,单击“复制”命令按钮,则在“输出”文本框中输出选定的内容;如果单击“结束”命令按钮,则结束程序的运行。程序2:建立如下图所示的窗体,要求程序能对输入的“性别”和“邮政编码”、“电话号码”进行校验(性别只允许输入“男”或“女”,邮政编码必须是6位数字,电话号码必须是8位数字)。如果输入的数据不符号要求,则清空相应的文本框,并将插入点置于该框中。所有的校验工作可以在单击“退出”按钮后进行,此时,程序检查所有文本框,如有空白或内容错误,要求继续输入,否则结束程序。2、复选框、单选按钮及框架控件的使用程序3:在窗体中有一个标签,内有若干文字,要求通过窗体中的复选框或单选按钮确定标签中文字的字体(宋体或黑体)、字号(10号或12号)和字形(是否粗体、是否斜体),请建立应用程序。3、列表框和组合框控件的使用程序4:编写程序。要求:程序运行初期,在窗体左边的列表框中生成10个由小到大排列的10到100之间的随机整数,单击窗体中“右移”按钮,则左边列表框的10个数移动到右边的列表框中,并由大到小排列,此时“左移”按钮变为有效。单击“左移”按钮,右边列表框中的数又被移到左边的列表框中。单击“退出”按钮或按ESC键,可退出程序。窗体示意图如下。程序5:建立应用程序,窗体如下图所示,有一个简单组合框、三个命令按钮、一个文本框和一个标签。要求:l 单击“添加”按钮可将输入的内容添加到组合框中l 单击“删除”按钮可删除组合框中选定的项目l 单击“统计人数”按钮,可将组合框中的项目总数输出到右边的文本框l 单击“退出”或按ESC键退出程序 4、滚动条和定时器控件的使用程序6:编写程序,运行时的界面如下图所示。要求:无论是拖动滚动条上的滚动框,还是单击滚动箭头(数值递增或递减1)或滚动条(数值递增或递减10),均可以在相应的标签中反映当前数值,并动态计算出均值;单击“Reset”按钮,可将各滚动条上的滚动框复位。 程序7:利用定时器控件设计一个数字式时钟应用程序。三、实验记录程序1如下:Private Sub Form_Load() Text1.Text = 文本框是一个多功能控件,可以显示或者接收用户输入的文本信息。 给文本框指定内容End SubPrivate Sub Command1_Click() Text2.Text = Text1.SelText 在Text1中选定文本赋给Text2End SubPrivate Sub Command2_Click() End 程序结束End Sub程序2如下:Private Sub Command1_Click() If Text1 = Then 如果Text1没有输入,当前的激活文本区(焦点)在Text1 Text1.SetFocus Exit Sub 退出过程 End If If Text2 = Then 如果Text2没有输入,当前的激活文本区(焦点)在Text2 Text2.SetFocus Exit Sub 退出过程 End If If Text3 = Then 如果Text3没有输入,当前的激活文本区(焦点)在Text3 Text3.SetFocus Exit Sub 退出过程 End If If Text4 = Then 如果Text4没有输入,当前的激活文本区(焦点)在Text4 Text4.SetFocus Exit Sub 退出过程 End If If Text5 = Then 如果Text5没有输入,当前的激活文本区(焦点)在Text5 Text5.SetFocus Exit Sub 退出过程 End If End 退出程序End SubPrivate Sub Text2_LostFocus() If Text2.Text Then 如果Text2有输入If Text2.Text 男 And Text2.Text 女 Then 如果Text2输入的内容不是“男”和“女” Text2.Text = 则Text2不输出 Text2.SetFocus 当前的激活文本区(焦点)在Text2 End If End IfEnd SubPrivate Sub Text4_LostFocus() If Text4.Text Then 如果Text4有输入If Len(Text4.Text) 6 Or Not IsNumeric(Text4.Text) Then 如果Text4输入的内容不是数值或者字符串的长度不为6 Text4.Text= 则Text4不输出 Text4.SetFocus 当前的激活文本区(焦点)在Text4 End If End IfEnd SubPrivate Sub Text5_LostFocus() If Text5.Text Then 如果Text5有输入If Len(Text5.Text) 8 Or Not IsNumeric(Text5.Text) Then 如果Text5输入的内容不是数值或者字符串的长度不为8 Text5.Text= 则Text5不输出 Text5.SetFocus 当前的激活文本区(焦点)在Text5 End If End IfEnd Sub程序3界面设计(程序设计界面和运行结果界面):程序3如下:Private Sub Option1_Click()Text1.FontName = 宋体 Text1中的内容为宋体End SubPrivate Sub Option2_Click()Text1.FontName = 黑体 Text1中的内容为黑体End SubPrivate Sub Option3_Click()Text1.FontSize = 10 Text1中的内容为字号大小为10号End SubPrivate Sub Option4_Click()Text1.FontSize = 12 Text1中的内容为字号大小为12号End SubPrivate Sub Check1_Click()If Check1.Value = 1 Then 如果Check1被选中Text1.FontBold = True Text1中的内容变为粗体ElseText1.FontBold = False Text1中的内容不变End IfEnd SubPrivate Sub Check2_Click()If Check2.Value = 1 Then 如果Check2被选中Text1.FontItalic = True Text1中的内容变为斜体ElseText1.FontItalic = False Text1中的内容不变End IfEnd Sub程序4如下:Private Sub Command1_Click() Dim i As Integer, Last As Integer 定义i和Last为整型变量 Last = List1.ListCount - 1 将List1.ListCount - 1 中被选中的内容赋給Last For i = 0 To Last 统计i大于Last 时停止循环List2.AddItem List1.List(Last - i) 将List2中被选中的内容添加到List1中 List1.RemoveItem Last - i 将List1中被选中的内容删除Last - i个 Next i Command1.Enabled = False Command1按钮无效 Command2.Enabled = True Command2按钮有效End SubPrivate Sub Command2_Click() Dim i As Integer, Last As Integer 定义i和Last为整型变量Last = List2.ListCount - 1 将List2.ListCount - 1 中被选中的内容赋給LastFor i = 0 To Last 统计i大于Last 时停止循环List1.AddItem List2.List(Last - i) 将List1中被选中的内容添加到List2List2.RemoveItem Last - i 将List2中被选中的内容删除Last - i个 Next i Command1.Enabled = True Command1按钮有效 Command2.Enabled = False Command2按钮无效End SubPrivate Sub Command3_Click() Unload Me 程序退出End SubPrivate Sub Form_Load() Dim i As Integer For i = 0 To 9 统计i大于9 时停止循环 Randomize List1.AddItem Int(90 * Rnd) + 10) 给List1中添加内容 Next iEnd Sub程序5如下:Private Sub Combo1_Change() If Combo1.Text Then 如果Combo1输入内容不为空 Command1.Enabled = True Command1按钮点击有效 Command1.Default = True Command1为默认按钮Else Command1.Enabled = False 否则,Command1按钮点击无效,成灰色状态 End IfEnd SubPrivate Sub Combo1_Click() Command2.Enabled = True Command2按钮点击有效 Command2.Default = True Command2为默认按钮 Combo1.SetFocus 赋焦点光标在停放Combo1里End SubPrivate Sub Command1_Click() Combo1.AddItem Combo1.Text 添加内容到Combo1中 Combo1.Text = Combo1输入内容为空 Combo1.SetFocus 赋焦点光标在停放Combo1里End SubPrivate Sub Command2_Click() x = Combo1.ListIndex 将Combo1中的内容赋給x Combo1.RemoveItem x 将Combo1中的内容中的x删除 If x 0 Then 否则,如果x大于0 Combo1.ListIndex = x - 1 x-1赋给Combo1 Else Command2.Enabled = False 否则,Command2按钮点击无效 Command2.Default = False Command2不为默认按钮 End If End If Text1.SetFocus 赋焦点光标在停放text1里End SubPrivate Sub Command3_Click() Text1.Text = Combo1.ListCount 将Combo1中的内容赋給Text1 Combo1.SetFocus 赋焦点光标在停放Combo1里End SubPrivate Sub Command4_Click() End 程序结束End Sub程序6如下:Private Sub Command1_Click() HScroll1.Value = 0 将数值0赋给滚动条HScroll1 HScroll2.Value = 0 将数值0赋给滚动条HScroll2 HScroll3.Value = 0 将数值0赋给滚动条HScroll3End SubPrivate Sub HScroll1_Change() Label5.Caption = HScroll1.Value 滚动条HScroll的数值显示在标签Label5上 Average 求其平均值End SubPrivate Sub HScroll2_Change() Label6.Caption = HScroll2.Value 滚动条HScrol2的数值显示在标签Label6上 Average 求其平均值End SubPrivate Sub HScroll3_Change() Label7.Caption = HScroll3.Value 滚动条HScrol3的数值显示在标签Label7上 Average 求其平均值End SubPrivate Sub Average() Dim Temp As Double 定义双精度变量Temp Temp = (HScroll1.Value + HScroll2.Value + HScroll3.Value) / 3 将滚动条HScroll,HScroll2,HScroll3的平均值之和除以3,结果赋给Temp Label8.Caption = CStr(Temp) Temp的均值显示在标签Label8上End Sub程序7如下:Private Sub Form_Load() Label1.Caption = Time 在窗体上,将现在的时间赋给标签Label1End SubPrivate Sub Timer1_Timer() Label1.Caption = Time 在时间控件Time1把现在的时间显示在标签Label1上End Sub4、 实验总结实验三、过程一、实验目的 1掌握过程的定义和调用的方法2掌握典型问题的算法求解二、实验内容 1、过程的定义和调用程序1:创建应用程序,要求对输入的非负整数m和n,如果m=n,则显示组合数的值,否则显示数据出错。二、典型问题的算法程序2:利用下列两式求得圆周率的近似值,忽略级数式中绝对值小于0.000001的项。以及程序3:如下图所示,求2-200之间的所有素数,要求每输出五个数据换一行。程序4:利用随机函数产生20个-500到500的随机整数(包括-500和500),单击窗体时,在窗体上输出这20个数,同时在窗体上显示输出从大到小排好序的这些数。要求以每行5个数的格式显示,如下图所示。三、实验记录程序1如下:Private Sub Command1_Click() If Text1.Text = Or Not IsNumeric(Text1.Text) Then 如果Text1没有输入或者不是字符串 MsgBox 请输入一个非负整数!, , 提示 弹出消息框标题为“提示”,内容为请输入一个非负整数! Exit Sub 退出过程 End If If Text2.Text = Or Not IsNumeric(Text2.Text) Then 如果Text2没有输入或者不是字符串 MsgBox 请输入一个非负整数!, , 提示 弹出消息框标题为“提示”,内容为请输入一个非负整数! Text2.SetFocus 此刻焦点指在Text2 Exit Sub 退出过程 End If If CInt(Text1.Text) CInt(Text2.Text) Then 如果输入Text1的整形函数值大于Text2的整形函数值 MsgBox 数据出错,请重新输入!, , 警告 弹出消息框标题为“警告”,内容为数据出错。请重新输入! Text1.Text= Text1不输出 Text2.Text= Text1不输出 Text1.SetFocus 此刻焦点指在Text1 Exit Sub 退出过程 End If n=CInt(Text1.Text) Text1的整形函数值赋给n m=CInt(Text2.Text) Text2的整形函数值赋给m Text3.Text = CStr(Fac(m) / Fac(n) / Fac(m - n) 组合数做运算,利用阶乘End SubPrivate Function Fac(ByVal n As Integer) As Double 函数的调用,定义双精度变量Fac(),整形变量n Dim i As Integer, Temp As Double 定义整形变量i, Temp Temp=1 Temp初值为1 For i = 1 To n 做循环 Temp = Temp * i 做乘积运算 Next i Fac = Temp 把Temp的值赋给FacEnd Function 结束函数Private Sub Command2_Click() End 结束程序End Sub程序2如下:Private Sub Form_Click() Dim Pi As Double 定义双精度变量Pi Pi = 6 * Arctan(1 / Sqr(3) Pi的等式 Print Pi 输出PiEnd SubPrivate Function Arctan(ByVal x As Double) As Double 函数的调用,定义双精度变量 Arctan(),双精度变量x Dim m As Long, Temp As Double, s As Double 定义长整形变量m,双精度变量Temp,s Temp = 0 Temp初值赋为0 s = x 把x的值赋给s m = 1 m的初值赋为1 Do While Abs(s) = 0.000001 做循环,级数式中绝对值大于等于0.000001的项,小于则停止循环。 Temp = Temp + s Temp二次赋值 m = m + 2 m加2 s = -1 * x * x * s / m * (m - 2) s是的方程式运算 Loop Arctan = Temp 把temp的值赋给 ArctanEnd Function程序3如下:Private Sub Form_Click() Dim I As Integer, M As Integer 定义整形变量I、M M = 0 M的初值赋为0 For I = 2 To 200 I的初值赋为2,做加法循环,超出200则停止循环 If Prime(I) Then 用Prime判断I是否是素数,如果I是素数 Print I, 输出I M = M + 1 M加1 If M Mod 5 = 0 Then Print 如果M模除5,余数为0,则换行 End If Next IEnd SubPrivate Function Prime(x) As Boolean 函数过程的调用 Dim I As Integer 定义整形变量I Prime = True x为素数,返回True For I = 2 To Int(Sqr(x) I的初值赋为2,做加法循环,超出Sqr(x)则停止循环 If x Mod I = 0 Then 如果x模除I,余数为0 Prime = False 则x不是素数,返回False Exit For 退出循环 End If Next IEnd Function程序4如下:Private Sub Form_Click() Dim x(20) As Integer, M As Integer, Temp As Integer 定义整形变量x(20)、M、 Temp Dim I As Integer, J As Integer 定义整形变量I、J M = 0 M的初值赋为0 For I = 1 To 20 做循环 Randomize 随机化x(I) = Int(Rnd * 1001 - 500) 随机函数产生20个-500到500的随机整数赋给x(I) Print x(I), 输出x(I) M = M + 1 M加1 If M Mod 5 = 0 Then Print 如果M模除5,余数为0,则换行 Next I For I = 1 To 19 再做循环,I超出19则停止循环 For J = 1 To 20 - I 内循环,J = 1 ,当J超过20 - I停止循环 If x(J + 1) x(J) Then 如果x(J + 1) 小于 x(J) Temp = x(J): x(J) = x(J + 1): x(J + 1) = Temp 交换值 End If Next J Next I Print 输出空格 For I = 1 To 20 做循环,I超出20则停止循环 Print x(I), 输出x(I) M = M + 1 M加1 If M Mod 5 = 0 Then Print 如果M模除5,余数为0,则换行 Next IEnd Sub四、实验总结实验四、图形方法和图形控件一、实验目的 1 掌握使用图形方法绘制典型的图形2 了解图片框和图像控件的区别3 掌握图片框和图像控件的使用方法4 掌握直线控件和形状控件的使用方法5 了解图像处理的基本方法二、实验内容 1、图形方法的应用程序1:在窗体上绘制-到的正弦曲线,如下图所示。2、图片框控件和图像控件的使用程序2:在窗体上左右各放置一个大小相同的图片框和图像框,修改它们的边框式样(BordeStyle属性),使它们的边框一栏。通过Picture属性装入一个同样的位图文件(.bmp),观察两个控件的变化以及其中图形的差异。若装入的是图元文件(.wmf),则图片框和图像控件中的图形又会怎样?程序3:创建应用程序,利用图片框浏览大幅面图形。在窗体放置两个图片框,一个垂直滚动条和一个水平滚动条,如下图所示。在第二个图片框中装入一个大图形,利用两个滚动条改变第二个图片框在第一个图片框中的位置,实现对整幅图形的浏览。程序4:创建一个测试图像控件特性的应用程序:单击窗体上的“放大”、“缩小”按钮,能使图像框中的图形放大或缩小。3、直线控件和形状控件的使用程序5:建立如下图所示的应用程序,通过命令按钮控制直线控件的旋转和形状控件的形状、位置等的变化,掌握直线和形状控件的特点和使用方法。4、图像处理程序6:创建应用程序:通过使输出的文本产生微移后叠加,在图片框中输出有立体效果的文本,如下图所示。三、实验记录程序1如下:Private Sub Form_Click() Const Pi = 3.1415926 Cls 清屏 Form1.ScaleTop = 1.5 窗体左上角y轴的坐标值为1.5 Form1.ScaleLeft = -1.5 * Pi 窗体左上角x轴的坐标值为-1.5*Pi Form1.ScaleHeight = -3 y轴刻度总数为-3 Form1.ScaleWidth = 3 * Pi x轴刻度总数为3 * Pi For t = -Pi To Pi Step 0.001 t的初始值为-Pi,步长为0.001,当t大于Pi时,停止循环 x = t 将t赋给x y = Sin(t) 将Sin(t)赋给y PSet (x, y) 在(x, y处画点 Next tEnd Sub程序2如下:Private Sub Form_Click()Image1.Picture = LoadPicture(C:作业用图1.jpg) 给图像框装入图片Picture1.Picture = LoadPicture(C:作业用图1.jpg) 给图片框装入图片End Sub程序3如下:Private Sub Form_Load() 窗体的初始化 frmwidth = Form1.ScaleWidth frmheight = Form1.ScaleHeight Picture1.Move 0, 0, frmwidth - VScroll1.Width, frmheight - HScroll1.Height Picture2.Move 0, 0 HScroll1.Top = Picture1.Height HScroll1.Left = 0 HScroll1.Width = Picture1.Width HScroll1.Max = Picture2.Width - Picture1.Width HScroll1.SmallChange = HScroll1.Max / 50 HScroll1.LargeChange = Picture1.Width HScroll1.Visible = (Picture1.Height Picture2.Height) VScroll1.Top = 0 VScroll1.Left = Picture1.Width VScroll1.Height = Picture1.Height VScroll1.Max = Picture2.Height - Picture1.Height VScroll1.SmallChange = VScroll1.Max / 50 VScroll1.LargeChange = Picture1.Height VScroll1.Value = (Pi

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论