实验报告标准答案DOC_第1页
实验报告标准答案DOC_第2页
实验报告标准答案DOC_第3页
实验报告标准答案DOC_第4页
实验报告标准答案DOC_第5页
免费预览已结束,剩余18页可下载查看

付费下载

下载本文档

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

文档简介

1、成绩评定:_ 指导教师_ 实验地点:课程名称:实验报告1 实验项目名称:实验项目编号:学生姓名:学院:实验时间 年_月_日一、 实验目的实验项目类型:学号:系专业:午月 日 午.5.熟悉VB编程环境,能够建立、编译和运行VB程序。掌握窗体、标签、文本框、命令按钮、图形框的作用、常用属性、事件和方法。 理解并掌握赋值语句、掌握表达式的书写规则。掌握使用Inputbox函数和MsgBox消息函数进行输入输出。熟悉VB的数据类型和类型转换。实验内容(一)字幕滚动1.签,a)b)c)d)设计如下图所示的界面实现字幕从上到下进行滚动,两个命令按钮分别实现自动滚动和手动滚动。在窗体水平居中

2、的地方放置一个标签。当字幕向下移出窗体时,重新从窗体顶端开始继续往下移动。单击“手动”按钮一次字幕将向下移动一下,单击“自动”按钮字幕将连续移动, 具体移动的速度或幅度、窗体和按钮上的图片由自己设定。以EX1-1分别保存窗体和工程。“欢迎使用VB'是一个字幕标实验要求对于标签应对其什么属性设置什么值才能够使窗体的背景不被遮挡?2.a)Backstyle-1b) 使标签在窗体中水平居中需要设置什么属性,如何设置?设置的依据是什么?label1.Left -form1.width/2-label1.width/2C)要想在命令按钮上显示图片,需要设置哪些属性,如何设置?Style -1d)

3、写出标签从上往下移动的代码,注意,当标签移出窗体后要从窗体上顶端开始继续 往下。Labell.Move Labell.Left, Labell.Top + 50If Labell.Top > Forml.Height The n Labell.Top = 0e)要使Timer控件启用,必须设置哪两个属性,属性值设置为多少?Timer1.I nterval=100Timer1.e nabled=truef) 单击“手动”按钮时,如何使 Timer控件停用?需要在什么地方编写代码?请写出 代码?Timer1.I nterval=0或 Timer1.e nabled=falsed FdimIE

4、Z® 区IC OFlaoiblQpliaii2Cann«nJlCanrt«arl2(二)打开教材实验材料中工程文件EXA05.vbp,完成下面的任务。1 .观察窗体上分别有哪些类的控件, 根据观察结果制作下表,表格行数视情况而 定。以EX1-2保存窗体和工程。控件类控件名称2.启动程序,右图为启动之后的初始界面。回答下面的问题:List1中为什么会被添加了两项内容?启动后,窗体从无到有,大小发生改变一form_resize焦点放置在文本框内,触发text1_gotfocus单击按钮Command1 List1中又被添加了 1项什么内容?单击了命令按钮 Comma

5、nd1拖拽窗体的右下角改变窗体的大小,List1中又被添加了什么内容?窗体Form1的大小改变3.关闭程序,写出你对该程序功能的理解。通过在各个控件的一些事件里编写代码,当操作或系统触发事件,可将所有的操作记录F来。(三)BMI计算。1. 编写一个计算人的身体质量指数BMI的程序,计算公式为BMI等于体重(千克)除以身高(米)的平方,计算结果按四舍五入保留2位小数。运行时的界面如下图所示。a)设计如图所示界面,两个文本框用于输入体重和身高。b)点击“计算”按钮或者在文本框中输入回车时,计算BMI的值。C)d)体重(Kg) -50 身高(Cm) 157计算当计算完成时将当前时间的BMI值打印在图

