




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
年4月19日VB第一部分实验指导书文档仅供参考实验一VisualBasic集成开发环境和程序设计初步实验目的:了解VisualBasic系统对计算机软、硬件的要求。掌握启动与退出VisualBasic的方法。了解VisualBasic集成环境的组成,各部分的作用。掌握建立、编辑和运行一个简单的VisualBasic应用程序的全过程。掌握常见控件(文本框、标签、命令按钮)的应用。感性认识控件(对象)、过程、事件、属性等的概念,初步认识窗体、控件、属性、过程在程序设计中的作用和关系。实验内容:建立一个“标准exe”类型的应用程序,要求单击“确定”按钮,在屏幕上显示“您好,世界!”,单击“退出”按钮,退出应用程序。界面如图1-1所示,以sy1.frm、sy1.vbp和sy1.exe文件保存到自己的软盘上。图1-1实验准备:复习相关知识:1)VB集成化开发环境2)建立VB应用程序2.准确写出两事件代码,列出各控件所需属性(属性项目和属性值)。实验步骤:1.VisualBasic6.0中文版的启动与退出。启动:1)单击“开始”按钮,然后选择“程序”中“MicrosoftVisualBasic6.0中文版”,单击即可。或:单击桌面上“MicrosoftVisualBasic6.0中文版”图标,2)新建工程对话框,单击打开“标准exe”按钮,进入环境。退出:1)单击集成环境窗口右上角的关闭按钮。2)单击“文件”下拉菜单中的“退出”选项。2.界面设计:(1)添加标签Label1。(2)添加命令按钮Command1。(3)添加命令按钮Command2。(4)使用格式菜单,使用两命令按钮尺寸完全一样,并恰好处在窗体的中间位置。3.设置界面对象属性:能够经过用鼠标右键单击某一窗体或控件,在弹出的菜单中为其设置属性,也能够从属性窗口的对象列表框中选择要设置属性的对象。1)设置Form窗体Caption属性为“Hello,World!”2)设置Command1按钮Caption属性为“确定”,名称属性为“OK”.3)设置Command2按钮Caption属性为“退出”,名称属性为“Cancel”。4)设置Label1标签Caption属性为空,Font属性对话框中字体为隶书,字体式样为粗体,大小为二号。4.编写代码:在Form(窗体)窗口中双击鼠标左键或单击视图菜单中的代码窗口菜单项,进入代码窗口。用鼠标单击第一个列表框右边的下拉箭头,从弹出的下拉列表框中选择OK,然后在第二个列表框中选择Click事件,这时代码窗口出现了程序代码的过程头与过程尾。1)在OK_Click事件中输入下面代码:Label1.Caption=“您好,世界”2)在Cancel_Click事件中输入下面代码:UnloadMe5.保存文件:1)选择文件菜单中工程另存为保存工程文件SY1.vbp2)选择文件菜单中Form另存为保存窗体文件SY1.frm6.程序运行:1)在运行菜单中选择启动菜单项。或:单击工具栏中的启动按钮。2)单击确定按钮。3)单击退出按钮。若程序不能正常运行,应用运行菜单中的结束菜单项,终止程序运行,然后检查属性设置和程序代码是否有误,直到正常运行为止。程序正常运行后,应再一次存盘保存工程文件。编译应用程序:选择文件菜单中生成firstapp.exe菜单项,出现生成工程对话框输入文件名SY.exe,单击确定按钮,生成应用程序。实验二顺序程序设计实验目的:掌握表示式,赋值语句的正确书写规则。掌握常见函数的使用。掌握InputBox与MsgBox的使用。实验内容:1.编一个华氏温度与摄氏温度之间转换的程序,运行界面如图2-1所示。要使用转换的公式是:F=9C/5+32‘摄氏温度转化为华氏温度,F为华氏C=(F-32)5/9‘华氏温度转化为摄氏温度,C为摄氏要求用按钮实现转换。即单击“华氏转”按钮,则将摄氏温度转化为华氏温度。同样,单击“摄氏转”按钮,则将华氏温度转化为摄氏温度。图2-1[实验目的]掌握简单程序的编写、输入数据的方法、不同数据类型的转换。[提示与分析]1)上述公式中右边的变量F、C应该是有值的,该值可经过Text1、Text2分别赋值获得,然后经过公式计算得到转换的结果。也能够不使用变量F、C,直接使用Text1、Text2进行计算。2)Text文本框存放的String类型,为了程序正常运行,应经过Val()函数将字符串转换为数值类型。3)本题关键是将文本框的内容如何代到转换公式中。2.使用Move方法移动标签,参见图2-2所示。3.使用Print方法,输出如图2-3所示图形。图2-24.输入半径,计算圆周长和圆面积。进一步要求,为了保证程序运行的正确,对输入的半径要进行合法性检查,若发现输入的数中有非法数字,利用MsgBox显示出错信息,利用SetFocus方法定位于出错的文本框处,重新输入。图2-35.利用计算机解决古代数学问题“鸡兔同笼问题”。即已知在同一笼子里有总数为m只鸡和兔,鸡和兔的总脚数为n只,求鸡和兔各有多少只?[实验目的]掌握InputBox函数、MsgBox过程的使用;利用计算机解初等数学题;为了保证有正确的解,提前使用If语句。[提示与分析]1)m,n经过InputBox()函数获得;鸡、兔的只数经过已知m,n列出方程可解,但不要求出荒唐的解(例如3.5只鸡、4.5只兔,或者求得的只数为负数),若出现荒唐的解,要求显示有关信息,并重新输入。2)设x为鸡的只数,y为兔子的只数;已知总头数m和脚数n,则x+y=m2x+4y=n得y=n/2–mx=m–y从公式推得:当总脚数是偶数而且脚数在二至四倍的头数之间(2m<n<4m)时,才可有正确的解。判断一个数是否是偶数,只要经过判断Mod2是否为0即可。二条件在程序中表示为:nmod2=0和n>2*mandn<4*m.3)算例:头数取1、1、2、20时脚数对应取4、2、6、100实验三选择结构程序设计实验目的:掌握逻辑表示式的正确书写形式。掌握单分支与双分支条件语句的使用。掌握多分支条件语句的使用。掌握情况语句的使用及与多分支语句的区别。实验内容:1.在购买某物品时,若所花的钱x在下述范围内,所付钱y按对应折扣支付:xx<10000.9x1000≤x<y=0.8x≤x<30000.7xx≥3000[提示与分析]1)此例用多分支if语句实现,注意计算公式和条件表示式的正确书写。2)多个条件,可有两种表示,方法一:从小到大或从大到小依次一一表示;方法二:不论次序,将条件区间列出。2.某市公用电话收费标准如下:通话时间在3分钟以下,收费0.50元;3分钟以上,则每超过1分钟加收0.15元;在7:00—19:00之间通话者,按上述收费标准全价收费;在其它时间通话者,一律按收费标准的半价收费。试计算某人在T时间通话S分钟,应缴多少电话费。运行界面如图3-1所示。图3-1[实验目的]1)利用前面学过的选择结构,学会用计算机解决时间问题的能力。2)时间函数、子字符串函数、格式函数的综合使用。[提示]1)时间能够经过文本框输入;也能够经过Time时间函数求得当时通话的时间。但要经过Cdate函数将字符串类型转换成日期类型,为(2)中计算通话时间做准备。例如:date1=CDate(Text1.Text):date2=CDate(Text2.Text)2)通话时间能够经过DateDiff()函数将两个时间以秒为间隔形式相减。也能够利用Hour、Minute和Second分别取小时、分和秒,然后化成以秒为单位再相减。例如:st=DateDiff("s",date1,date2)/603)为了简化程序,以开始通话的时间为是否享受半价收费的记费方法。实验四循环结构程序设计实验目的:掌握For语句的使用。掌握Do语句的各种形式的使用。掌握如何控制循环条件,防止死循环或不循环。实验内容:编一个程序,显示出所有的水仙花数。所谓水仙花数,是指一个3位数,其各位数字立方和等于该数字本身。例如,153是水仙花数,因为153=13+53+33。[提示与分析]解该题的方法有两种:1)利用三重循环,将三个数连接成一个3位数进行判断。例如,将1—9连接成一个的9位数,程序段如下:s=0Fori=1To9s=s*10+iNextI2)利用单循环将一个3位数逐位分离后进行判断。例如,将的一个9位数,从右边开始逐位分离,程序段如下:s=DoWhiles>0s1=sMod10s=s\10Prints1;‘从右边开始显示分离出每一位Loop递推法:猴子吃桃子。猴子在一天摘了若干个桃子,当天吃掉一半多一个;第二天的接着吃剩下的桃子的一半多一个;以后每天都吃尚存桃子的一半另一个,到第七天早上要吃时只剩下一个了,问猴子那天共摘了多少个桃子?[分析]这是一个“递推”问题,先从最后一天推出倒数第二天的桃子,再从倒数第二天的桃子推出倒数第三天的桃子……设第n天的桃子为Xn,那么它是前一天的桃子数Xn-1的二分之一减一。即:Xn=0.5Xn-1–1也就是:Xn-1=(Xn+1)×2已知:当n=7第7天的桃子数为1,则第6天的桃子数由公式得4个,依次类推,可求得第一天的桃子数。有一根长度为321m的钢材料,要将它截取成两种规格的短料,规格a、b的长度分别为17m和27m,每种至少1段,分割成a、b各多少段后,剩余的残料r最少?[分析]该题利用二重循环求残料r的最小值正数,因为残料不可能是负数,否则与实际情况不符。实验五数据结构数组实验目的掌握数组的声明、数组元素的引用。掌握静态数组和动态数组的使用差别。应用数组解决与数组有关的常见算法。实验内容1.输入一串字符,统计各字母出现的次数(大小写字母不区分),并对出现的字母显示其出现的个数,效果如图5-1所示。图5-1[分析]1)统计26个字母出现的个数,必须声明一个具有26个元素的数组,每个元素的下标表示对应的字母,元素的值表示对应字母出现的次数。2)从输入的字符串中逐一取出字符,转换成大写字符(使得大小写不区分),进行判断。例如:c=UCase(Mid(Text1,I,1))2.要求输入若干同学的成绩,计算平均分和高于平均分的人数,并将这两项放在该数组的最后。参见图5-2所示。图5-2实验六常见控件实验目的:掌握常见控件的重要属性、事件和方法。掌握常见ActiveX控件的特性,熟练应用这些高级控件进行编程。初步掌握创立基于图形用户界面应用程序的过程。熟练掌握键盘事件、鼠标事件及其事件过程的编写技艺。掌握普通拖放和OLE拖放的原理,掌握实现拖放的方法。实验内容:1.编写一个运行界面如图6-1所示的程序。用户能从“饭店菜单”把选定的“菜”添加到下面的列表框中。要求:“饭店菜单”列表框支持多项选择[提示]图6-1假定“饭店菜单”和“我点的菜”列表框的名称分别为List1和List2。因为需要在List1中能够进行多项选择,因此MultiSelect属性应设为1或2,而且在“添加”事件过程中不能简单地用List2.AddItemList1.Text语句添加项目。应编写如下的程序:SubCommand1_Click()Fori=0ToList1.ListCount-1IfList1.Selected(i)ThenList2.AddltemList1.List(i)EndIfNextEndSub2.设计一个运行界面如图6-2所示的字幕滚动程序。要求用时钟控件和滚动条调节和控制字幕滚动速度,文字的大小及距离窗体顶端的距离是随机的,从右向左连续滚动。[实验目的]图6-2掌握滚动条、时钟的使用原理。[提示与分析]1)FontSize属性不能为0,因此用Int(1+Rnd*30)产生一个1—30的数作为字体的2)字幕“WindowsXP的中文世界……”是标签(Label1)的标题,用Move方法实现滚动,经过改变移动的步长控制移动的速度。每次移动的高度是随机的,用Int(Rnd*ScaleHeight)表示式决定;字体大小也是随机的,由Int(1+Rnd*30)决定。3.编写一个运行界面如图6-3所示的点菜程序。用户能从“饮料”和“主食”列表框中选择食品,然后拖动到“我的中饭”列表框中。要求;用拖动的方式实现。图6-3[提示与分析]1)当源对象被拖动时,源对象作为Source参数传入事件过程中,Source代表源对象,经过Source.Name属性能够确定被拖动的是哪个列表框。在目标列表框的DragDrop事件过程中,将源列表框中选定的项目添加到目标列表框中,然后删除。2)“饮料”和“主食”列表框只能用Drag方法手工启动拖操作,不能使用自动拖放模式。因为如果设置自动拖放模式,拖动的对象是整个列表框,无法选定其中的项目。在“我的中饭”列表框的DragDrop过程中经过Source参数可能知道源控件是哪一个列表框,Source.Name属性指示源控件的名称。实验七界面设计实验目的:学会使用对话框进行编程。掌握窗口菜单、弹出式菜单和实时菜单的设计方法。掌握工具栏、图象列表框控件的使用。掌握状态栏控件的使用。掌握RichTextBox控件的使用。综合应用所学的知识,编制具有可视化界面的应用程序。实验内容:1.设计一个运行界面如图7-1所示的应用程序。当选择“改变标签标题颜色”按纽后,弹出颜色对话框,为标签标题选择一个颜色;当选择“编辑文本文件”按钮后,弹出打开文件对话框,选择一个文本文件后调用记事本程序编辑该文件。图7-1[实验目的]掌握通用对话框的使用方法和使用Shell函数运行程序的方法[提示与分析]1)尽管程序中用到了颜色和打开文件两个对话框,可是实际上只需一个通用对话框控件CommonDialog。2)能够使用Shell函数运行记事本程序。注意在记事本程序名与所选的一个文件名之间要有一个空格符。3)需要经过“工程1部件”命令选择MicrosoftCommonDialogControl6.0选项,将CommonDialog控件添加到工具箱。4)要使通用对话框能弹出颜色对话框,使用ShowColor方法,例如:CommonDialog1.ShowColor.颜色对话框经过Color属性返回所选择的颜色,将其值赋予标签的ForeColor属性即可改变标签的前景颜色。例如:Label1.ForeColor=CommonDialog1.ShowColor5)对于同一通用对话框,要使其能显示成文件打开对话框形式,可在另一事件中使用ShowOpen方法。通用对话框的FileName属性提供所选择的文件名,将记事本程序名(包括目录路径名)和所选择的文件名构成一个字符串,作为Shell函数的参数即可经过记事本程序打开所选择的文件。在构造字符串时记事本程序名notepad.exe与所选择一个文本文件名之间必须要有一个空格符。例如:i=Shell(“C:\Winnt\notepad.exe”&CommonDialog1.FileName,1)2.在窗体上放置一个文本框,设置它的Multiline属性为True.设计一个含有2个主菜单项的菜单系统,分别为“菜单1”和“菜单2”。其中,“菜单1”包括“清除”、“结束”两个菜单命令。“菜单2”包括“12号字体”、“16号字体”、“粗体”、“斜体”4个菜单命令,如图7-2和图7-3所示。为菜单项编写有关的程序代码:图7-2图7-3“清除”命令:清除文本框中所显示的内容。“12号字体”或“16号字体”命令:把文本框中文本字体的大小设置为12或6磅。“粗体”或“斜体”命令:在菜单项左边加上或取消标记“√”,控制文本框中的文本字型变化。窗体上“菜单2”的显示与否与文本框中有元内容有关,当清除文本框中的内容时,隐藏“菜单2”,当文本框中输入信息后,显示“菜单2”。另外可经过鼠标右键弹出“菜单2”。[实验目的]掌握窗体菜单的制作;掌握在程序中改变窗体菜单的属性的方法;掌握动态改变菜单项的方法和掌握弹出菜单的制作和显示方法。[提示与分析]1)在菜单项左边加上或取消标记“√”可使用代码:菜单项名.Checked=Not菜单项名.Checked2)文本框内的文本粗体字控制可使用代码:Text1.FontBold=菜单项名.Checked或Text1.FontBold=NotText1.FontBold斜体字控制可类似地使用FontItalic属性。3)利用菜单2的Visible属性控制菜单的显示与隐藏。在文本框的Chang事件进行设置。4)建立一个有菜单功能的文本编辑器大致可分成以下三个步骤.步骤一:建立控件本例中只要在窗体上放置一个文本框(设置滚动、多行属性)和一个通用对话框.步骤二:设计菜单打开菜单编辑器,按要求对每一个菜单项输入标题、名称和选择相应快捷键.步骤三:对菜单建立好以后,对相应的Click事件编程.5)在程序中改变菜单项的Checked、Enabled属性的常见方法;菜单项名.Checked=Not菜单项名.Checked菜单项名.Enabled=Not菜单项名.Enabled6)动态改变菜单项的最简便方法是改变菜单项Visible属性.当Text1的内容发生变化时触发Text1_Change事件。7)弹出菜单的制作与普通菜单相同,程序运行时使用Popupmenu方法显示弹出菜单。3.在实验2“菜单1”的子菜单“清除”前添加一个“查找”菜单命令。并与“清除”菜单命令之间有一条分隔线,单击“查找”菜单命令,显示图7-4所示的查找对话框,当在文本框内输入内容时,可在主窗体的文本框内查找指定的内容。图7-4[实验目的]掌握窗体菜单的编辑修改;掌握创立自定义对话框的方法;掌握多冲窗体的使用,窗体间数据的传递方法。[提示与分析]1)创立自定义对话框能够从新窗体着手,一般来说,用户一般不需要对它进行移动、改变尺寸、最大化或最小化等操作。经过设置BorderStyle、ControlBox、MaxButton和MinButton属性,可使对话框的大小固定,删除窗体的“控件”菜单框、“最大化”按钮以及“最小化”按钮这些项目。2)窗体之间的数据传递可经过在类模块文件中声明的全局变量完成,也能够直接使用控件。若使用控件前加窗体名前缀。本例经过控件传递数据。3)使用InStr函数能够判定字符串1是否包含字符串2的内容,及所在位置。经过文本框的SelLength属性可用负像显示查到的字符。为了能查找出多个相同的字符,在InStr函数中使用参数指示查找起始位置。由于该参数受到上次搜索的影响,需要将其声明为静态类型的变量。4.在实验3的基础上按菜单的功能添加工具栏,在窗体下方加入有2个窗格的状态栏,第1个窗格在按下Shift、Ctrl和Alt键时显示相应的键名,第2个窗格显示时钟。[实验目的]掌握窗体菜单工具拦的制作;掌握响应ToolBar控件事件的方法;掌握状态栏的制作和程序运行时的控件方法。[提示与分析]1)建立窗体工具栏和状态栏,必须要经过MicrosoftWindowsCommonControls6.0选项将控件添加到工具箱。在建立窗体工具栏和状态栏,必须要经过MicrosoftWindowsCommonControl6.0选项将控件添加到工具栏。在ImageList控键图象,建立ToolBar控件与IMageList控件的连接,在ToolBar控件中添加按钮。2)“菜单1”所提供的功能各自独立,按钮样式采用普通按钮。“菜单2”中的字号大小设置只允许选择其中的一项,故按钮样式需采用编组按钮或菜单按钮。本例采用菜单按钮设置字号。字体形式在选择后能保持按钮按下状态,可采用开关按钮样式。为便于编程,对每个按钮设置标识名。3)对菜单按钮在Toolbar_ButtonMenuClick事件使用“SelectCaseButtonMenu.Key”调用相应的菜单事件过程,响应所做的选择。其它类型的按钮在Toolbar1_ButtonClick事件中使用“SelectCaseButton.Key”语句响应所做的选择。4)使用KeyDown或KeyUp事件判断对键盘的操作。KeyDown事件提供keycode和shift两个参数,keycode参数为所按键的键代码,shift参数是响应Shift键、Ctrl键和Alt键的状态的一个整数,分别对应于值1、2和4。当这些键组合在一起时,shift返回它们的组合值。例如,同时按下Ctrl和Alt这两个键,则shift的值为6。5)StatusBar控件是由Panels集合构成的。能够把Panels集合看做数组,每个窗格的Panels对象是Panels的一个元素。能够经过Text、Picture和Width属性改变任何Panels对象的文本、图象或宽度。要在窗格内显示所按的键名,使用StatusBar1.Panels(1).Text属性。实验八文件实验目的:文件系统控件的使用。文件和目录操作语句和函数的使用。掌握顺序文件、随机文件及二进制文件的特点和使用。掌握文件的打开、关闭和读写操作。学会文件在应用程序的使用。实验内容:1.建立一个文本浏览器。窗体上放置驱动器列表框、目录框、文件列表框和两个文本框,如图8-1所示。要求:(1)文件列表框能过滤文本文件。(2)当单击某文本文件名后,在Text1显示文件名(包括路径),在Text2显示该文件内容;(3)当双击某文件名后,调用记事本程序对文本文件进行编辑。图8-1[实验目的]掌握文件系统控件的使用、文本文件内容的读取与显示、应用程序的调用和对应文档的读取。[提示与分析]1)第(2)小题利用顺序文件的读写语句,将磁盘上的文件读入,并在文本框显示。2)第(3)小题调用Shell函数,执行记事本可执行程序,并带有文本文件为参数。3)文件系统控件关联只要两个事件;文本文件一般经过LineInput语句读取较安全、方便,但显示时要加入回车、换行符;应用程序的调用利用Shell函数,同时要将相应的文档打开,两者之间必须加空格。2.建立一个具有3个学生三项内容的文本文件,内容中分别为姓名、专业、年龄,前二项字符串,后一项整形。单击“建立”按钮,分别利用:Print#文件号,[输出列表]Write#文件号,[输出列表]两种格式同时建立两个文件,文件名分别为c:\t1。txt和c:\t2.。txt(打开两个文件,以不同文件号区分)。单击“显示”按钮,从磁盘以行读方式分别读人刚建立的两个文件,并分别在两个文本框显示,比较之间的区别。运行结果如图8-2所示。[实验目的]图8-2掌握顺序文件的建立,读取,Print、Write语句的使用和区别。3.Print方法与Print语句比较。在窗体上显示如图8-3所示的图形,并将该图形同时以文本文件A:\Tu.Txt写到磁盘上,经过文本编辑器显示建立的文件。[实验目的]掌握Print方法和Print语句的使用和区别,掌握有规律字母的生成。[分析]图8-3该题较简单,Print方法在循环控制结构中已介绍,作用结果显示在窗体或图形框上;Print语句处理相似,仅输出到磁盘上。实验九图形技术实验目的:1、了解VisuslBasic的图形功能。2、掌握建立图形坐标系的方法。3、掌握VisuslBasic的图形控件和图形方法。4、掌握常见几何图形绘制。5、掌握简单动画设计的方法。6、掌握实现图形漫游的方法。实验内容:1.绘制如图9-1所示图形(不包括尺寸)。图9-12.在Form1建立一个坐标系。X轴的正向向右,Y轴的正向向上,原点在窗体中央。在坐标系上用Line方法绘制-2π—2π之间的正弦曲线,如图9-2所示。图9-2[实验目的]掌握坐标系的定义方法;掌握使用Line方法绘制图形;了解CurrentX、CurrentY属性的功能。[提示与分析]坐标系定义可Scale方法。由于要求坐标系原点在窗体中央,而要绘制的正弦曲线在(-2π,2π)之间,考虑到四周的空隙,故X轴的范围可定义在(-8,8),Y轴的范围可定义在(-2,2)之间。可采用Scale(-8,2)-(8,-2)定义坐标系。坐标轴用Line方法画出。X轴上坐标刻度线两端点的坐标满足(i,0)-(i,y0)。其中y0为一定值。可用循环语句,变化i的值来标记X轴上的坐标刻度。类似地可处理Y轴上标记坐标刻度。坐标轴上刻度线的数字标识,可经过CurrentX、CurrentY属性设定当前位置,然后用Print输出对应的数字。标识数字可结合在分析(3)的循环上一起完成。正弦曲线可用Line方法或Pest方法画出,为使曲线光滑,相邻两点的间距应适当小。本题用Line方法绘制正弦曲线,相邻两个x点的间距取0.01。3.设计一个如图9-3所示的指针式时钟。[实验目的]掌握简单动画设计的方法。图9-3[提示]VisuslBasic坐标系中,采用逆时针绘圆,而时钟指针的移动按顺时针方向,故指针与坐标轴的夹角α必须乘以-1。另外,时钟指针与参照点的夹角需调整π/2。钟指针经过圆心,故指针另一端点与原点的连线与坐标轴夹角还需调整π。ss=Second(Time)为当前秒数,秒针要指在相应的刻度线上,则α=-(ss×2π/60)+π/2,设mm=Minute(Time)为当前分数,分针与坐标轴的夹角α=-(mm×2π/60)+π/2,hh=Hour(Time)为当前时数,时针与坐标轴的夹角α=-(hh×2π/12+mm×π/360)+π/2.钟指针两端点的坐标:x1=R1cosα,y1=R1sinα;x2=R2cos(α+π),y2=R2sin(α+π)针的移动由时钟控件的Timer事件触发。实验十程序调试与错误处理实验目的:1、掌握VB中常见程序调试的方法与工具。2、熟悉VB中程序调试环境。3、掌握VB中常见程序错误的捕捉与处理。实验步骤:按下面步骤建立这个程序:运行VisualBasic6.0并建立标准工程。单击工具栏中的Label控件,在Form1窗体上绘制一个标签,并将其Caption属性设为“请输入(0—20)之间整数”。单击工具栏中的Text控件,并在Form1窗体上绘制一个文本框,然后将其Text属性设置为空。单击工具栏中的CommandButton控件,并放置在窗体中,将其Caption属性设为“计算阶乘”。最后再放置两个标签到窗体Form1中,属性采用缺省值。图11-1显示了设计好的界面。在这个程序中需要处理的事件过程只有Command1_Click。在该过程中,需要进行参数检查和阶乘计算。这里编写了两个程序段来完成这两个功能。1)检查参数程序段用来检查用户输入的参数。返回值是检查过的合法参数。2)利用循环计算一个数的阶乘值。它返回计算结果。图11-1程序代码如下:‘将用户输入转化为数值参数DimnAsInteger,JieChengAsIntegern=Val(Text1.Text)‘检查用户输入是否有效‘如果输入错误,则提示用户重新输入‘输入正确,就把检查过的参数作为结果返回Ifn>20Andn<0ThenLabel2.Caption=“输入错误!请重新输入!”‘清除标签上以前显示的结果Label3.Caption=“”ElseLabel2.Caption=“结果是:”Label3.Caption=""‘清除标签上以前显示的结果Ifn=0orn=1ThenJieCheng=1Else‘否则,循环求解JieCheng=1‘变量付初值Fori=1TonJieheng=JieCheng*iNextiEndIfLabel3.Caption=JieChengEndIf到此,完成了这个程序的编写.下面测试程序的运行.(1)按F5键运行程序,并在文本框中输入0,单击[计算阶乘]按钮,得到图11-2所示的结果.这个结果示正确的.图11-2图11-3(2)测试计算-1的阶乘,正常情况下程序应显示输入错误等提示.在文本框中输入”-1”,单击[计算阶乘]按钮,这时看到图11-3所示结果.显然这个结果与预期的不符,是错误的.下面就来查找该错误.由于输入无效参数-1时程序并没有显示出错提示,因此推测在检查参数的代码中出现了问题.(3)打开代码窗口,在检查参数处设置断点,以便程序在检查参数之前中断运行,这样能够查看程序状态和中间结果.加入断点的操作可按下面步骤进行:1).在代码窗口中,把光标移动到要加断点的一行.(Ifn>20Andn<0Then)2)打开调试菜单,单击[切换断点]菜单项或按F9键,这时所选的语句出现一条红色亮条,标志所设断点处.图11-4显示了加入断点处的情况.图11-4图11-53)如果要去除断点,能够打开[调试]菜单,单击[切换断点]菜单或按F9键,也能够打开[调试]菜单,单击[清除所有断点]菜单项以清除所有断点(4)按F5键运行程序.在文本框中输入“-1”,单击[计算阶乘]按钮,这时程序在断点处中断,如图11-5所示.(5)在执行到if语句处时,打开[视图]菜单,单击[立即窗口]菜单项,这时桌面上出现了[立即]窗口.在[立即]窗口中输入“?n”,观察程序接收到的参数植.图11-6显示了[立即]窗口的使用效果.[立即]窗口中显示的n值为-1,说明程序接受到的参数是正确的,错误可能在后面.下面单步执行,以跟踪检查参数这部分代码的运行.图11-6
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年基本公共卫生(妇幼卫生)培训试题及答案
- 2025年行政法律法规知识竞赛多选题库及答案
- 2025中小学防溺水安全知识竞赛题库及答案
- 2025年监理工程师继续教育考试题及答案
- 新建汽车零部件项目报告表
- 城市交通信号系统优化案例分析解析考核试卷
- 绿色出行激励政策公众参与机制考核试卷
- 冲突管理中的领导风格转变策略考核试卷
- 设备折旧与维护成本考核试卷
- 成品住房管理办法
- 职业培训学校宣传课件
- 餐饮食堂食品安全法培训
- 国企职工待岗管理办法
- 施工现场安全生产管理规章制度完整版
- 2025建筑工程土石方挖掘与运输合同范本
- 2025年智慧农业技术考试试卷及答案
- 网约车考试题库及答案
- 慢阻肺健康宣教
- 2025《学前教育法》知识题库(含答案)
- 小学一年级升二年级暑假数学作业-应用题(178题)(附答案)
- 各项记录填写培训
评论
0/150
提交评论