VB实验指导

时间:2024.4.9

《VB程序设计》实验指导书

20学时

实验一  VB集成环境及简单应用程序的建立

一、实验目的

1.掌握Visual Basic启动和退出的方法。

2.熟悉Visual Basic的集成开发环境。

3.掌握Visual Basic程序设计的基本步骤。

4. 掌握窗体的使用方法。

二、实验内容

1 启动Visual Basic,然后创建一个“标准 EXE”工程。了解Visual Basic集成开发环境下各组成部分及其作用。

【要求】

(1)在集成开发环境中分别寻找“窗体窗口”、“属性窗口”、“工程资源管理器”、“窗体布局窗口”、“工具箱窗口”,熟悉它们的默认位置。

(2)在“视图”或“工程资源管理器”中切换显示“代码窗口”和“窗体窗口”。

(3)在“视图”菜单中点击“立即窗口”,观察刚刚显示出来的“立即窗口”。

(4)尝试分别将各部分关闭,然后再用“视图”菜单中对应的菜单命令将其显示。

2 编写一个简单的应用程序。要求窗体的标题为“简单VB实验”;窗体中有一个标题为“显示”的按钮;单击该按钮后在窗体上显示蓝色的“江西农业大学”。

【步骤】

(1)设计应用程序的界面;

(2)设置对象的属性;

(3)编写事件代码;

(4)程序的运行及保存。

【提示】

在窗体上显示“江西农业大学”有两种方法:

(1)用Print方法:颜色应该设置窗体的前景色。

(2)用一个标签控件:颜色应该设置标签控件的前景色。

【思考】为什么在以上两种方法中在颜色的设置问题上有所不同?

    3 窗体无最大化和最小化按钮。在窗体装入时,在窗体的标题栏显示“装入窗体”,并在窗体上装入一幅图片作为背景;当用户单击窗体,在标题栏显示“鼠标单击”,在窗体上显示“单击窗体”;当用户双击窗体,在标题栏显示“鼠标双击”。去除窗体的背景图案,并显示“双击窗体”。参考书上例题[2-6]。

三、实验要求

1、做好实验预习,掌握,并熟悉本实验中所使用的VB6.0企业版环境及相应的控件。

2、写出实验报告,内容是:

1).程序的界面设计。

2).程序主要代码。

3).运行结果。

4).实验总结。

四、注意事项

1、注意VB集成开发环境各部分的应用和控件的使用。

2、注意VB程序编码方式及书写习惯。

实验二  VB常用控件的使用

一、实验目的

1.掌握基本控件(标签、命令按钮和文本框)的基本使用方法。

2. 掌握Visual Basic程序设计的基本步骤。

二、实验内容

1 利用标签做浮雕效果文字。参考书上例题[4-1]。

2编写一个应用程序,界面如图2-1所示。窗体中文字“VB应用程序!”为一标签控件,单击标题为“放大”的命令按钮,则“VB应用程序!”的字号放大一号,单击“缩小”按钮则反之;同时,窗体中还有4个含某种指向图案的按钮,若单击某个按钮,则使“VB应用程序!”向该按钮所指向的方向移动50Twip。

 

【提示】

四种指向的图案自行在网上搜索,也可以选择任意喜欢的图案替换。

实验三  Visual Basic语言基础

一、实验目的

(1)掌握Visual Basic的数据类型和变量定义方法。

(2)正确使用Visual Basic的运算符和表达式。

(3)掌握Visual Basic中数据输入、输出的方法。

(4)掌握Visual Basic常用函数的使用方法。

(5)学会用赋值语句构造简单的顺序结构程序。

二、实验内容
(实例1)  逻辑型数据的使用。

    Private  Sub  Form_click()

    Dim a as  Boolean,b as  Boolean

    Dim X  as  Integer,y  as  Integer

x  =  0

y = -2

a =  x

b =  y

Print a,b,x,y

a  =  True

b  =  FalSe

x  =  a

y=b

Print x,y,a,b

End Sub

