1、 1 课程名称 : 实验报告 1 成绩评定 : 实验项目名称 : 指导教师 实验项目编号 : 实验项目类型 : 实验地点 : 学生姓名 : 学号 : 学院 : 系 专业 : 实 验时间 年 月 日 午 月 日 午 一、 实验目的 1. 熟悉 VB 编程环境,能够建立、编译和运行 VB 程序。 2. 掌握窗体、标签、文本框、命令按钮、图形框的作用、常用属性、事件和方法。 3. 理解并掌握赋值语句、掌握表达式的书写规则。 4. 掌握使用 Inputbox 函数和 MsgBox 消息函数进行输入输出。 5. 熟悉 VB 的数据类型和类型转换。 二、 实验内容 (一 ) 字幕滚动 1. 设计如下图所示
2、的界面实现字幕从上到下进行滚动,“欢迎使用 VB”是一个字幕标签,两个命令按钮分别实现自动滚动和手动滚动。 a) 在窗体水平居中的地方放置一个标签 。 b) 当字幕向下移出窗体时,重新从窗体顶端开始继续往下移动。 c) 单击“手动”按钮一次字幕将向下移动一下,单击“自动”按钮字幕将连续移动,具体移动的速度或幅度、窗体和按钮上的图片由自己设定。 d) 以 EX1-1 分别保存窗体和工程。 2. 实验要求 a) 对于标签应对其什么属性设置什么值才能够使窗体的背景不被遮挡? Backstyle-1 b) 使标签在窗体中水平居中需要设置什么属性,如何设置?设置的依据是什么? label1.Left -
3、form1.width/2-label1.width/2 2 c) 要想在命令按钮上显 示图片,需要设置哪些属性,如何设置? Style -1 d) 写出标签从上往下移动的代码,注意,当标签移出窗体后要从窗体 上 顶端开始继续往下。 Label1.Move Label1.Left, Label1.Top + 50 If Label1.Top Form1.Height Then Label1.Top = 0 e) 要使 Timer 控件启用,必须设置哪两个属性,属性值设置为多少? Timer1.Interval=100 Timer1.enabled=true f) 单击 “手动”按钮时,如何使
4、Timer 控件停用?需要在什么地方编写代码?请写出代码? Timer1.Interval=0 或 Timer1.enabled=false (二 ) 打开 教材 实验 材料 中工 程文 件EXA05.vbp,完成下面的任务。 1观察窗体上分别有哪些类的控件,根据观察结果制作下表,表格行数视情况而定 。以 EX1-2 保存窗体和工程。 控件类 控件名称 2 启动程序,右图为启动之后的初始界面。回答下面的问题: List1 中为什么会被添加了两项内容? 启动后,窗体从无到有,大小发 生改变 form_resize 焦点放置在文本框内,触发 text1_gotfocus 单击按钮 Command1
5、, List1 中又被添加了 1 项什么内容? 单击了命令按钮 Command1 拖拽窗体的右下角改变窗体的大小, List1 中又被添加了什么内容? 窗体 Form1 的大小改变 3 3 关闭程序,写出你对该程序功能的理解。 通过在各个控件的一些事件里编写代码,当操作或系统触发事件,可将所有的操作记录下来。 (三 ) BMI 计算。 1. 编写一个计算人的身体质量指数 BMI 的程序,计算公式为 BMI 等于体重(千克)除以身高(米)的平方,计算结果按四舍五入保留 2 位小数。运行时的界面如下图所示。 a) 设计如图所示界面,两个文本框用于输入体重和身高。 b) 点击“计算”按钮或者在文本框
6、中输入回车时,计算 BMI 的值。 c) 当计算完成时将当前时间的 BMI 值打印在图形框,如果输入错误使用 MsgBox 弹出对话框提示输入错误。 d) 窗体大小设置为固定大小,窗体的标题显示系统当前的时间,使用计时器每隔 1秒钟更新 Form 的 Caption。以 EX1-3 保存窗体和工程。 2. 实验要求 a) 该程序的计算用到了哪些变量,作用分别是什么?需要在什么地方定义这些变量,请写 出这些变量的定义,并注明变量的作用。 窗体通用程序段或 ” 计算 ” 按钮的 click 事件内 声明 ,两个变量用于保存文本框内输入的数值。一个变量用于保存 bmi b) 进行 BMI 计算的表达
7、式是什么,使用自己定义的变量来表示。 a = Val(Text1.Text) b = Val(Text2.Text) bmi = a / (b / 100) 2) c) BMI 计算的结果保留 2 位小数打印在 PictureBox 图形框中,请写出具体的 Print语句。 Picture1.Print Now Nu Picture1.Print “大写字母个数 “; Up Picture1.Print “小写字母个数 “; Lw Picture1.Print “标点字符个数 “; Oth 难点在于各类字符的识别。 e) 你编写代码的过程中有没有出现死机等问题,原因是什么?是怎么解决的? (三
8、 ) 设计如下图所示界面,并编码实现: 1. 利用迭代公式求一个数的立方根,界面如下图。求 a 的立方根的迭代公式为: )*3/(3/2*1 nnnn xxaxx 迭代到 | n1n x-x |= 0 Then Text3 = Format(a (1 / 3), “0.00“) Else Text3 = Format(-(-a) (1 / 3), “0.00“) End If c) 写出用迭代法求立方根的循环语句,并对语句进行简单解释。 Dim x0#, x1#, a# a = Val(Text1) x0 = a 初始值 If a = 0 Then x1 = 0 Else x1 = x0 *
9、2 / 3 + a / (3 * x0 * x0) 如果输入不为 0,才计算立方根 End If Do While Abs(x1 - x0) 0.00001 x0 = x1 迭代 ,根据 旧值获得新值 x1 = x0 * 2 / 3 + a / (3 * x0 * x0) 迭代 ,根据 旧值获得新值 Loop 10 课程名称 : 实验报告 3 成绩评定 : 实验项目名称 : 指导教师 实验项目编号 : 实验项目类型 : 实验地点 : 学生姓名 : 学号 : 学院 : 系 专业 : 实验时间 年 月 日 午 月 日 午 一、 实验目的 1. 掌握数组的声明、数组的赋值和数组元素的访 问方法。正确
10、地使用 ReDim 语句。 2. 掌握函数和子过程的定义和调用方法。理解形参和实参的作用以及关系。 3. 熟练运用数组类控件:组合框和列表框。 4. 理解参数传地址和传值的区别和使用方法。 二、 实验内容 (一 ) 按下面的要求对 Form1 的 Click 事件编程,运行通过后用文件名 EX3-1 分别保存窗体和工程。要求功能为: 1. 随机产生 20 个 20 以内的正整数存入数组 a 中,并在窗体上显示; 2. 将数组 a 中相同的元素只保留第一个,其余的全部删除,并且要求同时改变数组 a的大小; 3. 将数组 a 中的元素依升序排列并显示在窗体上。 4. 实验要求 a) 本题中数 组 a 定义为静态数组还是动态数组呢?为什么? 动态数组。需要改变数组大小 b) 语句 ReDim Preserve 中 Preserve 的作用是什么? 保留数组中原来的数据 c) 描述删除重复元素的算法思路,写出删除重复元素的代码? 从第二个元素起,依次判断前面有无出现重复元素。如果有,则将其后的元素都依次往前移动一个位置,覆盖重复元素。 k = 1 从第二个元素开始 Do 判断下标从 0,1,.k-1 的数组元素与下标为 k 的元素是否有重复