
实验2 程序设计的基本知识
实验目的
(1)掌握数据类型、表达式以及赋值语句的书写规则。
(2)掌握InputBox和MsgBox的使用方法。
(3)掌握Print方法以及与之相关的函数的使用方法。
(4)理解顺序结构程序的编写。
实验内容
【实验2.1】
编写一个应用程序,初始界面如图1-2-1所示。程序运行时,单击“开始”按钮,弹出图1-2-2所示的对话框,要求用户输入一个任意的角度值,单击“确定”按钮后程序根据输入的数据把相关的三角函数值按一定的格式输出到窗体上。程序的运行结果如图1-2-3所示。

图1-2-1 实验2.1的程序初始界面

图1-2-2 “角度输入”对话框

图1-2-3 实验2.1的运行结果
实验步骤如下。
(1)启动Visual Basic 6.0后,创建一个“标准EXE”应用程序,进入程序编辑状态。
(2)修改窗体的尺寸,并把窗体的Caption属性值设为“三角函数计算”,再向窗体Form1中增加一个命令按钮控件(Command1),并将其Caption属性设为“开始”。
(3)双击命令按钮Command1,进入代码编辑窗口。编写Command1的单击事件过程如下。
Private Sub Command1_Click() Dim x As Single, a As Single x = Val(InputBox("请输入一角度的度数值", "角度输入")) a = 3.1415926 / 180 * x '将度数转换为弧度 Print Print Tab(4); "角度"; Tab(14); "弧度"; Tab(28); "Sin(x)" '输出表头 Print Tab(4); Format(x, "###.0"); Tab(14); _ Format(a, "0.0000"); Tab(28); Format(Sin(a), "0.0000") '续行,输出计算结果 End Sub
(4)输入以上程序后,单击工具栏中的启动按钮或按F5键运行程序。如果程序编写正确,单击“开始”按钮后,就会出现图1-2-2所示的输入数据提示框。输入数据后,单击“确定”按钮,便得到图1-2-3所示的结果。若要结束程序的运行,可以单击工具栏上的结束运行按钮
。
注意事项如下。
(1)在输入程序时,要特别注意程序中起分界符作用的括号、双引号、分号、逗号等均必须使用西文符号。一般情况下,中文字符(包括中文标点符号)只能用于给字符串或对象名赋值。
(2)InputBox函数的返回值类型是字符型,所以在程序中用Val函数将其转换为数值型数据后,再赋值给变量a。
(3)Visual Basic中所有的三角函数的参数(自变量)均要求使用弧度值,不能直接用度数代入计算。
(4)如果某条语句太长,可以使用续行符“_”(一个空格紧跟一下画线)将其分为多行书写。
(5)Print语句与Tab、Format函数联合使用可以使得输出的数据整齐美观,在调试程序时,可以比较一下不使用这两个函数的输出效果。
【实验2.2】
利用InputBox输入圆的长度半径r,计算并显示圆的周长。
实验步骤如下。
(1)建立一个新工程,在窗体上添加1个命令按钮,并参考图1-2-4所示设置有关对象的属性。

图1-2-4 实验2.2的窗体设计图
(2)编写命令按钮Command1的Click事件(计算圆的周长)过程代码。
Private Sub Command1_Click() Const pi = 3.14159 Dim r As Single, s As String, s2 As String Dim perimeter As Single s = InputBox("请输入半径", "输入半径", 1) r = Val(s) perimeter = 2 * pi * r s2 = "半径=" + s + ",圆的周长=" + Str(perimeter) MsgBox s2, 64, "确认窗口" End Sub
(3)调试、运行程序,其运行效果如图1-2-5所示。

图1-2-5 运行结果
【实验2.3】
创建一个应用程序,其用户登录界面如图1-2-6所示,要求用户输入姓名。当用户输入姓名,并单击“确定”按钮后,系统会弹出图1-2-7所示的欢迎界面。

图1-2-6 应用程序界面

图1-2-7 实验2.3的程序运行结果
实验步骤如下。
(1)建立一个新工程,在窗体上添加2个标签、1个文本框和1个命令按钮,并参考图1-2-6所示设置有关对象的属性。
(2)双击窗体进入代码编辑窗口,编写窗体装载事件过程。
Private Sub Form_Load() Text1.Text = "" End Sub
该过程的作用是程序开始运行时,首先清空文本框中的文字,便于用户输入。
(3)编写命令按钮Command1的单击事件过程。
Private Sub Command1_Click() MsgBox Text1.Text & "您好!", vbOKOnly, "登录成功" End Sub
(4)调试、运行程序,其运行结果如图1-2-7所示。
注意事项如下。
(1)消息框MsgBox常用于在程序运行过程中显示一些提示性的消息。它有两种用法:语句方式和函数方式,上述程序中使用的是语句方式,如果使用函数方式,则应写成。
Dim a As Integer a = MsgBox("欢迎你:" & Text1.Text & "同学!", vbOKOnly, "实验2.3")
(2)程序运行时,当用户单击“确定”按钮后,变量a得到整型值1。使用语句方式时,没有返回值。
【实验2.4】
利用InputBox输入三角形三条边的长度a、b、c,计算并显示三角形的面积。计算三角形面积的公式如下。
其中s=(a+b+c)/2
实验步骤如下。
(1)建立一个新工程,可适当调整窗体的大小,但不添加任何控件,将窗体的Caption属性设置为“三角形面积计算”。
(2)双击窗体进入程序代码编辑窗口,编写窗体的单击事件过程如下。
Private Sub Form_Click() Dim a As Single, b As Single, c As Single Dim s As Single, area As Single a = Val(InputBox("请输入边长a:")) b = Val(InputBox("请输入边长b:")) c = Val(InputBox("请输入边长c:")) s = (a + b + c) / 2 area = Sqr(s * (s - a) * (s - b) * (s - c)) Print Tab(5); "a"; Tab(13); "b"; Tab(21); "c"; Tab(29); "area" Print Tab(4); a; Tab(12); b; Tab(20); c; Tab(28); area End Sub
注意事项如下。
(1)在书写数学表达式时,乘号“*”一定不能省略。
(2)注意程序中两条Print语句的区别,前一句是输出字符串本身,后一句是输出变量的值。