6、形框,如果输入错误使用MsgBox弹出对话框提示输入错误。窗体大小设置为固定大小,窗体的标题显示系统当前的时间,使用计时器每隔秒钟更新Form的Caption。以EX1-3保存窗体和工程。2012-4-15 16:10:24tf3BHI>lT, 93工程1 図2.实验要求a)该程序的计算用到了哪些变量,作用分别是什么?需要在什么地方定义这些变量, 请写出这些变量的定义,并注明变量的作用。窗体通用程序段或”计算”按钮的 click事件内声明,两个变量用于保存文本框内输入的数值。一个变量用于保存bmib) 进行BMI计算的表达式是什么,使用自己定义的变量来表示。a = Val(Textl.T

7、ext)b = Val(Text2.Text)bmi = a / (b / 100)人 2)c) BMI计算的结果保留 2位小数打印在 PictureBox 图形框中,请写出具体的 Print 语句。Picturel.Print Now & ”的 BMI 是” & Round(bmi, 2) d)请写出Timer1_Timer事件的代码,该代码用于控制窗体的标题,使标题显示当前 时间。Forml.Ca pti on = Time课程名称:实验报告2实验项目名称:实验项目编号:学生姓名:学院:实验时间年月日一、 实验目的成绩评定:指导教师_ 实验地点:实验项目类型:学号:系专业:

8、午月 日 午1.2.掌握条件分支中逻辑表达式的书写,掌握If语句的使用方法,包括单分支、双分支和多分支结构。掌握分支条件语句的嵌套形式,学会运用Select Case语句。掌握ForNext语句的使用方法,能准确、灵活地确定初值、终值及步长。掌握循 环的嵌套。3.掌握DoLoop语句的使用方法,理解几种不同形式DoLoop语句的区别,能够正确描述控制循环的条件。4.分析理解如何避免死循环。实验内容(一)设计如下图所示界面,实现两个变量的交换。1.件名a)b)c)d)编写一个程序,用于演示两个变量内容的交换,界面设计如下图。运行通过后用文EX2-1分别保存窗体和工程。点击点击点击点击“第一步”按

9、钮将时“数据1 ”的信息存放在temp变量中。“第二步”按钮将时“数据2 ”的信息移至“数据1 ”。“第三步”按钮时将“ Temp中的信息移至“数据 2”。 “交换”按钮时直接将两个数据交换。回区交换三部曲第一步第二步第三步提示:图中的横线为line控件。2.实验要求a)写出实现变量交换的代码,即“交换”按钮中的代码。temp = TextI.TextTextI.Text = Text2.TextText2.Text = tempb)如何保证按钮“第一步”,“第二步” 填写以下事件的代码,“第三步”的事件中都能够使用临时变量的值?将该临时变量定义为窗体级变量Private Sub Comma

10、nd2_Click()“第一步”按钮temp = Text1.TextText3.Text = tempEnd SubPrivate Sub Comma nd3_Click()“第二步”按钮Text1.Text = Text2.TextEnd SubPrivate Sub Comma nd4_Click()“第三步”按钮Text2.Text = tempEnd Sub(二)生成字符1.设计如下图所示界面,并编码实现:瓠生战字母cSW<=i"hiic%GrkD r&zCRi&XM- 9;onXv5b 彳S米i卿材1;% <D=sF;OOGGc? 42W(Lw

11、9jD叭IUbvoS TwrPQLBG:&7j014s' &kDU+1%dSU5Lv|I U I I l-IX|生成tEXt2 i统计tcxtl j 中字符1迤鳥舉字字符个数27羌写字母个数77小写字e个数55标点字符个数89中字符#(1)窗体加载时,反复通过33至126之间的随机数生成一个 ASCII字符,将其连接到文 本框Text1中,直到生成的字符为“ Z”时为止。(2)单击“生成Text2中字符”命令按钮时,反复通过33至126之间的随机数生成一个ASCII字符,将其连接到文本框Text2中,直到生成的字符已在 Text2中时为止。单击统计命令按钮时,将文本框T

12、ext1和Text2中的大写字母的总数、小写字母的总数、数字的总数和其它字符的总数信息显示在Picturel 中。11运行通过后用文件名 EX2-2分别保存窗体和工程。2.实验要求a)设置哪些属性使得文本框能够显示垂直滚动条?Scrollbars-2-verticalb)窗体加载时生成字符的代码需要写在哪个事件中?请写出具体的代码。Form_load ()Text1.Text =""Ran domizeDo Un til s = "Z"s = Chr(l nt(R nd * 94) + 33)TextI.Text = TextI.Text & s

