VB程序设计实验要求及报告 5

上海立信会计学院本科实验报告

班级: 学号: 姓名: 指导教师: 系部: 专业: 实验时间:

实验5 数组

一、 实验目的

1. 掌握数组的声明、数组元素的引用

2. 掌握固定长度数组和动态数组的使用差别

二、实验要求

1. 在C:\下建立子文件夹“VB实验5”,按照题目要求,在该文件夹下为各题保存相应的文件,如本实验中的第一题,需保存的文件有:工程文件(51.vbp)、窗体文件(51.frm) 及可执行文件(51.exe),本实验中的第二题,需保存的文件有:工程文件(52.vbp)、窗体文件(52.frm) 及可执行文件(52.exe),其余实验依此类推。

2. 撰写实验过程中出现了哪些问题、错误,你是如何解决的,做一个小结。

三、 实验内容:

1. 随机产生30~100(包括30、100)的10个正整数,存放于数组中,显示该数组的值,并求出最大值、最小值和平均值,如图5-1所示。要求:窗体显示字体默认、大小为小三,通过单击窗体触发程序运行。

VB程序设计实验要求及报告5

图5-1

Private Sub Form_Click()

Dim a(9) As Integer, max%, min%, ave!

Randomize

max = 30: min = 100: ave = 0

For i = 0 To 9

a(i) = Int(Rnd * 71 + 30)

Print a(i);

ave = ave + a(i)

If a(i) > max Then max = a(i)

If a(i) < min Then min = a(i)

Next i

ave = ave / 10

Print

Print "Max="; max, "Min="; min, "Ave="; Format(ave, "0.0")

End Sub

2. 已知6个学生的成绩,通过Array函数对数组赋初值,利用String函数,以每5分用一

个“◆”符号显示,随后显示学生的成绩。要求:窗体中所有控件字体默认、大小为小四,计算结果在程序启动时立即在窗体中显示。效果如图5-2所示。

VB程序设计实验要求及报告5

图5-2

Private Sub Form_Load()

Dim Mark As Variant, i%

Form1.Show

Mark = Array(56, 78, 98, 88, 76, 78)

For i = LBound(Mark) To UBound(Mark)

Print String(Mark(i) \ 5, "◆"); Mark(i)

Print

Next i

End Sub

3. 随机产生20个学生的成绩(整数),统计各分数段人数。即0~59、60~69、70~79、

80~89、90~100,并显示结果,效果如图5-3所示。

要求:(1)单击按钮“产生并显示数据”按钮时,产生的数据在Picture1显示,单击“统计分数段人数”时,统计的结果在Picture2显示。

(2)学生成绩和统计结果分别放在两个不同的数组中。

(3)所有控件字体默认、大小为小四。

VB程序设计实验要求及报告5

图5-3

Dim mark(1 To 20) As Integer

Private Sub Command1_Click() Picture1.Cls

Dim i%, j%

Randomize

For i = 1 To 20

mark(i) = Int(Rnd * 101)

j = j + 1

Picture1.Print Tab((j - 1) * 6); mark(i); If j Mod 4 = 0 Then j = 0: Picture1.Print Next i

End Sub

Private Sub Command2_Click() Picture2.Cls

Dim s(5 To 9) As Integer, i%, k% For i = 1 To 20

k = mark(i) \ 10

Select Case k

Case 0 To 5

s(5) = s(5) + 1

Case 9 To 10

s(9) = s(9) + 1

Case 6 To 8

s(k) = s(k) + 1

End Select

Next i

For i = 5 To 9

If s(i) <> 0 Then

Picture2.Print "s("; i; ")"; "的人数有"; s(i); "个"

End If

Next i

End Sub

4. 通过单击相应按钮,产生原始数据和升降序排列这批数据,对应显示在标签框中,要求:

原始数据为随机产生10个2位数,用选择法升序排列这些数据,用冒泡法降序排列这些数据,窗体中字体默认、大小为小四。效果如图5-4所示。

VB程序设计实验要求及报告5

图5-4

Option Base 1