(实例2)  日期型数据。

    Private Sub Form_click()

    Dim  a  as  Date,S  as  Date,d  as  Date

    Dim  f  as  Date,S1  as  Date,S2  as  Date

    a = #5/9/2002#

    s = #5/12/1999  12:30:15 PM#

    Print a,S

    End Sub

 (实例3)  求余数(模)运算符的使用。

Private  Sub  Form_cliCk()

Print 20 Mod 3

Print 20 Mod -3

Print -20 Mod 3

Print -20 Mod –3

End Sub

观察运行结果。

 (实例4)  关系运算符。

    Private Sub Form_click()

    Print  “abcde”  =  “abd”

    Print  “abcde”  >  “aba”

    Print  “BC”  >=  “ABCFF”

    Print  31  <  3

    Print  “34”  <  “3”

    Print  “abc”  <> “ABC”

    End Sub

 在比较时注意以下原则:

(1)如果两个操作数是数值型,则按其大小进行比较。

(2)如果两个操作数是字符型,则按字符的ASCⅡ码值从左到右一一比较,也就是说,先比较两个字符串中的第一个字符,其ASCⅡ码值大的字符串大,如果第一个字符相同,则比较第二个字符,依此类推,直到比出结果为止。

 (实例5)  算术运算函数的使用。

    Private  Sub  Form_cliCk()

    Print  Abs(-1.7), Log(12), Sqr(9)

    Print  Exp(3), Sin(30 * 3.1415926/180)

    Print  Int(-3.5), Fix(-3.5),Round(1.5), Round(1.512,2)

    End  Sub

题 假设有变量a=2,b=5,c=4,d=3,e=6,编写程序,计算表达式a+b>c and d*a=e的值,将结果打印在窗体上

答案:Private Sub Form_click()

Const a = 2

Const b = 5

Const c = 4

Const d = 3

Const e = 6

Print a + b > c And a * d = e

End Sub。

【提示】注意复合表达式的运算顺序。

【思考】复合表达式按什么样的顺序运算?

题 在文本框输入一个三位数据,单击窗体后,在窗体打印输出该数的个位数,十位数和百位数。(人民邮电出版社,第52页编程题第1题)

答案:Private Sub Command1_Click()

a = Text1

Text2 = Int(a - Int(a / 100) * 100 - Int((a - Int(a / 100) * 100) / 10) * 10)

End Sub

Private Sub Command2_Click()

a = Text1

Text3 = Int((a - Int(a / 100) * 100) / 10)

End Sub

Private Sub Command3_Click()

a = Text1

Text4 = Int(a / 100)

End Sub

Private Sub Command5_Click()

a = Text1

Text6 = Str(Text2) + Text3 + Text4

End Sub

题 随机生成一个三位正整数,将它顺序和逆序输出。例如,生成的随机三位整数是246,逆序则为642。(Text4、text3、text1值跟上面的一样)

答案:Private Sub Command1_Click()

a = Text1

Text1 = Str(Text4) + Text3 + Text2

End Sub

【提示】

1.把这个整数的个位,十位,百位单独求出来,然后进行个十百的连接。

2.利用字符串函数。

题 编程序,当单击窗体,在窗体上随机位置,随机输出一个大写的英文字母。(人民邮电出版社,第52页编程题第2题)

答案:Private Sub Form_click()

CurrentX = Form1.ScaleWidth * Rnd

CurrentY = Form1.ScaleWidth * Rnd

Print Chr(Int(Rnd * 26) + 65)

End Sub

题 编写一模拟简易计算器的程序,运行界面如图所示。(人民邮电出版社,第53页上机实验第3题)

答案:Private Sub Command1_Click()

Label1 = "+"

Text3 = Val(Text1) + Text2

End Sub

Private Sub Command2_Click()

Label1 = "-"

Text3 = Val(Text1) - Text2

End Sub

Private Sub Command3_Click()

Label1 = "*"

Text3 = Val(Text1) * Text2

End Sub

Private Sub Command4_Click()

Label1 = "/"