13、Loopc) 写出生成Text2中字符的代码。Text2.Text =""Dos = Chr(l nt(R nd * 94) + 33)Text2.Text = Text2.Text & sLoop Un til In Str(Left(Text2.Text, Le n(Text2.Text) - 1), s) > 0d)写出统计字符的代码?描述代码中的难点。Dim Up %, Lw%, Nu%, Oth% s = TextI.Text & Text2.TextFor i = 1 To Len(s)Select Case Asc(Mid(s, i, 1

14、)Case 48 To 57Nu = Nu + 1 '"数字字符”Case 65 To 90Up = Up + 1 '"大写字母"Case Asc("a") To Asc("z")Lw = Lw + 1 '"小写字母"Case ElseOth = oth + 1 '"标点字符”End SelectNext iP icture1.ClsP icture1. PrintP icture1. Print"数字字符个数”;NuP icture1. Print&q

15、uot;大写字母个数"UpP icture1. Print"P icture1. Print"小写字母个数标点字符个数"Lw"Oth难点在于各类字符的识别。e)你编写代码的过程中有没有出现死机等问题,原因是什么?是怎么解决的?(三)设计如下图所示界面,并编码实现:1.利用迭代公式求一个数的立方根,界面如下图。求a的立方根的迭代公式为:XnH1 =Xn * 2/3 + a/(3* Xn * Xn )迭代到|Xn+-Xn|<0.00001时为止,并用求立方根的算术表达式进行比较。运行通过后用文 件名EXF06分别保存窗体和工程。a) 对求得的

16、根保留2位小数显示,以 EX2-3保存窗体和工程。口回冈呂的值为:Rs迭代法求立方根为:062表达式求立方根为.2. 622.实验要求a)求解过程中用到了哪些临时变量?定义为哪种数据类型比较合适?为什么? 单精度。足够精度。数值不大,且精度要求不是很高。b)求立方根的表达式是什么?If a >= 0 ThenText3 = Format(a 人(1 / 3), "0.00")ElseText3 = Format(-(-a)人(1 / 3), "0.00")End Ifc)写出用迭代法求立方根的循环语句,并对语句进行简单解释。Dim x0#, x1#

17、, a#a = Val(Textl)'初始值x0 = aIf a = 0 The nx1 = 0Elsex1 = x0 * 2 / 3 + a / (3 * x0 * x0)'如果输入不为0,才计算立方根End IfDo While Abs(x1 - x0) > 0.00001x0 = x1'迭代,根据旧值获得新值x1 = x0 * 2 / 3 + a / (3 * x0 * x0)'迭代,根据旧值获得新值Loop成绩评定:指导教师实验地点:课程名称:实验报告3 实验项目名称: 实验项目编号: 学生姓名: 学院: 实验时间_年_月_日 一、 实验目的实验项

18、目类型:学号:系专业:午月 日 午.掌握数组的声明、数组的赋值和数组元素的访问方法。正确地使用ReDim语句。掌握函数和子过程的定义和调用方法。理解形参和实参的作用以及关系。熟练运用数组类控件:组合框和列表框。理解参数传地址和传值的区别和使用方法。实验内容(一)按下面的要求对 Form1的Click事件编程,运行通过后用文件名EX3-1分别保存窗体和工程。要求功能为:1.随机产生2. 将数组a20个20以内的正整数存入数组 a中,并在窗体上显示;中相同的元素只保留第一个,其余的全部删除,并且要求同时改变数组的大小;3.将数组a中的元素依升序排列并显示在窗体上。4.实验要求a)本题

19、中数组a定义为静态数组还是动态数组呢?为什么?动态数组。需要改变数组大小b) 语句ReDim Preserve中Preserve的作用是什么?保留数组中原来的数据C) 描述删除重复元素的算法思路,写出删除重复元素的代码?从第二个元素起,依次判断前面有无出现重复元素。如果有,则将其后的元素都依次往前移动一个位置,覆盖重复元素。k = 1 '从第二个元素开始Do判断下标从0,1,.k-1的数组元素与下标为k的元素是否有重复DoRep eat = a(k) = a(i)与前面的某个元素重复If Rep eat The n 'a(k)右边的元素全部左移一位,即删除 a(k)'k

20、For j = k To UBou nd(a) - 1a(j) = a(j + 1)Next j'数组长度减1ReDim P reserve a(UBou nd(a) - 1)'当前位置k左移一位End IfLoop While i < k And Not Rep eat继续下一个数组元素Loop Un til k > UBou nd(a)d)删除重复元素时,有无出现错误?原因是什么,是怎么解决的?写出排序代码e)'冒泡法对a进行排序17For i = UBou nd(a) To 1 Ste p -1Forj = 0 Toi- 1If a(j) > a