Dim a%(10)

Private Sub Command1_Click()

Dim i%

Randomize

Label1.Caption = ""

For i = 1 To 10

a(i) = Int(Rnd * 90 + 10)

Label1.Caption = Label1.Caption & " " & a(i)

Next i

End Sub

Private Sub Command2_Click()

Dim i%, j%, t%, Min%

Label2.Caption = ""

For i = 1 To 9

Min = i

For j = i + 1 To 10

If a(j) < a(Min) Then Min = j

Next j

t = a(i)

a(i) = a(Min)

a(Min) = t

Next i

For i = 1 To 10

Label2.Caption = Label2.Caption & " " & a(i)

Next i

End Sub

Private Sub Command3_Click()

Dim i%, j%, t%

Label3.Caption = ""

For i = 1 To 9

For j = i + 1 To 10

If a(j) > a(i) Then

t = a(i)

a(i) = a(j)

a(j) = t

End If

Next j

Next i

For i = 1 To 10

Label3.Caption = Label3.Caption & " " & a(i)

Next i

End Sub

5. 参照教材例5.3,在通用声明阶段声明两个数组,利用随机函数形成两个数组(A中元

素范围在30~70(包括30、70),B中元素范围在100~140(包括100、140)),如产生下列数组:

?58

?42?A??63

??6551615xxxxxxxxxxxx??135??61121?, B???11946???69??110102138114??131102124? 112125126??111134133?

要求:① 先产生A、B数组,然后以下三角形式显示A数组,以上三角形式显示B数组。 ② 显示A数组主对角线元素之和及B数组副对角线元素之和。

③ 点击相应的按钮结果在相应的图片框中显示,所有控件字体默认、大小为小四。 效果如图5-5所示。

VB程序设计实验要求及报告5

图5-5

Option Base 1

Dim a(4, 4) As Integer, b(4, 4) As Integer Private Sub Command1_click() Picture3.Cls

Dim i%, j%

For i = 1 To 4

For j = 1 To i

Picture3.Print a(i, j); Spc(1); Next j

Picture3.Print

Next i

End Sub

Private Sub Command2_click() Picture4.Cls

Dim i%, j%

For i = 1 To 4

For j = i To 4

Picture4.Print Tab(6 * (j - 1)); b(i, j); Next j

Picture4.Print

Next i

End Sub

Private Sub Command3_Click() Picture5.Cls

Dim sa%, sb%

sa = 0: sb = 0

For i = 1 To 4

sa = sa + a(i, i)

Next i

Picture5.Print "A数组主对角线元素和为: "; sa

For i = 1 To 4

j = 5 - i

sb = sb + b(i, j)

Next i

Picture5.Print "B数组副对角线元素和为: "; sb

End Sub

Private Sub Command4_Click()

Dim i%, j%

Picture1.Cls

For i = 1 To 4

For j = 1 To 4

a(i, j) = Int(Rnd * 41 + 30)

Picture1.Print a(i, j); Spc(1);

Next j

Picture1.Print

Next i

Picture2.Cls

For i = 1 To 4

For j = 1 To 4

b(i, j) = Int(Rnd * 41 + 100)

Picture2.Print b(i, j); Spc(1);

Next j

Picture2.Print

Next i

End Sub

四、 实验过程中的问题、错误,解决方法,总结、体会、建议。

 

第二篇:VB实验报告(含答案)

实  验  报  告

课程名称_程序设计基础Visual Basic_

班   级______            ______

姓  名_____                 ____


实验一 VB环境和创建一个简单的VB程序

一.实验目的:

1.了解VB系统对计算机软件、硬件的要求。

2.掌握启动和退出VB的方法。

3.了解和使用VB集成开发环境各窗口、菜单的一般功能。

4.熟悉建立、编辑、运行、保存一个简单的VB应用程序的全过程。

5.了解文本框、标签框、命令按钮的构造及其属性、事件和方法。

二.实验内容:

1.设计一个简单的应用程序,要求在窗体上画一个文本框、一个标签和两个命令按钮编一程序,并把命令按钮分别设置为”显示”和”清除”。程序运行后,单击”显示”按钮,在文本框中输出一行信息;单击”清除”按钮,则清除文本框中的内容,运行界面如图1.1所示。

图1.1 实验1-1  运行界面

三.实验结果:对象属性设置

四.实验思考:

1.标签label控件设置的属性代码有哪些?

Label1.Caption=“ 请输入姓名”

Label1.fontsize=24

Label1.fontbold=True

2.两个按钮所使用的是什么事件?代码分别是什么?

Private Sub Command1_Click()

Text1.text=“姓名”     

End Sub

Private Sub Command2_Click()

Text1.text=””

End Sub


实验二 简单程序设计数据类型及常用内部函数的简单应用

一.实验目的:

1.掌握Visual Basic数据类型的基本概念。

2.掌握用Visual Basic的各种运算符及表达式。

3.学习使用Visual Basic内部函数和数据输入、输出方法。

4.掌握命令按钮、文本框和标签。

5.设计顺序程序。

二.实验内容:

1.编写一个华氏温度和摄氏温度之间的转换程序,如图2-2所示,要求用inputbox函数输入华氏温度,用msgbox输出转换后的摄氏温度。转换公式是:C= 5 / 9(F - 32)。F为华氏温度,C为摄氏温度。

 2.用三种除法运算(/ 、\、Mod)做计算。

   要求:在窗体上画五个标签、五个文本框和一个命令按钮,如图2-2所示。程序运行后,在第一个文本框中输入被除数,在第二个文本框中输入除数,然后单击命令按钮,即可得到三种不同的相除结果。

图2-1   

图2-2

三.实验结果:对象属性设置

1.温度转换

2. 三种除法运算(/ 、\、Mod)做计算

四.实验思考:

1.温度转换中的Command1命令的单击事件的程序代码是什么?

Private Sub Command1_Click()

Dim C!,F!

F=val(inputbox(“输入华氏温度”))

C=5/9*(F-32)

Msgbox  “对应的摄氏温度为:”  &  C

End Sub

2. 用三种除法运算(/ 、\、Mod)做计算,说明三种除法的区别?

/:两个数相除

\:两个数整除

Mod:两个数相除,得余数

3. 三种除法运算(/ 、\、Mod)做计算,Command1命令的单击事件的程序代码是什么?

Private Sub Command1_Click()

Dim a!,b!

a=val(text1.text)

b= val(text2.text)

text3.text=a/b

text4.text=a\b

text5.text=a mod b

End Sub


实验三 选择程序设计

一.实验目的:

1.掌握单分支与双分支条件语句的使用。

2.掌握多分支条件语句(If … Then … ElseIf)的使用。

3.掌握Select Case语句的使用及与多分支条件语句的区别。

4.熟练掌握时间过程的编写方法。

二.实验内容:

1.设计一个模拟简易计算器的程序,界面如图3-1所示。要求:①输入两个操作数和一个操作符,根据操作符决定所进行的计算;②如果除数为0,用msgbox提示出错信息;③用if语句和selecet case语句两种结构实现。

2.通过单选按钮和复选框控制文字的显示,程序窗口如图3-2所示。

  

                                       

 图3-1

图3-2

三.实验结果:对象属性设置

1.模拟简易计算器

2.单选框与复选框

四.实验思考:

1. 模拟简易计算器Command1命令的单击事件的程序代码是什么?

Private Sub Command1_Click()

Dim a!, b!

Dim c As String

a = Val(Text1.Text)

b = Val(Text3.Text)

c = Text2.Text

Select Case c

     Case “+”

 Text4.Text = a + b

     Case “-”

 Text4.Text = a - b

     Case “*”

 Text4.Text = a * b

     Case “/”

If b = 0 Then

           MsgBox “除数为0.”

Else

Text4.Text = a / b

End If

   End Select

End Sub

2. 模拟简易计算器Command2命令的单击事件的程序代码是什么?

Private Sub Command1_Click()

Dim a!, b!