Text3 = Val(Text1) / Text2

End Sub

Private Sub Command5_Click()

Text1 = ""

Text2 = ""

Text3 = ""

End Sub

实验四  顺序结构程序设计

一、实验目的

1.掌握常量和变量、表达式的基本概念和正确书写格式。

2.掌握赋值语句和常用函数的正确使用方法。

3. 掌握输入、输出对话框(InputBox和MsgBox)的基本使用方法。

二、实验内容

1  已知三角形三条边a、b、c,从键盘输入其值(利用inputbox函数),编写程序,计算三角形的面积。

答案:Private Sub Form_click()

Dim a As Double, b As Double, c As Double, S As Double

a = Val(InputBox("a=?"))

b = Val(InputBox("b=?"))

c = Val(InputBox("c=?"))

x = (a + b + c) / 2

S = Sqr(x * (x - a) * (x - b) * (x - c))

Print "三角形的面积="; S

End Sub

2  编写程序,界面如图4-1所示。使得单击一次按钮可以产生一个[60,90]之间的随机数并显示在标签1上,再求出该数的正弦值,将结果写在标签2上。

【提示】

(1)使用Rnd函数产生随机数,注意,为了防止两次运行程序的随机数序列相同,调用Rnd之前先用Randomize语句进行初始化。

(2)产生某闭区间内的随机数的公式为:(上限-下限+1)*rnd+下限。

(3)求正弦值函数为:sin()。
答案:Private Sub Command1_Click()

Randomize

n = Rnd * 31 + 60

Label2 = n

Label4 = Sin(n)

End Sub

【思考】怎样产生一个[60,90]之间的随机数?

3 编写一个华氏温度F与摄氏温度C之间转换的应用程序,界面如图4-2所示。其中F与C之间的关系为:

答案:Private Sub Command1_Click()

F = Text1

C = ((F - 32) * 5) / 9

Text2 = C

End Sub

Private Sub Command2_Click()

C = Text2

F = 9 / 5 * C + 32

Text1 = F

End Sub

4 编写计算圆面积和球体积的程序,程序运行界面如图4-3所示。要求输出结果只保留四位小数;如果半径的输入不合法,例如含有非数值字符,应该用MsgBox报告输入错误,并在错误信息得到用户确认(点击MsgBox对话框上的“确定”按钮)之后,将输入焦点转移到输入半径的文本框中,且将当前的非法输入自动选定,反白显示。

答案:Private Sub Command1_Click()

Dim a As Double, S As Double, V As Double

Const PI# = 3.1415926

a = Val(Text1)

S = PI * a ^ 2

S = Fix(S * 10000 + 0.5) / 10000

V = 4 / 3 * PI * a ^ 3

V = Fix(V * 10000 + 0.5) / 10000

Text2 = S

Text3 = V

If Not IsNumeric(Text1) Then

MsgBox "输入错误, vbOKOnly"

Text2 = ""

Text3 = ""

Text1 = ""

Text1.SetFocus

End If

End Sub

【提示】

(1)判断输入值是否为数值类型可用函数IsNumeric();

(2)VB大部分数据类型之间在适当的时候会自动相互转换,此谓隐式转换。例如,文本框的Text属性为字符串类型,当用Text属性值直接参加算术运算时,Text属性值先会自动转换为数值类型,然后再参加算术运算。但是当Text属性值含有非数字字符时,会产生“类型不匹配”的运行时错误,因此有些情况下采用显示转换更为安全妥当。

当字符串类型向数值类型转换时用函数Val();而当数值类型向字符串类型转换时,可以用Str()函数或格式化函数Format()。

 

 

    

实验五  选择结构程序设计(一)

一、实验目的

1、掌握逻辑表达式及关系表达式的正确书写形式。

2、掌握IF语句单行和块书写格式及其正确使用(尤其注意ELSE 和ELSE IF)。

3、掌握多分支情况的控制(使用Select CASE语句)的使用及与多分支条件语句的区别。

二、实验内容

1 有函数:

写一个程序,输入x值后,则输出相应y值。要求用“If…ElseIf…EndIf”和用“Select Case”两种方法完成该题目。

答案:方法一:

Private Sub Form_click()

x = Val(InputBox("请输入x值", "数据输入框"))                         

If x < 1 Then                    

 y = x                          

 Print y

 ElseIf 1 <= x < 10 Then            

 y = 3 * x - 2

 Print y

Else: y = 4 * x - 12

Print y

End If

End Sub

方法二:Private Sub Form_click()

Dim x%, y%

x = Val(InputBox("请输入x值", "输入数据框"))

Select Case Val(x)

Case Is < 1

y = x

Case Is >= 10

y = 4 * x - 12

Case Else

 y = 3 * x - 10

End Select

MsgBox "y的值是" & Str(y)

End Sub

【提示】

注意区分1≤x<10和1<=x And x<10有什么不同。

2 编写一个判断给定坐标在第几象限的程序,界面如图5-1所示。

答案:Private Sub Command1_Click()

Dim x As Integer, y As Integer

x = Text1

y = Text2

If x > 0 And y > 0 Then

 Print "第一象限"

  ElseIf x > 0 And y < 0 Then

  Print "第四象限"

 ElseIf x < 0 And y < 0 Then

   Print "第三象限"

 Else

  Print "第二象限"

   End If

End Sub

实验六  选择结构程序设计(二)

一、实验目的

1、掌握逻辑表达式及关系表达式的正确书写形式。

2、掌握IF语句单行和块书写格式及其正确使用(尤其注意ELSE 和ELSE IF)。

3、掌握多分支情况的控制(使用Select CASE语句)的使用及与多分支条件语句的区别。

二、实验内容

1 设计一个猜数字游戏软件,点击出题按钮,产生一个10到99的随机数,然后在文本框中由用户输入数字,如果结果不对,应提示是大了,还是小了,否则提示正确。运行界面下图所示。(思考:如何限制用户猜数字的次数?)

三、注意事项

1、注意VB集成开发环境各部分的应用和控件的使用。

2、注意VB程序编码方式及书写习惯。

答案:Dim m As Integer

Private Sub Command1_Click()

   m = Int(Rnd * 90) + 10

    Command1.Enabled = False

    End Sub

Private Sub Command2_Click()

    If Val(Text1.Text) > m Then

        MsgBox "您猜的数字大了!加油加油!"

    ElseIf Val(Text1.Text) < m Then

        MsgBox "您猜的数字小了!加油加油!"

    Else

        MsgBox "恭喜,您猜的数字正确!"

    End If

    End Sub

Private Sub Command3_Click()

  Text1 = ""

End Sub

实验七  循环结构程序设计(一)

一、实验目的

1.掌握循环的基本概念。

2.掌握For循环。

3.掌握Do ... While循环和Do While ... Loop循环,注意区分两种循环。

4.了解Do ... Loop Until循环和Do Until ... Loop循环。

5.掌握如何利用循环条件来控制循环,防止死循环的出现。

二、实验内容

1编写一个程序,当程序运行时单击窗体后,用单循环在窗体上输出规则字符图形,如图4-1所示。

答案:Private Sub Form_click()

n=Int(Rnd*9)+1

For i = 1 To n

Print Tab(i - n - 1); String(i, "*")

Next i

End Sub

【提示】

使用String()函数,String()函数可以重复显示某个字符串。例如,String(4,"*")可以生成4个连续的“*”,即“****”。

2 编写程序,计算Sum=1+2+3+...,的值,直到Sum > 6000为止。

答案:Private Sub Form_click()

Dim S As Integer, I As Integer

n = Int((-1 + Sqr(1 + 48000)) / 2)

S = 0

For I = 1 To n

 S = S + I

 Next I

Print "S ="; S

      End Sub

3 计算的值,当第i项时结束。

运行不出答案:Private Sub Form1_click()

Dim s As single, i As Integer, t As single

i = 0: s = 0: t = 1

Do While t > 0.00001