21、(j + 1) Thenk = a(j) a(j) = a(j + 1) a(j + 1) = kEnd IfNext jNext i(二)最大公因数界面如下。以EX3-2分别保存窗体和工程。口回区2446求量天公因SI最大公因数为22.求最大公约数有两种方法:举例如下表:碾转相减碾转相除98- 63= 3598 mod 63 = 3563- 35= 2863 mod 35 = 2835-28= 735 mod 28 = 728-7= 2128 mod 7 = 021-7= 2121-7= 1414- 7 = 7n整除m则n就是最大3.两个整数的最大公因数的递归定义为:若使用碾转相除法,公因数

22、,即 GCD(m, n) = n ,否则 GCD(m, n) = GCD(n, m Mod n)。4.实验要求a) 对于函数GCD(m%, n%)将m和n使用地址传递和使用值传递时有什么不同?被调函数执行完毕后,主调过程中m和n的值有什么不同?实参与形参就断开联系, 被调函数执行完毕后,主如果是传值,则实参数据传递进函数后,调过程中m和n的值不会改变。;如果是传址,形参获得的是实参的内存地址,形参的改变 就是实参的改变。被调函数执行完毕后,主调过程中m和n的值会改变。b)对于递归过程而言需要跳出分支,若使用碾转相除法求最大公因数,使递归终止的 分支条件是什么?使用碾转相减法呢?碾转相除法 if

23、 m mod n=0 then GCD=n碾转相减法 if m - n=0 then GCD=nc) 写出GCD(m%, n%函数。Fu nction GCD%(m%, n%)If m = 0 Or n = 0 The n Exit FunctionIf m < n The n tmp = m: m = n: n = tmpIf m Mod n = 0 The nGCD = nElseGCD = GCD( n, m Mod n)End IfEnd Function(三)判断完数如果一个正整数等于它的1.按下面的要求编写程序判断一个正整数是否为完数: 所有因子之和,则它是完数,界面如下图所

24、示。冠Forl15不是完数是完数因于列表n因子列表2<T144. FotaI题目要求如下:a)b)c)d)为工程添加一个模块,命名为MyFunctions。在模块 MyFunctions 上编写一个函数 PositiveInt (s$) As Boolean 数时返回True,否则为False。在模块MyFunctions上编写一个求给定整数的所有因子(包括和的函数 SumFactor&(n%)。在文本框Text1中输入一个正整数,当按下,当s为正整1但不包括本身)之Enter键时调用函数 PositiveInt 。当Text1中的内容不是正整数时:用消息框给出相应提示;将焦点置

25、于Text1 ;选中Text1中的内容。否则,调用函数SumFactor求这个正整数的所有因子之和;如果它的所有因子之和等于其本身,则在标签Label1中输出“是完数”,否则输出“不是完数”。并将文本框中数的所有因子输出到组合框中。注意,应清除 上一次计算的结果。e)运行通过后用文件名EX3-3分别保存窗体工程。2.实验要求a)boolea n补充如下代码,完成Positivelnt函数的编写。特别注意函数参数和返回值的类型。Function P ositive In t(s ) As _If IsNumeric(s) And (Val(s) = Int(s)And Val(s) > 0

26、 Then Positivelnt=TrueEnd Function并回答以下问题:标识符PositiveInt在函数体内部是作为一个局部变量吗? 判断一个数a是正整数的条件是什么?用自然语言描述。大于0,且取整前后相等。 如果PositiveInt在函数体内部没有被赋值至少一次,会出现什么样的后果?函数没有返回值b)整个project中有几个模块,相互之间的关系是什么? 一个窗体,一个标准模块。属于同一个工程。c)补充函数SumFactor的代码。Fun ction SumFactor&(x%)SumFactor = 0For i = 1 To x - 1If x Mod i = 0

27、 ThenSumFactor = SumFactor + iForm1.Combo1.Addltem iEnd IfEnd Functiond)当窗体上文本框中内容不是正整数时,用MsgBox对话框提示并且选择Text1中的内容。写出选中 Text1中内容的3条语句:MsgBox "不是正整数”Text1.SetFocusText1.SelStart = 0Text1.SelLe ngth = Len (Text1.Text)e)往组合框中添加数据前是否要清空组合框,否则会有怎样的结果? 要。否则组合框中保留了其他数字的因子。#课程名称:实验报告4 实验项目名称: 实验项目编号: 学