Dim c As String

a = Val(Text1.Text)

b = Val(Text3.Text)

c = Text2.Text

If c = “+” Then

    Text4.Text = a + b

ElseIf c = “-” Then

     Text4.Text = a - b

ElseIf c = “*” Then

    Text4.Text = a * b

ElseIf c = “/” Then

If b = 0 Then

         MsgBox “除数为0”

     else

       Text4.Text = a / b

    End If

 End If

End Sub

3. 通过单选按钮和复选框控制文字的显示,Command1命令的单击事件的程序代码是什么

Private Sub Command1_Click()

If Option1.Value = True Then

     Label1.FontName = “宋体”

ElseIf Option2.Value = True Then

      Label1.FontName = “华文仿宋”

  ElseIf Option3.Value = True Then

        Label1.FontName = “黑体”

 Else

        Label1.FontName = “楷体_GB2312”

End If

If Option5.Value = True Then

   Label1.FontSize = 24

ElseIf Option6.Value = True Then

     Label1.FontSize = 16

Else

      Label1.FontSize = 8

End If

If Check1.Value = 1 Then

 Label1.FontBold = True

Else

 Label1.FontBold = False

End If

If Check2.Value = 1 Then

 Label1.FontItalic = True

Else

 Label1.FontItalic = False

End If

If Check3.Value = 1 Then

 Label1.FontUnderline = True

Else

 Label1.FontUnderline = False

End If

If Check4.Value = 1 Then

 Label1.FontStrikethru = True

Else

 Label1.FontStrikethru = False

End If

End Sub

实验四  循环程序设计

一.实验目的:

1.理解循环程序设计的特点。

2.掌握常用的循环语句。

3.掌握常用的循环算法。

4.掌握图片框、图像框和计时器。

二.实验内容:

1.求

2.设计一条滚动的广告字幕。

三.实验结果:对象属性设置

1. 求和结果要求窗体载入时直接显示,设置窗体的某个属性。

2. 滚动字幕。

四.实验思考:

1.求和的窗体载入事件的程序代码是什么?

Private Sub Form_Load()

   Dim k%, s!

s = 0

For k = 1 To 100

  s = s + 1 / k

Next k

For k = 1 To 50

  s = s + k

Next k

Print s

End Sub

2.滚动字幕的触发时钟控件的程序代码是什么?。

Private Sub Timer1_Timer()

If Label1.Left > Form1.Width Then

   Label1.Left = 0

Else

  Label1.Left = Label1.Left + 100

End If

End Sub


实验五  数组程序设计

一.实验目的:

1.熟练掌握固定数组。

2.掌握动态数组。

3.掌握列表框和组合框。

4.了解直线控件和形状控件。

二.实验内容:

1.设计一个程序,找出数组中的最大值、最小值,并计算所有元素的平均值。在列表框中随机产生10个100到200之间的整数,在文本框中显示结果信息。界面如图5-1所示。

图5-1   窗体界面

三.实验结果:对象属性设置

四.实验思考:

1.数组应在过程内还是过程外定义,定义的语句是什么?

过程外定义

Dim a(10) As Integer

2.在窗体载入时,在列表框中随机产生10个整数,则程序代码是什么?

Private Sub Form_Load()

Dim i%

For i = 1 To 10

  a(i) = Int(Rnd * 101 + 100)

  List1.AddItem a(i)

Next i

End Sub

3.单击命令按钮,在文本框中显示结果信息,则程序代码是什么?

Private Sub Command1_Click()

Dim i As Integer, max%, min%, avg!

max = a(1)

min = a(1)

avg = 0

For i = 1 To 10

   If max < a(i) Then max = a(i)

   If min > a(i) Then min = a(i)

   avg = avg + a(i)

Next i

avg = avg / 10

Text1.Text = max

Text2.Text = min

Text3.Text = avg

End Sub


实验六  过程程序设计

一.实验目的:

1.掌握子过程的定义和调用方法。

2.掌握函数过程的定义和调用方法。

3.理解作用域和生存期。

4. 掌握滚动条。

二.实验内容:

1.写两个函数,分别求两个数的最大公约数和最小公倍数,编写子过程求最大公约数,函数过程求最小公倍数。要求从文本框中输入两个数。界面如图6-1所示。

图6-1

2.设计一个用滚动条改变图片背景色的程序。界面如图6-2所示

图6-2

三.实验结果:对象属性设置

1.结果要求单击命令按钮分别显示,设置对象的属性。

2.设置滚动条主要属性值。

四.实验思考:

1.单击子过程命令按钮,在文本框Text3中显示结果信息,子过程的程序代码是什么?

Private Sub Command1_Click()

   Dim m As Integer, n As Integer, r As Integer

   m = Text1.Text

   n = Text2.Text

   If m < n Then

     t = m: m = n: n = t

   End If

   Call gys(m, n, r)

   Text3.Text = r

End Sub

Private Sub gys(ByVal m%, ByVal n%, r%)

r = m Mod n

Do While r <> 0

  m = n

  n = r

  r = m Mod n

Loop

r = n

End Sub

2.单击函数过程命令按钮,在文本框Text4中显示结果信息,函数过程的程序代码是什么?

Private Sub Command2_Click()

Dim m As Integer, n As Integer, p As Integer

    m = Text1.Text

    n = Text2.Text

    p = m * n

    If m < n Then

      t = m: m = n: n = t

    End If

    p = p / gbs(m, n)

    Text4.Text = p

End Sub

Private Function gbs(m As Integer, n As Integer) As Integer

 Dim r As Integer

 r = m Mod n

Do While r <> 0

  m = n

  n = r

  r = m Mod n

Loop

gbs = n

End Function

3. 拖动滚动条的滑块,可改变图片控件的背景颜色,三个滚动条的程序代码相似,请写出HScroll1的事件过程。

Dim r As Integer, g As Integer, b As Integer

Private Sub HScroll1_Change()

r = HScroll1.Value

g = HScroll2.Value

b = HScroll3.Value

Text1.BackColor = RGB(r, g, b)

End Sub

实验七  界面设计

一.实验目的:

1.掌握多窗体程序设计的方法。

2.掌握下拉式菜单。

3.了解通用对话框。

二.实验内容:

1.编写密码登录系统。在窗体1输入用户名和密码,如果密码正确就弹出第二个窗体,第二个窗体自

  行设计操作内容;如果密码不正确,弹出信息框,显示”用户名或密码错误,请重新输入”,回到

窗体1继续输入用户名和密码。密码输入有三次机会,超过三次就弹出第三个窗口,显示”对不起,
你不能使用该系统!”(注:凡是文字提示内容可自行设计,不要求与题目一样。三个窗体界面可参照图7-1  图7-2 图7-3所示。)

图7-1

图7-2


图7-3

    2.利用通用对话框设计一个简单的文本编辑器,具有打开、保存、字体、颜色功能。要求用菜单实现,

有”文件”和”格式”两个菜单,”文件”菜单下包含”打开”、”保存”和”退出”三项。”格式”

菜单下包含”字体”和”颜色”两项,打开文件显示在文本框中。(窗体界面可参照图7-4 所示。)

图7-4

三.实验结果:对象属性设置

1.设置三个窗体的控件及其属性。

2.设置窗体控件及属性值。

四.实验思考:

1.下列程序为实验内容1的部分程序代码,单击确定命令按钮的程序代码是什么?

Private Sub Form_Load()

    Text2.PasswordChar = “*”

    Text2.Text = ““

    Text1.Text = ““

End Sub

Private Sub Command1_Click()

Static i As Integer

i = i + 1

If i >= 3 Then

   Form1.Hide

   Form3.Show

   Exit Sub

End If

If Text1.Text = “abc” And Text2.Text = “123” Then

   Form1.Hide

   Form2.Show

Else

   MsgBox “用户名或密码错误,请重新输入”

    Text2.Text = ““

    Text1.Text = ““

Text1.setfoucs

End if

End Sub

相关推荐