s = s + 1 / t

i = i + 1

t = t * (i ^ 2)

Loop

Form1.Print "s="; s

End Sub


4使用双重循环,输出“九九乘法表”,如图4-3所示。

【提示】

(1)注意行号和该行乘法单元的个数之间的关系。

(2)注意乘法单元的规律:“4×3=12”中4为行号,3为列号,且列号不大于行号。

(3)乘号“×”可从汉字输入法软键盘菜单的“数学符号”中找到;或从Word中菜单【插入】->【符号】中找到,再从Word中剪切或复制到VB代码中。

(4)可以将窗体的AutoRedraw属性设为True,以防初始大小的窗体显示不下全部内容。

答案:Private Sub Picture1_Click()

For j = 1 To 9

For i = 1 To j

se = i & "*" & j & "=" & i * j

Picture1.Print Tab((i - 1) * 9); se;

Next i

Picture1.Print

Next j

    End Sub

实验八  循环结构程序设计(二)

一、实验目的

1.掌握循环的基本概念。

2.掌握For循环。

3.掌握Do ... While循环和Do While ... Loop循环,注意区分两种循环。

4.了解Do ... Loop Until循环和Do Until ... Loop循环。

5.掌握如何利用循环条件来控制循环,防止死循环的出现。

二、实验内容

1 输出如图5-1所示的图形。(没图)

【提示】

(1)注意观察图形的规律:第I行在输出时是m个空格+n个字符x,其中m、n、x均和I有关系。

(2)配合Print方法使用Spc(n)函数,其作用是产生n个连续的空格。

(3)使用Str()函数和Trim()函数。Str(f)函数是将数值f转换为相同形式的字符串;Trim(s)函数可将字符串s的最前和最后的空格(称为前导和后导空格,可为多个空格)剪切掉,字符串中的空格不受影响。当I为7时,Trim(Str(I))则是字符串"7"。

(4)结合(3),当I为1时, String(2*I+1,Trim(Str(I)))则生成字符串"111"。

2编写程序,用循环在窗体上实现图5-2的图形。

 


答案:Private Sub Form_click()

For i = 9 To -1 Step -1

Print Tab(9 - i); Tab(10 - i); String(i + 1, Trim(Val(i))); String(i, Trim(Val(i)))

Next i

End Sub

3显示所有的水仙花数。所谓水仙花数,就是指一个3位正整数,其各位数字的立方和等于该数本身。例如,,153即为水仙花数。

答案:Private Sub Form_click()

For n = 100 To 999

a = n \ 100

b = (n - 100 * a) \ 10

c = n Mod 10

If n = a ^ 3 + b ^ 3 + c ^ 3 Then

Print n

End If

Next n

End Sub

【提示】

本题目解法有两种:

(1)对3位数的各位数组合进行穷举:利用3重循环,将3个个位数组成一个3位数进行判断。例如,3位数的各位数从高位到低位依次为a、b、c,则对应的3位数为a*100+b*10+c。

(2)对所有3位数进行穷举:利用单循环对所有3位数进行穷举,循环内将一个3位数拆成3个个位数进行判断。例如,对s=678进行拆解时:个位数=s Mod 10;十位数=(s\10) Mod 10;百位数=s\100。当然,也可以将上述拆解过程写为一个循环(这时就是利用双重循环,内层循环即为拆解过程)。

实验九  数组及其应用(一)

一、实验目的

    1.掌握数组的基本概念。 

    2.掌握数组的声明、引用。

3.掌握静态数组和动态数组的区别。

4.掌握控件数组。

4.掌握如何利用数组解决与数组相关的常用算法(特别是排序算法)。

二、实验内容

1用数组保存随机产生的10个介于20到50之间的整数,求其中的最大数、最小数和平均值,然后将10个随机数和其最大数、最小数以及平均值显示在窗体上。

2随机产生10个介于0到100之间的整数,分别用选择法和冒泡法对其进行排序。

