一、实验目的
1.掌握 Visual Basic 的基本数据类型以及变量和常量的使用。
2.学会使用选择和循环等语句编写应用程序。
3.学会使用一些常用的标准函数。
4.学会使用数组解决与数组相关的问题。
二、实验准备
1.熟悉 Visual Basic 集成开发环境。
2.了解变量和常量的定义与引用方法。
3.了解数组的声明和数组元素的引用。
4.了解 Print 方法在窗体上输出变量和常量的用法。
5.了解程序设计的三种基本结构,学会使用 If、Select Case、For、Do 等语句控制程序结构。
三、实验内容及步骤
Print i1 ^ 2 + Sqr(a2) + s3 '语句中的 Sqr()函数是求平方根函数 Print i1 & a2 & s3 '此语句中的&与各变量之间一定要有空格 End Sub
在当前的 Form1 窗体中输入以上代码。 运行时单击 Form1 窗体, 窗体上会出现什么数据?
提示:Date 和 Time 分别是获取当前系统日期和时间的函数;Rnd 为产生(0,1)之间随机数
(任意的一个数) 的函数; Int 是取整函数, Int((20 10 + 1) * Rnd + 10)的功能是产生一个[10,20]
之间的随机整数。
2.以下程序的功能是从键盘输入 x、y、z 三个整数,求 其中的最大值并以消息框显示出来,运行界面如图 15.1 所示。
Private Sub Form_Click()
Dim x As Integer, y As Integer, z As Integer
Dim max As Integer ' max 用于存放最大值 ' 以下三个语句用于从键盘输入 x、y、z 的值
x = InputBox ("输入整数 x:", "输入") y = _________("输入整数 y:", "输入") z =_________ ("输入整数 z:", "输入")
图 15.1 运行时的消息框界面
' 以下 If 语句用于求 x、y、z 中的最大者,并存放到 max 中 数据并返回所输入的内容。 其格式为 InputBox(prompt[, title][, default][, xpos, ypos][, helpfile,
context])。
(2)End Sub 语句上面的那条语句中的&与各变量之间一定要有空格。
3.某运输公司的运费计算标准如下:运输 1 吨货物且距离为 50 公里以下时,收费 1 元/
公里;距离为 50 公里以上时,超过部分加收 0.1 元/公里;距 离超过 1000 公里时,按上述收费标准打 0.95 折。试计算某 人将 t 吨货物运输 s 公里,应收多少运费?
要求使用 Select Case 语句实现, 运行界面如图 15.2 所示。
提示: (1)运输距离与货物重量通过文本框输入,使用 Val(<字符串表达式>)函数将<字符串表达式>转换为数字,例 如 Val("10xy")的返回值是数值 10。
(2)Case 引导的表达式用 To 关键字确定范围,例如 Case 1 To 50 表示运输距离为 50 公里以下。 Dim a(3) As Single
For i = 0 To 3
图 15.2 运费计算的运行界面
a(i) = InputBox("输入" & i & "的值")
7.在数组 a 中存放 10 个数:20、32、13、4、78、94、43、6、57、 86,求最小值。要 求数据在程序运行过程中通过键盘输入,运行结果由消息框给出。
8.在标题为“打印图案” 、背景色为黄色的窗体上设置一个标题为“开始” 、命名为 Command1 的按钮;再设置一个文本框(命名为 Text1)用于接收输入。运行时,在文本框中 输入一个表示行数的整数 n,单击“开始”按钮,先判断 n 是否为正整数,若是,则在窗体上
提示: ① String(number,character) 函数返回 number 个 character 代表的字符串的首字符组 成的字符串,例如 String(3,"abc") 的返回值是“aaa” 。
② Str(number)函数将数值 number 转换成字符串,通常正数前面会加入一个前导空格,如 str(5)的返回值是“5” ,str(5)的返回值是“5” 。
③ Trim(character) 函数将字符串的前导空格和尾随空格去掉,例如:Trim("abc")的返回 值是“abc” 。
④ Print 方法中的 Tab(ni)是指后面的输出项定位从 ni 列开始。
(2)程序运行时,分别在文本框中输入 6 和4,分析程序的运行结果。
(3)程序运行正确后,在下列横线处填入适当的内容。
① 窗体的 属性设为“打印图案” 。
② 窗体的 属性设为黄色。
③ 窗体的 属性设为红色。
四、实验思考
1.怎样设置对象属性?
2.窗体中相应单击的事件名是不是窗体名_Click?