VB上机练习题

2018-11-13 19:44

1.新建工程,界面如下图,将窗体名称改为f1,标题属性为“我的第一个工程”, Text2允许多行,三个命令按钮名称分别为C1、C2、C3,单击C1按钮将Text1的字体改为黑体,Text2的字体改为隶书。 单击C2按钮将Text1的文字颜色改为红色,Text2的背景颜色改为蓝色。单击C3按钮结束程序运行。

Text1

Text2

Private Sub Command1_Click()

Text1.Font = 黑体

End Sub

Private Sub Command2_Click() Text1.ForeColor = vbRed

Text2.ForeColor = vbBlue End Sub

Private Sub Command3_Click() End End Sub

2.新建工程,界面如上图,运行时,鼠标在“改变窗体颜色”按钮上按下时使窗体背景色变为红色,鼠标抬起时使窗体背景色变为绿色。鼠标在窗体空白地方按下时使Text1的内容为“在窗体上按下了鼠标”,鼠标抬起时使Text1的内容为“在窗体上抬起了鼠标”。

Private Sub Command1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)

Form1.BackColor = vbRed End Sub

Private Sub Command1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)

Form1.BackColor = vbGreen End Sub

Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) Text1.Text = \在窗体上按下了鼠标\End Sub

Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) Text1.Text = \在窗体上抬起了鼠标\End Sub

3.新建工程,界面如下图,运行时,在文本框Text1中输入内容的同时,在文本框Text2、Text3中显示相同的内容,但字体不同(字体自定)。

Private Sub Command1_Click()

1

Text1.Text = \

Text2.Text = \ Text3.Text = \End Sub

Private Sub Command2_Click() End End Sub

Private Sub Text1_Change() Text2.Text = Text1.Text Text3.Text = Text1.Text End Sub 注:“字体不同”可以在属性那调“Font”

4. 设计一个窗体,如上图所示。当单击某个命令按钮时,对文本框中的文字完成相应的设置。其中,每单击一次“增大”或“缩小”按钮将使文本框中的文字增大或缩小5磅,“粗体”按钮将使文本框中的文字加粗,“斜体”按钮将使文本框中的文字倾斜,“下划线”按钮将使文本框中的文字加下划线,“删除线”按钮将使文本框中的文字加删除线。

Private Sub Command4_Click() Private Sub Command1_Click() Text1.FontSize = Text1.FontSize + 5 Text1.FontItalic = True End Sub End Sub Private Sub Command2_Click() Private Sub Command5_Click() Text1.FontSize = Text1.FontSize - 5 Text1.FontUnderline = True End Sub End Sub Private Sub Command3_Click() Private Sub Command6_Click() Text1.FontBold = True Text1.FontStrikethru = True End Sub End Sub

5. 设计一个窗体,如下图所示。程序中将π定义成符号常量(用Const ),运行时,输入底面半径r

和圆柱高h,然后单击“计算”命令按钮,在相应文本框中显示计算结果。运算结果为只读。

Private Sub Command1_Click() Const pi = 3.14 h = Val(Text1) r = Val(Text2)

Text3.Text = pi * r ^ 2 Text4.Text = 2 * pi * r * h Text5.Text = pi * r ^ 2 * h End Sub

2

中,单击“计算”按钮,求两个数的和。运算结果为只读。

6. 设计界面如上图所示。单击“出题”按钮,产生任意两个【1,100】之间的随机整数于Text1、 Text2Private Sub Command1_Click() Private Sub Command2_Click() Text1.Text = Int(100 * Rnd + 1) a = Val(Text1.Text) Text2.Text = Int(100 * Rnd + 1) b = Val(Text1.Text) End Sub Text3.Text = a + b End Sub

7.设计一个数字钟表程序,界面如图所示。运行时单击窗体,显示当前的年月日星期及时间。 Private Sub Form_Click() Label2.Caption = Year(Now) Label4.Caption = Month(Now) Label6.Caption = Day(Now) Label9.Caption = Weekday(Now) Label11.Caption = Time End Sub