3用数组求得Fibonacci数列(1 1 2 3 5 8 13 21 34…)的前20项,并按照每行5个打印在图片框控件(PictureBox)中。Fibonacci数列数学描述式为:F(i)= F(i-2)+F(i-1)。

【提示】

为了便于控制,将打印内容打印到图片框中,例如,Picture1.Print " Hello!"。

实验十  数组及其应用(二)

一、实验目的

    1.掌握数组的基本概念。 

    2.掌握数组的声明、引用。

3.掌握静态数组和动态数组的区别。

4.掌握控件数组。

二、实验内容

1有矩阵A,用二维数组求其转置矩阵B。要求将两矩阵按照矩阵样式显示。

【提示】

所谓转置,即:b(i,j)=a(j,i)。

2 有3×4矩阵A,求其中值最大和值最小的那两个元素的值,以及它们所在的行号和列号。其中,

3 控件数组应用。参考书上习题(第页)第题。

更多相关推荐:
C语言实验指导及报告模板

语言程序江西理工大学设计1C附件1实验报告模板C语言程序设计实验报告实验一简单的C程序教学班级冶金136学号01姓名张博课程教师胡春安实验教师胡春安完成时间20xx20xx学年第1学期江西理工大学2实验一简单的...

行政案例方法与实例实验指导书

前言行政案例分析课程的首要特点是强调理论联系实际的学习方法要求学生运用已学的行政学基本理论对当前行政管理领域的重特大事件公共政策规范等进行分析剖析该事件或该公共政策的问题成因探讨解决该问题的可能途径丰富对该类社...

VC++实验指导书

VC程序设计实验指导书张位勇湖南工学院前言VisualC实验环境介绍一VisualC简介VisualC是Microsoft公司的VisualStudio开发工具箱中的一个C程序开发包VisualStudio提供...

Web技术实验指导书

Web技术实验指导书内容简介Web技术是计算机专业学生的一门专业课程着重讲述Web编程的技术方法对于学生从事Web系统的研发使用和维护有重要意义本课程概念多内容涉及面广系统性强通过本课程的学习学生应能从软件硬件...

C_sharp实验指导书

实验指导实验一VS20xx集成开发环境一实验目的熟悉VS20xx开发环境掌握如何在此环境下开发简单的NET应用程序以及调试程序的基本操作技巧二实验要求123熟悉VSNET环境按照C规范正确写源程序能得到正确的程...

设计性实验论文范例与书指导

设计性实验论文范例与书指导,内容附图。

设计性实验论文范例与书指导

设计性实验论文范例与书指导,内容附图。

数据结构实验指导书

数据结构实验教学大纲课程编号020xx3040课程学时学分603实验总学时10课程英文名称DataStructure课程类别技术基础课开出学期第四学期第六学期开出单位实验室信息学院教学机房制定人张丽霞讲师一制定...

数据库原理本科实验指导综合

数据库原理实验指导书数据库原理实验指导书实验一建立数据库一实验目的1了解SQLServer20xx2掌握SQLServer20xx数据库的建立和删除二实验内容1查看SQLServer20xx的所有组件2使用服务...

序号8-0914070030-12-20xx-20xx-01程序设计语言Ⅱ实验指导书

辽东学院自编教材程序设计语言实验指导书齐文编计算机科学与技术专业用辽东学院20xx年12月I目录C概论和输入输出1类和对象6派生类与继承12多态性16IO流与异常处理19面向对象程序设计方法与实例23I实验一实...

实验指导书《大型数据库(Oracle)》

大型数据库Oracle实验指导实验一Oracle安装与维护一实验目的1了解并掌握Oracle10的安装方法2了解并掌握测试安装好的Oracle10g的方法二实验内容及步骤1软件下载Oracle公司针对个人学习之...

数据结构实验指导书(广工)

数据结构作业和实验指导书数据结构课程组广东工业大学计算机学院20xx年3月目录第1章概述11课程教材和实验12作业和实验安排第2章算法设计实验和上机21数据结构习题概述22算法设计的上机作业要求23算法设计上机...

实验指导语(22篇)