28、生姓名: 学院:专业:实验时间_年_月_日 一、 实验目的午月 日 午成绩评疋: 指导教师_ 实验项目类型:实验地点:学号: 系211.掌握常用控件的常用属性、事件和方法。包括窗体、文本框、标签、命令按钮、组合框、列表框、单选按钮、复选框等。2.熟练合理使用不同的控制结构和函数过程。3.掌握数组的相关操作和常用算法,以及自定义数据类型数组的使用。4.掌握顺序文件的特点,掌握顺序文件的打开、读写和关闭的方法。掌握 和Input的使用。Line Input5.能够根据应用程序的需要读写脱机数据。6.掌握菜单的设计方法。实验内容(一)综合练习1.设计如下图所示界面的窗体。垦选课待选课列表序违计Tha

29、t 4shop團像处理A晦技济体经法眼机机机机色学媒民同币SS程计辜国含货计计计计煤编统祁理 系基原 学作学绪成理 祎操数网- 9 I 1 1 1 I 退出升序将左侧组合框设置为升序,当添加新的待选课程名称时自动放至合适的位置上。编写事件过程。a)当窗体加载时,分别从文件“待选课.txt”、“已选课.txt”中读取数据显示在左侧的组合框和右侧的列表框中。b)在左侧组合框中输入数据按回车键时,检查无重复后,添加新的待选课程名称至待选课列表框中。C)编写移动按钮事件:“>”:将选中的课程移至已选课列表中 “>> ”:将所有待选课程移至已选课列表中从已选课列表中删除选中的已选课程,

30、并将其移入待选课列表“<<”:从已选课列表中删除所有的已选课程,并将其移入待选课列表d)单击“退出”按钮时,分别将组合框和列表框中的数据保存至“待选课.txt ”和“已选课.txt ”文件中。e)编写SortASC和SortDSC过程对已选课列表框中的数据进行排序,在单击“升序”按钮时调用SortASC过程,并将按钮的标题修改为“降序”,反之亦然。f)以EX4-1保存窗体和工程。2.实验要求a)将左侧组合框设置为升序时,需要设置什么属性?该属性的设置能否用代码完 成,为什么?Sorted属性设置为true。不能,因为是只读属性请在下面空白处写出正b)添加新的待选课程名称到组合框时需

31、要检查有无重复, 确的代码。Private Sub Combo1_Ke yP ress(KeyAscii As In teger)If KeyAscii = 13 ThenFor i = 0 To Combol.ListCo unt - 1If Combo1.Text = Combo1. List(i) The n Exit ForNext iIf i = Combo1.ListCo unt The n Combo1.Addltem Combo1.TextEnd IfEnd Subc)“ > ”按钮单击事件中,如果没有选中任何待选课程,会出现什么样的情况?原因是什么?出错。因为没有选择项

32、,贝 yCombo1.Listin dex为-1,Combo1.List(-1)不存在,溢出。所以应设置选择结构,当选中项后,才将该项添加至右边列表框。d) 以下是对列表框数据进行升序排序的子过程SortASC,请完善。Sub SortASC(a As listbox )选择排序的子过程For i = 0 Tolistbox.listcount- 2For j = i + 1 To a. ListCou nt - 1If a.List(i) > a.List(j) ThenTmp= a丄ist(i)a.List(i)= a.List(i)a.List(j)=tmpEnd IfNext j

33、Next iEnd Sub(二)综合练习1.在窗体上放置一个文本框,并设计如下图所示菜单。(1)编写事件过程。a) “文件”“文件”-“打开”:打开应用程序所在目录的-“保存”:将文本框中内容保存至b)在读取或者保存数据时需要保存数据的格式,stude nt1.dat 文件。stude nt2.dat 文件。因此在处理文件中的数据时需要使用自定义数据类型的数组。数据文件中的数据类型StudTy pe定义如下:Private Type StudT ypeName As Stri ng * 3Sex As Stri ng * 1Age As In tegerEnd TypeDim s() As StudType 定义一个 StudType类型的动态数组(2)c)“格式”-“字体”:“格式”-“字号”:d)“排序”-“年龄”:“排序”-“性别”:增大或者减小字体大小。按照年龄进行升序或降序排序按照性别进行升序或降序排序。设置文本框中字体格式为“宋体”或者“隶书”要求在文本框中输出时对齐,如下图。#(3)回区综合练习综合练习00®EE鬧I 排序v_3 0 1

温馨提示

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

评论

0/150

提交评论