8.设计一个数学函数程序,界面如图所示。程序运行时,在文本框中输入任意数值,单击相应按钮标签中显示结果。文本框始终处于选中状态。

Private Sub Command1_Click() Label3.Caption = Abs(Val(Text1)) Text1.SetFocus Text1.SelStart = 0

Text1.SelLength = Len(Text1.Text) End Sub

3

Private Sub Command2_Click() Label3.Caption = Sqr(Val(Text1)) Text1.SetFocus Text1.SelStart = 0

Text1.SelLength = Len(Text1.Text) End Sub

Private Sub Command3_Click() Label3.Caption = Fix(Val(Text1)) Text1.SetFocus Text1.SelStart = 0

Text1.SelLength = Len(Text1.Text) End Sub

Private Sub Command4_Click() Label3.Caption = Int(Val(Text1)) Text1.SetFocus

Text1.SelStart = 0

Text1.SelLength = Len(Text1.Text) End Sub

Private Sub Command5_Click() Label3.Caption = Sgn(Val(Text1)) Text1.SetFocus Text1.SelStart = 0

Text1.SelLength = Len(Text1.Text) End Sub

9.设计一工程,在文本框中输入一整数,单击“判断”按钮,判断能否同时被3、5、7整除,若能用MsgBox函数显示“能同时被3、5、7整除”,否则显示“不能整除”。

Private Sub Command1_Click() a = Val(Text1)

If a Mod 3 = 0 And a Mod 5 = 0 And a Mod 7 = 0 Then MsgBox \能同时被3、5、7整除\ Else

MsgBox \不能整除\ End If End Sub

10.设计一个计算购书价钱的程序,界面如下图所示。为了提高运行速度,设置Tab键序,使得输入完单价后,焦点定位到输入数量文本框中。单击“计算总价”或用访问键,算出总价。总价文本框要求为只读属性。完成相应功能。

Private Sub Command1_Click() a = Val(Text1) b = Val(Text2) Text3.Text = a * b End Sub

Private Sub Command2_Click() End End Sub

4

11.设计一工程,界面如上图所示。程序运行,单击“计算”,求出对应角度的三角函数的绝对值于文本框Text2中,同时要求选中文本框Text1内容,以便继续输入。

Private Sub Command1_Click() a = Val(Text1) b = a * 3.14 / 180 c = Abs(Sin(b)) d = Abs(Cos(b))

Text2.Text = Text2.Text & a & Space(10) & Format(c, \ & Space(10) & Format(d, \ Text1.SetFocus Text1.SelStart = 0

Text1.SelLength = Len(Text1.Text) End Sub

12.设计一个程序,用户界面如下图所示。程序运行后,单击“计算”,求出应付款额;单击“清除”, 清除所有文本框内容。

Private Sub Command1_Click() a = Val(Text1) b = Val(Text2) c = Val(Text3)

Text4.Text = a * b * c End Sub

5

Private Sub Command2_Click() Text1.Text = \ Text2.Text = \ Text3.Text = \ Text4.Text = \End Sub

13.输入一个学生的学号和考试成绩,然后按如图格式在图片框中输出学号、考试成绩及评语,评语:90~100优秀;80~89良好;70~79中等;60~69及格;0~59不及格。

Private Sub Command1_Click() a = Val(Text2) Select Case a Case 90 To 100 h = \优秀\ Case 80 To 89 h = \良好\ Case 70 To 79 h = \中等\ Case 60 To 69

h = \及格\ Case 0 To 59 h = \不及格\ End Select Picture1.Print

Picture1.Print \学号:\ Picture1.Print

Picture1.Print \分数:\End Sub

14.设计一个窗体Forml,界面如上图所示。编写适当的事件过程,程序运行后在第一个文本框中输入圆的半径,单击“计算”按钮,分别在第二个和第三个文本框中显示圆的面积和周长。

Text3.Text = 2 * a * 3.14 Private Sub Command1_Click()

a = Val(Text1) End Sub Text2.Text = a ^ 2 * 3.14

15.设计一个程序,用户界面如下图所示。程序运行后,单击Command1按钮,求出最大、最小数。

Private Sub Command1_Click()

a = Val(Text1):b = Val(Text2):c = Val(Text3) If a < b Then t = a: a = b: b = t If a < c Then t = a: a = c: c = t If b < c Then t = b: b = c: c = t Text4.Text = a Text5.Text = c

End Sub

6

16.界面如下图所示。编写适当的事件过程,程序运行后在三个文本框中分别输入三角形的边长值,单击“判断并计算”按钮,判断它们是否能组成三角形,若能组成三角形在Text4中显示三角形的面积 ,否则在Text4中显示“FALSE”。

Private Sub Command1_Click() a = Val(Text1):b = Val(Text2):c = Val(Text3)

If a + b < c Or a + c < b Or b + c < a Or Abs(a - b) > c Or Abs(a - c) > b Or Abs(b - c) > a Then Text4.Text = \ Else

h = (a + b + c) / 2

s = Sqr(h * (h - a) * (h - b) * (h - c)) Text4.Text = Format(s, \End If End Sub

17.设计一个程序运行界面如下图所示,将输入的三个不同数,按从小到大的顺序排列。

Private Sub Command1_Click()

a = Val(Text1):b = Val(Text2):c = Val(Text3) If a < b Then t = a: a = b: b = t If a < c Then t = a: a = c: c = t If b < c Then t = b: b = c: c = t

Text1.Text = c: Text2.Text = b: Text3.Text = a End Sub

7

20

18.在窗体上画两个命令按钮分别求11+22+33+44+……+nn小于100000最大值和

?n!?1!?2!?3!???20!的累加和并将结果输出到Label1和Label2中。

For i = 1 To 20 Private Sub Command1_Click()

n = 0: s = 0 n = 1 Do For k = 1 To i n = n + 1 n = n * k s = s + n ^ n Next k Label1.Caption = s s = s + n Loop Until s > 100000 Next i End Sub Label2.Caption = s Private Sub Command2_Click() End Sub s = 0

19.在窗体上画两个文本框输入a和n的值(a和n均为一位数字),单击命令按钮输出Sn=a+aa+aaa+aaaa+?+aa?a(最后一项n个a,例如3+33+333+3333)的值于标签中。

b = String(i, a) Private Sub Command1_Click()

a = Text1.text Sn = Sn + Val(b) n = Val(Text2) Next i Sn = 0 Label1.Caption = Sn For i = 1 To n End Sub

20.单击命令按钮将3到200之间的所有奇数显示在列表框中。

Next i Private Sub Command1_Click()

For i = 3 To 200 Step 2 End Sub List1.AddItem i

21.在窗体上画一文本框用于输入n值,画两个命令按钮分别求下述表达式的值

S1=4?(1?1?1???(?1)n?1n?1351)2n?1

S2=1×3×5×7×?×(2n-1)并将S1、S2的结果输出到图片框。

Private Sub Command1_Click() n = Val(Text1) s = 0

For i = 1 To n

s = s + (-1) ^ (i + 1) / (2 * i - 1) Next i

8

S2 = 1

For i = 1 To n

S2 = S2 * (2 * n - 1) Next i

Picture1.Print 4 * s Picture1.Print S2

End Sub

22.在文本框T1中打印100~999之间的所有水仙花数。 (该数为各位数字的立方和。例如:153=1 3+5 3+3 3 )

Private Sub Command1_Click() For i = 100 To 999 a = Fix(i / 100)

b = Fix(i / 10) - a * 10 c = i - Fix(i / 10) * 10

If a ^ 3 + b ^ 3 + c ^ 3 = i Then T1.Text = T1.Text & i & vbCrLf Next i End Sub

23.有一数列,它的头2个数为0、 1,以后的每个数都是其前2个数之和。编程在文本框T1中输出所有这些数列,直到第30个数或最后一项等于1000为止,同时在另一文本框中输出它们的和。

Private Sub Command1_Click() a = 0: b = 1: s = 0

Text1.Text = a & vbCrLf & b & vbCrLf For i = 1 To 14 s = s + a + b a = a + b b = a + b

Text1.Text = Text1.Text & a & vbCrLf & b & vbCrLf Next i

Text2.Text = s End Sub

24.设计如下图所示界面,单击时输出相应结果,2~N之间素数在列表框中输出,要求判断素数用过程实现。

Function h(a As Integer) As Boolean Dim m As Integer, s As Boolean m = 0

For i = 2 To (a - 1)

If a Mod i = 0 Then m = m + 1 Next i

If m = 0 Then s = True Else s = False h = s

End Function

Private Sub Command1_Click() Dim a As Integer a = Val(Text1)

9

If h(a) = False Then

Text2.Text = \不是素数\ Else

Text2.Text = \是素数\End If End Sub

Private Sub Command2_Click() Dim i As Integer a = Val(Text1) For i = 2 To a

If h(i) = True Then List1.AddItem i Next i

End Sub

25.界面如上图,单击各按钮时输入行数,按此行数在窗体上显示不同的图形(参考教材练习6-15)。 Private Sub Command1_Click() Private Sub Command3_Click() Cls Cls a = Val(InputBox(\请输入行数\a = Val(InputBox(\请输入行数\For i = 1 To a For i = a To 1 Step -1 Print Tab(i); String(a, \ Print Tab(a - i + 1); String(2 * i - 1, \Next i Next i End Sub End Sub Private Sub Command2_Click() Private Sub Command4_Click() Cls Cls a = Val(InputBox(\请输入行数\a = Val(InputBox(\请输入行数\For i = 1 To a For i = a To 1 Step -1 Print Tab(a - i + 1); String(2 * i - 1, \ Print Tab(a - i + 1); String(2 * i - 1, \ Next i Space(3); String(2 * (a - i) + 1, \End Sub Next i

End Sub

26.设计如下图所示界面,单击时输出N!和1!+2!+…+N!结果,要求N!用过程实现。

Function h(n As Integer) As Integer

Dim s As Integer s = 1

For i = 1 To n s = s * i Next i h = s

End Function

Private Sub Command1_Click() Dim n As Integer

10

n = Val(Text1) Text2.Text = h(n) End Sub

Private Sub Command2_Click() Dim n As Integer m = Val(Text1) s = 0

For n = 1 To m s = s + h(n) Next n

Text3.Text = s End Sub

27. 编写一个程序,输出一个5*5的矩阵,该矩阵主、负对角线上元素均为1,其余元素均为2,执行结果如上图所示。 Option Base 1 Dim A(5, 5) As Integer For i = 1 To 5

CurrentY = i * 300 Private Sub Form_Click()

For i = 1 To 5 For j = 1 To 5 For j = 1 To 5 CurrentX = j * 300 A(i, j) = 2 Print A(i, j); If i = j Then A(i, j) = 1 Next j, i If i + j = 6 Then A(i, j) = 1 End Sub Next j, i

28.界面如下图所示。分别在Textl和Text2中输入两个自然数x、y,用展转相除的方法求自然数x,y的最大公约数和最小公倍数。在窗体上显示结果。

Dim a As Integer, b As Integer, x As Integer,

y As Integer,r as Integer

Private Sub Command1_Click() x = Val(Text1) y = Val(Text2) a = x: b = y r = x Mod y Do While r <> 0 x = y

y = r

r = x Mod y Loop

Label3.Caption = y End Sub

Private Sub Command2_Click() Label4.Caption = a * b / y End Sub

11

Text1 Text2 Label3 Label4

29.仿照25题画四个命令按钮,单击各按钮在图片框上显示如下不同的数据图形。

Private Sub Command1_Click() For i = 1 To 6

For j = i To 1 Step -1 Print j; Next j Print Next i End Sub

Private Sub Command2_Click() For i = 6 To 1 Step -1 Print Space(18 - 3 * i); For j = 1 To i Print j; Next j Print Next i

12

End Sub

Private Sub Command3_Click() For i = 1 To 6

Print Space(18 - 3 * i); For j = i To 1 Step -1 Print 7 - j; Next j Print Next i End Sub

Private Sub Command4_Click() For i = 6 To 1 Step -1 For j = i To 1 Step -1 Print j; Next j Print

Next i

End Sub

30.设计一个窗体Forml,编写适当的事件过程。控制Text1中背景色和字体格式。(字体默认为宋体,内容为“欢迎学习VB”)程序运行界面如图所示。

Private Sub Check1_Click() Text1.FontBold = True End Sub

Private Sub Check2_Click() Text1.FontItalic = True End Sub

Private Sub Check3_Click() Text1.FontUnderline = True End Sub

Private Sub Option1_Click() Text1.BackColor = vbRed End Sub

Private Sub Option2_Click() Text1.BackColor = vbYellow End Sub

Private Sub Option3_Click() Text1.BackColor = vbBlue End Sub

31.利用两个列表框控件,设计选项移动窗体如上图。编写适当的事件过程实现功能要求。

Private Sub Command1_Click() If List1.ListCount = 0 Then

MsgBox \列表中没有可选的列\注意\ Exit Sub

If List1.ListIndex >= 0 Then For i = 0 To List1.ListCount – 1

End If

End Sub

Private Sub Command2_Click() For i = 0 To List1.ListCount - 1 List1.Selected(0) = True List2.AddItem List1.Text List1.RemoveItem 0 Next i End Sub

Private Sub Command4_Click() For i = 0 To List2.ListCount - 1 List2.Selected(0) = True List1.AddItem List2.Text List2.RemoveItem 0 Next i End Sub

32.设计界面如下图所示,运行时,当移动滚动条时,在标签中能正确显示摄氏、华氏温度值(C=5(F-32)/9)

13

Private Sub Form_Load() VScroll1.Min = 100 VScroll1.Max = 0 End Sub

Private Sub VScroll1_Change()

Label2.Caption = VScroll1.Value

Label1.Caption = Format(VScroll1.Value * 9 / 5 + 32, \End Sub

33.设计上面界面,按“开始”按钮使标签在窗体上从左向右移动,当遇到窗体的右侧后,改成从右向左移动,按“停止”按钮停止标签移动。

Dim a As Integer

Private Sub Command1_Click()

Timer1.Enabled = True

End Sub

Private Sub Command2_Click()

Timer1.Enabled = False

End Sub

End Sub Private Sub Timer1_Timer()

34.编写一个程序,实现在标签中自动依次显示“祝你”,“考试”,“成功”。

Dim a As Integer

Private Sub Timer1_Timer() a = a + 1 b = a Mod 3 If b = 1 Then Label1.Caption = \祝你\If b = 2 Then Label1.Caption = \考试\If b = 0 Then Label1.Caption = \成功\End Sub

35.窗体上有一个名为L1的列表框,通过属性向列表框添加3个项目,分别是“123、456、789”。当启动后,每次双击列表框中任何一项,则总在最后添加一项,该项是所有项之和。界面如下图。

Private Sub L1_DblClick() Dim b As Double, s As Double

14

a = Val(L1.ListCount) s = 0

For i = 0 To a

b = Val(L1.List(i)) s = s + b Next i

L1.AddItem s End Sub

36.设计如上界面,编写适当的事件过程。 程序运行后,每过1秒钟文本框的背景色能够由红到绿,绿到蓝,再由蓝到红循环变化。

Dim a As Integer

Private Sub Timer1_Timer() a = a + 1 b = a Mod 3 If b = 1 Then Text1.BackColor = vbRed If b = 2 Then Text1.BackColor = vbGreen If b = 0 Then Text1.BackColor = vbBlue End Sub

37.单击第一个按钮,生成20个[0,100]之间的随机整数,显示于文本框1中,单击第二个按钮,求这20个数中的最大数和最小数,显示于文本框2中。

Option Base 1

Dim a(20) As Integer

Private Sub Command1_Click() Text1.Text = \For i = 1 To 20

a(i) = Int(99 * Rnd - 0)

Text1.Text = Text1.Text & a(i) & vbCrLf Next i

For i = 1 To 19 For j = i + 1 To 20 If a(i) > a(j) Then t = a(i) a(i) = a(j) a(j) = t End If Next j, i

Text2.Text = a(1) & Space(3) & a(20) End Sub

38.编写程序,单击第一个按钮,用随机函数产生4行5列的两位整数并输出到图片框1中。单击第二个按钮,实现将第1行和第3行数据交换或第2列和第4列数据交换,输出到图片框2中。

Dim A(1 To 4, 1 To 5) As Integer, B(1 To 4, 1 To 5) As Integer

Private Sub Command1_Click() For i = 1 To 4 s1 = \

For j = 1 To 5

A(i, j) = Int(91 * Rnd + 10) s1 = s1 & Space(2) & A(i, j) Next j

Picture1.Print s1 & vbCrLf Next i End Sub

Private Sub Command2_Click() For i = 1 To 4

15

s1 = \

For j = 1 To 5

If i Mod 2 <> 0 Then c = 4 - i

B(i, j) = A(c, j)

s1 = s1 & Space(2) & B(i, j) Else

B(i, j) = A(i, j)

s1 = s1 & Space(2) & B(i, j) End If Next j

Picture2.Print s1 & vbCrLf Next i End Sub

n39.利用Function 计算N!,求组合数cm?m!。

n!(m?n)!Private Sub Command1_Click()

Dim m As Integer, n As Integer, p As Integer, k As Double

n = Val(Text1): m = Val(Text2): p = m - n x = A(m): y = A(n): z = A(p) k = x / (y * z) Text3.Text = k End Sub

在文本框1中输入n,文本框2中输入m,单击命令按钮,在文本框3中显示组合结果。

Function A(h As Integer) As Integer Dim s As Integer, i As Integer s = 1

For i = 1 To h s = s * i Next i A = s

End Function

40.生成两个0~10之间的随机整数矩阵,分别放入两个列表框,求两个矩阵之和放入第三个列表框。如下图所示。

Private Sub Form_Load() For i = 1 To 5 s1 = \

For j = 1 To 5

a(i, j) = Int(Rnd * 11)

s1 = s1 & Format(a(i, j), \ Next j

List1.AddItem s1 & vbCrLf Next i

For i = 1 To 5 s1 = \

For j = 1 To 5

b(i, j) = Int(Rnd * 11)

s1 = s1 & Format(b(i, j), \ Next j

List2.AddItem s1 & vbCrLf

Next i End Sub

Private Sub Command1_Click() For i = 1 To 5 s1 = \

For j = 1 To 5

c(i, j) = a(i, j) + b(i, j)

s1 = s1 & Format(c(i, j), \ Next j

List3.AddItem s1 & vbCrLf Next i End Sub

Private Sub Command2_Click() End End Sub

41.生成10个两位数的随机整数, 放入A数组, 单击显示按钮全部显示在文本框1中,单击排序按钮由小到大排序,显示在文本框2中。(如上图)

16

Option Base 1

Dim A(10) As Integer

Private Sub Command1_Click() For i = 1 To 10

A(i) = Int(91 * Rnd + 10)

Text1.Text = Text1.Text & A(i) & Space(1) Next i End Sub

Private Sub Command2_Click() For i = 1 To 9 For j = i + 1 To 10 If A(i) > A(j) Then t = A(i) A(i) = A(j) A(j) = t End If Next j, i

For i = 1 To 10

Text2.Text = Text2.Text & A(i) & Space(1) Next i End Sub

42.如下图,单击显示按钮,将20个随机两位整数,输出在LIST1中;单击排序按钮,将使用子过程降序排序的结果输出在LIST2中。

Option Base 1

Dim A(10) As Integer

Private Sub Command1_Click() For i = 1 To 10

A(i) = Int(91 * Rnd + 10) List1.AddItem A(i) Next i End Sub

Private Sub Command2_Click() For i = 1 To 9

For j = i + 1 To 10

If A(i) > A(j) Then t = A(i) A(i) = A(j) A(j) = t End If Next j, i

For i = 1 To 10 List2.AddItem A(i) Next i End Sub

43.编写适当的事件过程,在窗体上输出相应行数的杨辉三角形。点击窗体弹出InputBox对话框,在对话框中输入行数,打印出如上图所示形态的杨辉三角形。

Dim A() As Integer

Private Sub Form_Click() Dim m As Integer, n As Integer

m = Val(InputBox(\请输入行数\ n = m

ReDim A(m, n) For i = 0 To m - 1 A(i, i) = 1 A(i, 0) = 1 Next i

Print Tab(3 * m - 1); 1 For i = 2 To n - 1 s = \

For j = 1 To i - 1

A(i, j) = A(i - 1, j) + A(i - 1, j - 1) s = s & Space(5) & A(i, j)

17

Next j Next i Print Tab(3 * (m - i)); A(i, 0) & s & End Sub Space(5) & A(i, i)

44.编写程序,实现矩阵转置,即将一个n?m的矩阵(均由随机函数产生,并且是两位整数)的行和列互换。单击显示按钮将原矩阵放在图片框1,单击转置按钮将转置后的矩阵输出在图片框2。

Option Base 1

Dim a(4, 5) As Integer, b(5, 4) As Integer Private Sub Command1_Click() For i = 1 To 4 s = \

For j = 1 To 5

a(i, j) = Int(91 * Rnd + 10) s = s & Space(2) & a(i, j) Next j

Picture1.Print s Next i End Sub

Private Sub Command2_Click() For i = 1 To 5 s = \

For j = 1 To 4 b(i, j) = a(j, i)

s = s & Space(2) & b(i, j) Next j

Picture2.Print s Next i End Sub

45.编写函数过程计算1+2+3+。。。+n,运行时输入m,n,p的值,单击“Y=”输出结果(保留三位小数)。y?(1?2?3?...?m)?(1?2?3?...?n)如上图所示。

(1?2?3?...?p)End Function

Private Sub Command1_Click()

Dim m As Integer, n As Integer, p As Integer, k As Double

m = Val(Text1): n = Val(Text2): p = Val(Text3) x = A(m): y = A(n): z = A(p)

18

Function A(h As Integer) As Integer Dim s As Integer, i As Integer s = 0

For i = 1 To h s = s + i Next i A = s

k = (x + y) / z Text4.Text = k

Private Sub Form_Load() For i = 0 To 5

Text1(i).Text = Int(91 * Rnd + 10) Next i End Sub

End Sub

46.利用控件数组Text1、Text2将Text1中随机产生的数,交换到Text2中,界面如下图所示。

Private Sub Command1_Click() For k = 0 To 5

Text2(k).Text = Text1(5 - k).Text Next k End Sub

47.在一工程中有两窗体,界面如图所示,试完成相应功能。 ’这是标准模块的代码: End Sub

Public w As Integer

’这是Form1的代码:

Private Sub Command1_Click() n = Val(Text1) Text2.Text = n ^ 3 End Sub

Private Sub Command2_Click() Form2.Show Unload Me End Sub

’这是Form2的代码:

Private Sub Form_Load() Text1.Text = n

Private Sub Command1_Click() s = 1

For i = 1 To n s = s * i Next i

Text2.Text = s End Sub

Private Sub Command2_Click() Form1.Show Unload Me End Sub

19

48.在窗体放一个文本框和四个组合框,界面如下图所示,组合框1和组合框2的颜色包括:白、黑、红、绿、蓝、黄。组合框3的对齐方式有左、中、右。组合框4字体大小有10、12、14、18、20、22磅,试完成相应功能。

Private Sub Combo1_Click() Select Case Combo1.ListIndex Case 0

Text1.ForeColor = vbWhite Case 1

Text1.ForeColor = vbBlack Case 2

Text1.ForeColor = vbRed Case 3

Text1.ForeColor = vbGreen Case 4

Text1.ForeColor = vbBlue Case 5

Text1.ForeColor = vbYellow End Select End Sub

Private Sub Combo2_Click() Select Case Combo1.ListIndex Case 0

Text1.BackColor = vbWhite Case 1

Text1.BackColor = vbBlack Case 2

Text1.BackColor = vbRed Case 3

Text1.BackColor = vbGreen Case 4

20

Text1.BackColor = vbBlue Case 5

Text1.BackColor = vbYellow End Select End Sub

Private Sub Combo3_Click() Select Case Combo3.ListIndex Case 0

Text1.Alignment = 0 Case 1

Text1.Alignment = 1 Case 2

Text1.Alignment = 2 End Select End Sub

Private Sub Combo4_Click() Select Case Combo4.ListIndex Case 0

Text1.FontSize = 10 Case 1

Text1.FontSize = 12 Case 2

Text1.FontSize = 14 Case 3

Text1.FontSize = 18 Case 4

Text1.FontSize = 20 Case 5

Text1.FontSize = 22 End Select

End Sub

49.用inputBox函数输入10个数,分别求出奇数和偶数之和,用消息框(Msgbox函数)输出。

Private Sub Command1_Click() s1 = 0: s2 = 0 For i = 1 To 10

a = Val(InputBox(\请输入第\个数\b = a Mod 2 If b <> 0 Then s1 = s1 + a Else

s2 = s2 + a End If Next i

MsgBox \奇数之和为\偶数之和为\End Sub

50.用文本框1输入10个学生的某门课程的分数后,给出五级评分。评分标准如下:

优 90≤成绩≤100 良 80≤成绩≤90 中 70≤成绩≤80 及格 60≤成绩≤70 不及格 0≤成绩≤60

评分结果显示在文本框2中,如果分数不在[0,100]范围内,则用消息框(Msgbox函数)给出错误提示,并将焦点定位在输入分数的文本框。

Private Sub Form_Click() Static i As Integer i = i + 1

a = Val(Text1) Select Case a

Case Is < 0, Is > 100

MsgBox \输入错误,请重新输入\错误\Text1.SetFocus Case Is <= 60

Text2.Text = Text2.Text & i & Space(2) & a & Space(2) & \不及格\Label1.Caption = \输入第\个学生的成绩\Case Is <= 70

Text2.Text = Text2.Text & i & Space(2) & a & Space(2) & \及格\Label1.Caption = \输入第\个学生的成绩\Case Is <= 80

Text2.Text = Text2.Text & i & Space(2) & a & Space(2) & \中\Label1.Caption = \输入第\个学生的成绩\Case Is <= 90

Text2.Text = Text2.Text & i & Space(2) & a & Space(2) & \良\

21

Label1.Caption = \输入第\个学生的成绩\Case Is <= 100

Text2.Text = Text2.Text & i & Space(2) & a & Space(2) & \优\Label1.Caption = \输入第\个学生的成绩\End Select End Sub

Private Sub Form_Load()

Label1.Caption = \输入第1 个学生的成绩\End Sub

Private Sub Form_Load()

Label1.Caption = \请输入第1 个学生的成绩\End Sub

22


VB上机练习题.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2012年全国研究生考试思想政治理论试题

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: