当前位置:文档之家› VB上机练习题

VB上机练习题

VB上机练习题
VB上机练习题

2009—2010 VB 上机练习题

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

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() 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 Command1_Click() Text1.FontSize = Text1.FontSize + 5 End Sub

Private Sub Command2_Click() Text1.FontSize = Text1.FontSize - 5 End Sub

Private Sub Command3_Click() Text1.FontBold = True

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

End Sub

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

Private Sub Command6_Click() Text1.FontStrikethru = True End Sub

5.设计一个窗体,如下图所示。程序中将π定义成符号常量(用Const ),运行时,输入底面半径r 和圆柱高h,然后单击“计算”命令按钮,在相应文本框中显示计算结果。运算结果为只读。Private Sub Command1_Click()

Const pi = 3.14

h = V al(Text1)

r = V al(Text2)

Text3.Text = pi * r ^ 2

Text4.Text = 2 * pi * r * h

Text5.Text = pi * r ^ 2 * h

End Sub

6.设计界面如上图所示。单击“出题”按钮,产生任意两个【1,100】之间的随机整数于Text1、 Text2中,单击“计算”按钮,求两个数的和。运算结果为只读。

Private Sub Command1_Click() Text1.Text = Int(100 * Rnd + 1) Text2.Text = Int(100 * Rnd + 1) End Sub Private Sub Command2_Click()

a = V al(Text1.Text)

b = V al(Text1.Text)

Text3.Text = a + b

End Sub

7.设计一个数字钟表程序,界面如图所示。运行时单击窗体,显示当前的年月日星期及时间。Private Sub Form_Click()

Label2.Caption = Y ear(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(V al(Text1)) Text1.SetFocus

Text1.SelStart = 0

Text1.SelLength = Len(Text1.Text) End Sub Private Sub Command2_Click() Label3.Caption = Sqr(V al(Text1)) Text1.SetFocus

Text1.SelStart = 0

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

Private Sub Command3_Click() Label3.Caption = Fix(V al(Text1)) Text1.SetFocus

Text1.SelStart = 0

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

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

Text1.SelStart = 0

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

Private Sub Command5_Click() Label3.Caption = Sgn(V al(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 = V al(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 = V al(Text1)

b = V al(Text2) Text3.Text = a * b End Sub Private Sub Command2_Click() End

End Sub

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

Private Sub Command1_Click()

a = V al(Text1)

b = a * 3.14 / 180

c = Abs(Sin(b))

d = Abs(Cos(b))

Text2.Text = Text2.Text & a & Space(10) & Format(c, "0.000") _

& Space(10) & Format(d, "0.000") & vbCrLf

Text1.SetFocus

Text1.SelStart = 0

Text1.SelLength = Len(Text1.Text)

End Sub

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

Private Sub Command1_Click()

a = V al(Text1)

b = V al(Text2)

c = V al(Text3)

Text4.Text = a * b * c

End Sub 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 = V al(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 "学号:" & Text1.Text Picture1.Print

Picture1.Print "分数:" & a & Space(3) & h End Sub

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

Private Sub Command1_Click() a = V al(Text1)

Text2.Text = a ^ 2 * 3.14

Text3.Text = 2 * a * 3.14 End Sub

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

Private Sub Command1_Click()

a = V al(Text1):

b = V al(Text2):

c = V al(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

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

Private Sub Command1_Click()

a = V al(Text1):

b = V al(Text2):

c = V al(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 = "FALSE"

Else

h = (a + b + c) / 2

s = Sqr(h * (h - a) * (h - b) * (h - c))

Text4.Text = Format(s, "0.00")

End If

End Sub

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

Private Sub Command1_Click()

a = V al(Text1):

b = V al(Text2):

c = V al(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

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

的累加和并将结果输出到Label1和Label2中。

Private Sub Command1_Click() n = 0: s = 0 Do n = n + 1 s = s + n ^ n Label1.Caption = s Loop Until s > 100000 End Sub Private Sub Command2_Click() s = 0

For i = 1 To 20 n = 1 For k = 1 To i n = n * k Next k s = s + n Next i Label2.Caption = s End Sub 19.在窗体上画两个文本框输入a 和n 的值(a 和n 均为一位数字),单击命令按钮输出Sn=a+aa+aaa+aaaa+…+aa …a (最后一项n 个a ,例如3+33+333+3333)的值于标签中。 Private Sub Command1_Click() a = Text1.text n = V al(Text2) Sn = 0 For i = 1 To n b = String(i, a) Sn = Sn + V al(b) Next i Label1.Caption = Sn End Sub

20.单击命令按钮将3到200之间的所有奇数显示在列表框中。 Private Sub Command1_Click() For i = 3 To 200 Step 2 List1.AddItem i

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

S1= S2=1×3×5×7×…×(2n-1)并将S1、S2的结果输出到图片框。 Private Sub Command1_Click() n = V al(Text1) s = 0

For i = 1 To n

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

S2 = 1

For i = 1 To n

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

Picture1.Print 4 * s Picture1.Print S2

∑=++++=20

1

!20!3!2!1!n n )

1

21)1(51311(41--+-+-?+n n

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 = V al(Text1)

If h(a) = False Then

Text2.Text = "不是素数" Else

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

Private Sub Command2_Click() Dim i As Integer a = V al(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()

Cls

a = V al(InputBox("请输入行数"))

For i = 1 To a

Print Tab(i); String(a, "*")

Next i

End Sub

Private Sub Command2_Click()

Cls

a = V al(InputBox("请输入行数"))

For i = 1 To a

Print Tab(a - i + 1); String(2 * i - 1, "*") Next i

End Sub Private Sub Command3_Click()

Cls

a = V al(InputBox("请输入行数"))

For i = a To 1 Step -1

Print Tab(a - i + 1); String(2 * i - 1, "*") Next i

End Sub

Private Sub Command4_Click()

Cls

a = V al(InputBox("请输入行数"))

For i = a To 1 Step -1

Print Tab(a - i + 1); String(2 * i - 1, "*"); _ Space(3); String(2 * (a - i) + 1, "*")

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 n = V al(Text1)

Text2.Text = h(n)

End Sub

Private Sub Command2_Click() Dim n As Integer

m = V al(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 Private Sub Form_Click() For i = 1 To 5

For j = 1 To 5

A(i, j) = 2

If i = j Then A(i, j) = 1

If i + j = 6 Then A(i, j) = 1 Next j, i

For i = 1 To 5 CurrentY = i * 300 For j = 1 To 5

CurrentX = j * 300

Print A(i, j);

Next j, i

End Sub

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 = V al(Text1)

y = V al(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

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

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

Text1 Text2 Label3

Label4

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 = vbY ellow 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)

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

End Sub Private Sub VScroll1_Change()

Label2.Caption = VScroll1.Value

Label1.Caption = Format(VScroll1.V alue * 9 / 5 + 32, "#.0") 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

Private Sub Timer1_Timer() End Sub

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 a = V al(L1.ListCount) s = 0

For i = 0 To a

b = V al(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

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

39.利用Function 计算N !,求组合数)!

(!!n m n m c n

m -=

在文本框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

Private Sub Command1_Click()

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

n = V al(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

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中。(如上图)

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 = V al(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)

Next j

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

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=”输出结果(保留三位

小数)。

)

...

3

2

1(

)

...

3

2

1(

)

...

3

2

1(

p n

m

y

+

+

+

+

+

+

+

+

+

+

+

+

+

=如上图所示。

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 End Function

Private Sub Command1_Click()

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

m = V al(Text1): n = Val(Text2): p = V al(Text3)

x = A(m): y = A(n): z = A(p)

k = (x + y) / z

Text4.Text = k

End Sub

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

Private Sub Form_Load()

For i = 0 To 5

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

End Sub Private Sub Command1_Click() For k = 0 To 5

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

End Sub 47.在一工程中有两窗体,界面如图所示,试完成相应功能。

’这是标准模块的代码:

Public w As Integer

’这是Form1的代码:

Private Sub Command1_Click() n = V al(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 End Sub

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

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 = vbY ellow 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

Text1.BackColor = vbBlue Case 5

Text1.BackColor = vbY ellow 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

VB上机综合测试题(十五套)

VB上机综合测试题(一) 一、如下所示,在窗体上,放置一个文本框text1(文本框中的文字为“改变字形”,居中显示)。三个复选框check1,check2和check3,如图设置属性。要求:当用户单击“加粗”、“斜体”、“下划线”这三个复选框时(即当复选框被选中时)能将文本框的字形变为“粗体、斜体、加下划线”(25分) 二、在窗体上添加一个命令按钮(名称为Cmd1,标题为"输出平均值")。程序运行后,单击命令按钮完成以下工作:①随机产生20个0到1000的整数,将其放入一个一维数组中②求出所有元素的平均值,并显示在窗体上(如下图所示)(35分) 三、请设计如下图所示窗体界面。运行程序时,先向左侧文本框中输入一个不超过10的正整数,然后选择"N的阶乘"或"(N+2)的阶乘"单选钮,即可进行计算,计算结果在右侧文本框中显示。请编写程序完成上述功能。(40分)

答案: 一、 界面设计------10分 Private Sub Check1_Click() = ------5分 End Sub Private Sub Check2_Click() = 分 End Sub Private Sub Check3_Click() = ------5分 End Sub 二、 界面设计------10分 Private Sub Cmd1_Click()------2分Dim a%(19), i%, sum!, aver! ------4分Randomize ------3分 For i = 0 To 19------3分 a(i) = Int(Rnd * 1001) ------3分 sum = sum + a(i) ------3分 Next i ------2分 aver = sum / 20 ------3分 Print aver ------2分 End Sub 三、 界面设计------10分 Dim? n%------2分 Private Sub Form_Load() End Sub

VB期末考试试题及答案

二、选择题 1、菜单控件只包括一个事件,即 C ,当用鼠标单击或键盘选中后按“回车”键时触发该事件,除分隔条以外的所有菜单控件都能识别该事件。 A、GotFocus B、Load C、Click D、KeyDown 2、滚动条控件(如图所示)的Max属性所设置的是 A 。 A、滚动框处于最右位置时,一个滚动条位置的Value属性最大设置值 B、单击滚动条和滚动箭头之间的区域时,滚动条中滚动块的最大移动量 C、单击滚动条的箭头区域时,滚动条中滚动块的最大移动量 D、滚动条控件无该属性 3、SQL 语句 Select * Form student 中的 *表示 B 。 A、所有记录 B、所有字段 C、所有表 D、都不对 4、以下选项中,不属于标签的属性是 C 。 A、Enabled B、Caption C、Default D、Font 5、要求改命令按钮显示的文本,应当在属性窗口中改变的属性是 A 。 A、Caption B、Name C、Text D、Label 6、设置一个单选按钮(OptionButton)所代表选项的选中状态,应当在属性窗口中改变的属性是 D 。 A、Caption B、Name C、Text D、Value

7、允许在菜单项的左边设置打勾标记,下面哪种论述是正确的 D 。 A、在标题项中输入&,然后打勾 B、在索引项中打勾 C、在有效项中打勾 D、在复选项中打勾 8、当执行以下过程时,在窗体上将显示 A 。 Private Sub Command1_Click( ) Print "VB"; Print "Hello! "; Print "VB" End Sub A、 VBHello!VB B、 VB Hello!VB C、 VB D、 VB Hello! VB Hello! VB 9、语句Print "The answer is:";20/4-2的结果为 B 。 A、The answer is 20/4-2 B、The answer is 3 C、The answer is "20/4-2" D、非法语句 10、下列哪个控件是容器控件 B 。 A、Image B、Picture C、ComboBox D、FileListBox 11、若要将窗体从内存中卸载出去,其实现的方法是 D 。 12、以下选项中,不是 Visual Basic控件的是 A 。 A.窗体 B.定时器 C.单选框 D.命令按钮 13、双击窗体中的对象后,Visual Basic将显示的窗口是 A 。 A.代码窗口 B.工具箱 C.项目(工程)窗口 D.属性窗口 14、可决定窗体的左上角是否有控制菜单的属性是 A 。 15、设有如下语句: Strl=InputBox("输人","","练习") 从键盘上输人字符“示例”后,Strl的值是 D 。 A.“输入” B.“” C.“练习” D.“示例” 16、窗体Form1的Name属性是Frm1,它的单击事件过程名是 C 。 A. Form1_Click C. Frm1_Click D. Me_Click 17、窗体的hide属性的含义是 A 。 A.隐藏 B.展现 C.装入 D.卸载 18、若要设置定时器控件的定时时间,需设置的属性是 C 。 A.Enabled B.Value C.Interval D.Text 19、能够改变复选框中背景颜色的属性是 C 。

(完整版)VB上机练习题

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

VB上机程序调试题_题目及参考答案

第二部分VB上机考试模拟试题 一、程序调试题(改错或填空) (二)程序调试题 [题1] Modify.bas模块中的getanswer过程是用于计算一元二次方程的根,并将结果输出来。 Option Explicit Public Sub getanswer() '该过程是用于计算一元二次方程的根,并将结果输出来。 Dim dalt!, a#, b#, c# a = InputBox("输入系数a") b = InputBox("输入系数b") c = InputBox("输入系数c") dalt = b * b - 4 * a * c If ----1---- dalt >0 then dalt = Sqr(dalt) MsgBox Format((-b + dalt) / 2 / a), "0.00" + Chr(13) + Chr(10) + Format((-b - dalt) / 2 / a, "0.00") Elseif ---2---- dalt =0 then MsgBox Format(-b / 2 / a, "0.00") + Chr(13) + Chr(10) + Format(-b / 2 / a, "0.00") Else dalt= ---3---- Sqr(-dalt) MsgBox Format((-b + dalt) / 2 / a, "0.00") + "+i" + Chr(13) + Chr(10) + Format((-b - dalt) / 2 / a, "0.00") + "-i" End If End Sub [题2] 打印输出一菱形图案。 Public Sub prt() '打印由#组成的菱形图案 ' # ' ### ' ##### ' ####### ' ######### ' ####### ' ##### ' ### Dim start As String '每行起始空格数 Dim count As Integer '每行#个数 For i = 1 To 9 If i <= 5 Then '------1------ start=space(21-i) count = 2 * i - 1 Else start = Space(11 + i) '-------2------ count=19-2*i End If '------3------ form1.print start; For j = 1 To count Form1.Print "#"; Next j '------4------ form1.print Next i [题3] 过程pyramid用以打印一个数字金字塔,请在横线上填入必要的内容(将横线删除掉后填入正确的内容),使其完整。 Option Explicit Public Sub pyramid() '打印数字金字塔 ' 1 ' 222 ' 33333 ' 4444444 ' 555555555 ' 6666666 ' 77777 ' 888 ' 9 Dim i As Integer Dim j As Integer Dim start As String '每行起始空格数 Dim num As Integer '每行数字个数 For i = 1 To 9 If i <= 5 Then start = Space(20 - i) num = 2 * i - 1 Else start= '------1------ Space(10 + i) num= '------2------ 2 * (10-i) - 1 End If Form1.Print start; For j = 1 To num '------3------ form1.print trim(str(i)); Next j '------4------ form1.print Next i End Sub [题4] 改错。 Option Explicit Public Sub prt() '打印由数字组成的如下所示金字塔图案 ' 9 ' 888 ' 77777 ' 6666666 ' 555555555 ' 44444444444 ' 3333333333333 ' 222222222222222 ' 11111111111111111 Dim i As Integer, j As Integer '****** 错误1 ****** For i = 9 To 1 step -1 Form1.Print Space(i); '****** 错误2 ****** For j = 1 To 2 *(10- i) - 1 '****** 错误3 ****** Form1.Print trim(str(i)); Next j

VB练习题(上机)含答案

第一部分 1 在窗体上添加一个命令按钮(名称为Cmd1,标题为"输出平均值")。程序运行后,单击命令按钮完成以下工作: ①随机产生20个0到1000的整数,将其放入一个一维数组中 ②求出所有元素的平均值,并显示在窗体上(如下图所示) Private Sub Cmd1_Click() Dim a%(19), i%, sum!, aver! Randomize For i = 0 To 19 a(i) = Int(Rnd * 1001) sum = sum + a(i) Next i aver = sum / 20 Print aver End Sub 2 请在名称为Form1的窗体上添加一个名称为Text1的文本框和一个名称为C1、标题为"转换"的命令按钮,如下图所示。在程序运行时,单击"转换"按钮,可以把Text1中的小写字母转换为大写,把大写字母转换为小写,其他字符不变。 Private Sub C1_Click() Dim ch As String, ch1 As String, i% ch = Text1 For i = 1 To Len(ch) If Asc(Mid(ch, i, 1)) >= 65 And Asc(Mid(ch, i, 1)) <= 90 Then ch1 = ch1 + LCase(Mid(ch, i, 1)) Else

ch1 = ch1 + UCase(Mid(ch, i, 1)) End If Next i Text1 = Text1 + vbCrLf Text1 = Text1 + ch1 End Sub 3 在窗体上添加一个命令按钮(名称为MyCmd1,标题为"输出最大值")。程序运行后,单击命令按钮完成以下工作: ①随机产生30个0~1000的整数,将其放入一个一维数组中 ②求出其中的最大值,并显示在窗体上。 Private Sub MyCmd1_Click() Dim a%(29), i%, max% Randomize For i = 0 To 29 a(i) = Int(Rnd * 1001) Next i max = a(0) For i = 1 To 29 If a(i) > max Then max = a(i) Next i Print max End Sub 4 请设计如下图所示窗体界面。程序运行时,在选中一个或两个复选框和一个单选按钮时,单击命令按钮,则对文本框中的文本内容做相应的设置。请编写适当的事件过程,完成上述功能。

VB上机实验题

(截止目前所有上机实验及代码。不用画窗体界面,只写题目和代码。填写实验报告也是复习的过程,请务必认真! ......) 实验一:第二章 ⒈在名称为Form1的窗体上画一个标签,其名称为Label1,标题为“等级考试”,BorderStyle属性值为1,可以根据标题自动调整大小;然后再画一个命令按钮,其名称和标题均为Command1,编写适当的事件过程。程序运行后,界面如图所示,此时如果单击命令按钮,则标签消失,同时用标签的标题作为命令按钮的标题。 Private sub command1_click() Label1.visible=false Command1.caption=label1.caption End sub ⒉在名称为Form1的窗体上画一个标签,其名称为Label1,标题为“输入信息”、一个文本框, 名称为Text1,Text属性为空白、一个命令按钮,名称为Command1,标题为“显示”。然后编写命令按钮的Click事件过程。程序运行后,在文本框输入“计算机等级考试”,然后单击命令按钮,则标签和文本框消失,并在窗体上显示文本框的内容。要求程序中不得使用任何变量。 上机代码:Private sub command1_click() Label1.visible=false Text1.visible=false Print text1.text End sub ⒊在名称为Form1的窗体上画两个文本框,名称分别为Text1和Text2,再画两个命令按钮,名 称分别为Command1和Command2,标题分别为“复制”和“删除”。程序运行时,在Text1中输入一串字符,并用鼠标拖曳的方法选择几个字符,然后分别单击“复制”按钮,则被选中的字符被复制到Text2中;若单击“删除”按钮,则被选中的字符从Text1中被删除。请编写两个命令按钮的Click过程完成上述功能。

计算机一级VB上机练习题电子版本

计算机一级V B上机 练习题

2007—2008(2) VB上机练习题 1.设计一个数字钟表程序,界面如图所示。运行时单击窗体,显示当前的年月日星期及时间。 2.设计一个数学函数程序,界面如图所示。程序运行时,在文本框中输入任意数值,单击相应按钮标签中显示结果。文本框始终处于选中状态。 3.设计口令检测界面,口令自定,运行初始如第一幅图,若口令错,则如第二幅图;否则,将显示另一欢迎窗口,如第三幅图所示。在连续三次输入错误口令后,给出警告并结束运行。

4.设计一个程序,用户界面如下图所示。程序运行后,单击“计算”,求出应付款额;单击“清除”,清除所有文本框内容。 5.输入一个学生的学号和考试成绩,然后按如图格式在图片框中输出学号、考试成绩及评语,评语:90~100优秀;80~89良好;70~79中等;60~69及格;0~59不及格。 6.设计一个程序,用户界面如下图所示。程序运行后,单击Command1按钮,求出最大最小数。 7.设计一个100(随机函数产生)之内的四则运算题,界面如下。

8.设计一个窗体Forml,界面如右图所示。编写 适当的事件过程,程序运行后在第一个文本框中 输入圆的半径,单击“计算”按钮,分别在第二个 和第三个文本框中显示圆的面积和周长。 9.界面如下图所示。编写适当的事件过程,程序运行后在三个文本框中分别输入三角形的边长值,单击“判断并计算”按钮,判断它们是否能组成三角形,如果可以在Text4中显示三角形的面积,否则在Text4中显示“FALSE”。 10.某工程运行时,图片框中图可以任意。单击“隐藏图像”按钮(command2)界面如右图,单击“显示图像”按钮(command1)界面如左图,编写适当的事件过程。

VB上机考试习题以及答案

VB上机考试 1、利用随机函数产生25个100到999之间的整数,构成5 5的矩阵,输出该矩阵。Dim a(1 To 5, 1 To 5) Private Sub Form_Click() Ran domize For i = 1 To 5 Forj = 1 To 5 a(i, j) = Int(Rnd * (999 - 100 + 1) + 100) Print a(i, j); Next j Print Next i End Sub 2、利用随机函数产生25个10到99之间的整数,求其平均值(要求保留3位小数,第4 位四舍五入)。Private Sub Form_Click() For i = 1 To 25 a = In t(R nd * (99 - 10 + 1) + 10) Print a; s = s + a Next i Print Avg = s / 25 Print Avg End Sub 3、在窗体上按下鼠标的右键,记录其坐标。 Private Sub Form_Load() Label1.BorderStyle = 1 Label1.Alig nment = 2 End Sub Private Sub Form_MouseDow n(Button As In teger, Shift As In teger, X As Si ngle, Y As Si ngle) If Butt on = 2 The n Label1.C apti on = X & "," & Y End If End Sub 4、利用随机函数产生25个10到99之间的整数,按从小到大的顺序显示。Dim a(1

vb经典题目及答案

1、在考生文件夹下有工程文件wy7、vbp及窗体文件wy7、frm,该程序就是不完整的,请在有?号的地方填入正确的程序代码,然后删除?及所有注释符号(即 '号),但不能修改其它部分。修改后的程序文件都保存,存盘时不得修改文件夹与文件名。 本题描述如下: 在窗体上有一个名为Text1的文本框,有三个命令按钮,名称分别就是C1、C2与C3,标题分别就是"读入"、"加密"与"存盘"。要求程序运行后,点击"读入"按钮,将文本文件in7、txt(该文件在考生文件夹下)中的文本信息读入文本框Text1中;点击"加密"按钮将Text1中的英文字母加密转换,并将转换后的结果显示到Text1中。转换方式为转换成该字母对应字母表中后两个位置的字母。例如,转换前的字母就是"a",则转换后的就是"c",转换前就是"E",转换后就是"G";点击"存盘"按钮, 则将转换后的文本框中的文本保存到out7、txt 文件中(该文件保存到考生文件夹下)。 Private Sub C1_Click() Dim strinfo As String Open "in7、txt" For Input As 1 Input #1, strinfo Close #1 Text1、Text = strinfo End Sub Private Sub C2_Click() Dim strchange As String Dim i As Integer For i = 1 To Len(Text1、Text) strchange = strchange + Chr(Asc(Mid(Text1、Text, i, 1)) + 2) Next Text1、Text = strchange End Sub Private Sub C3_Click() Open "out7、txt" For Output As 1 Print #1, Text1、Text Close #1 End Sub 2、(1)在考生文件夹下有工程文件wy5、vbp及窗体文件wy5、frm,该程序就是不完整的,请在有?号的地方填入正确内容,然后删除?及所有注释符(即'号),但不能修改其它部分。存盘时不得改变文件名与文件夹。本题描述如下: 在窗口中有一个RichText文本框控件(名称为rtx1)与一个文本框控件(名称为Text1),两个命令按钮,名称 分别为Command1与Command2,标题分别为"加入WY01、TXT"、"统计字符个数"。要求程序运行后,单击command1将考生文件夹下的wy01、txt的内容显示到rtx1中;单击"统计字符个数"按钮统计Text1中有多少个字符,将结果显示在Text1中。

VB期末考试上机题编程答案

VB期末考试上机题编程答案 1.新建一个工程,编写一个找出所有四位荣幸数显示在列表框中,并将荣幸数的个数显示在文本框中。所谓荣幸数是指凡前两位数字之和等于后两位数字之和的四位数。将原窗体文件和工程文件分别另存为为和,保存在D盘的VBTest文件夹中。如不按要求保存,造成文件无法上传,后果自负! 详尽要求: 1、程序参考界面如图所示,编程时不得增加或减少界面对象或改变对象的种类,窗体及界面元素大小适中,且均可见; 2、单击“查找“按钮,则开始查找并在列表框中显示结果,并在文本框中显示荣幸数的个数; 3、单击“清除”按钮,则将列表框和文本框清空; 4、单击“退出”按钮,结束程序运行; 5、程序中应包含一个过程,用于判断一个数是否是荣幸数。 解:Private Sub Command1_Click() Dim i As Integer, a As Integer For i = 1000 To 9999 If k(i) Then i: a = a + 1 Next i = a End Sub Private Sub Command2_Click() = ““ End Sub Private Sub Command3_Click()

End End Sub Private Function k(n As Integer) As Integer Dim i As Integer, a As Integer, s1 As Integer, s2 As Integer Dim s As String s = CStr(n) For i = 1 To Len(s) / 2 s1 = s1 + Mid(s, i, 1) s2 = s2 + Mid(s, Len(s) + 1 - i, 1) Next i If s1 = s2 Then k = True End Function 2.新建一个工程,编写求某一自然数因子和的程序。要求通过文本框获取输入的自然数,计算后将所计算得到的因子和显示在另一文本框中。将原窗体文件和工程文件分别另存为为和,保存在D盘的VBTest文件夹中。如不按要求保存,造成文件无法上传,后果自负! 详尽要求: 1、程序参考界面如图所示,编程时不得增加或减少界面对象或改变对象的种类,窗体及界面元素大小适中,且均可见; 2、单击“求和“按钮,则在文本框中显示计算得到的因子和; 3、单击“清除”按钮,则将文本框清空,焦点设置在第一个文本框; 4、单击“退出”按钮,结束程序运行;

VB上机题汇总

以题号保存,如第1题取名:1.Frm 、1.Vbp 。 1、 编制事件过程Command1_Click ,执行该过程时调用InputBox 函数输入x ,按下式计算y 并以标签 控件Label1显示y 值。 ?????>+-<=<=-+?-<-+=5 log 5552 sin 51 23102x x x x x x x x x y x 2、 编程运行时单击命令按钮,输入行数n(n<10)然后在窗体上输出n 层数字金字塔。 3、 编程求f=1-1/(2*3)+1/(3*4)-1/(4*5)+……+1/(19*20)。在窗体上输出结果,运行效果如下图所示。。 4、 计算下式的和,变量x 与n 的数值用输入对话框输入。在窗体上输出结果,运行效果如下图所示。 )! 1(...!4!3!23 2 +++++=n x x x x s n 5、 建立一个5行5列二维数组,要求对角线为1,其余元素为0。运行结果如图所示。 6、 建立一个5行5列二维数组,要求右上三角元素(含对角线)为1,其余元素为0。 7、 编制程序,用随机函数产生20个两位数的整数,存于4行5列的二维数组中,将数组按矩阵形式输 出到窗体,并求出其最大元素及最大元素的行、列坐标。 8、 编制通用函数过程(Sum ),计算1+2+……+N 的值。在窗体的Click 事件中调用该函数。

9、编制通用函数过程(Fact),计算N!的值。在窗体的Click事件中调用该函数。 10、编制通用函数过程(Prime),用于判断1个整数是否为素数,若是则显示true,若不是则显示 false。在窗体的Click事件中调用该函数。 11、编制通用函数过程(Odd)。用于判断一个整数的奇偶性。在窗体的Click事件中调用该函数。 12、编制通用函数过程(Average),计算Double类型一维数组所有元素的平均值。在窗体的Click 事件中调用该函数。 13、编制通用Sub过程(Sort),用选择法对一维数组按从大到小进行排序。在窗体的Click事件中 调用该函数。 14、编制函数过程(Sum),用于计算1个整数的各位数字之和(如引用Sum(132)的结果是6,引用 Sum(-23)的结果是5,等等)。在窗体的Click事件中调用该函数。

VB上机操作题综合

VB程序设计—《暴风影音》程序运行前: 程序运行后: 说明:当用户双击窗体任意区域时,播放器窗口最大化。 提示:窗体最大化可使用语句:Form1.windowstate = 2 详细内容: 程序使用控件如下: 窗体(Form)1个。控件属性设置: Form1 Caption 暴风影音 BackColor 黑色

参考代码: Private Sub Form_DblClick() Form1.WindowState = 2 End Sub VB程序设计—《登录框》 程序运行: 说明:制作如图所示登录框,其中,用户名限制输入6位长度,密码以“*”号显示。 详细内容: 程序使用控件如下: 窗体(Form)1个,标签(Label)2个,文本框(TextBox)2个,按钮(Command Button)2个。 控件属性设置: Form1 Caption 登录框 Label1 Label2 Caption 用户名Caption 密码 Font 小三Font 小三 Text1 Text2 Text 清空Text 清空

Font 小三Font 小三 MaxLength 6 Passwordchar * Command1 Command2 Caption 登录Caption 退出 Font 小三Font 小三 VB程序设计—《静夜思》 程序运行: 说明:当用户点击程序中的“显示诗句”按钮时,程序相应位置显示对应诗句. 程序使用控件如下: 窗体(Form)1个,标签(Label)5个,按钮(CommandButton)4个。控件属性设置: Form1 Label1 Caption 诗词记忆练习Caption 静夜思 Font 一号,隶书Label2 Label3 Caption 床前明月光,Caption 疑是地上霜。Font 小二,隶书Font 小二,隶书Visible False Visible False Label4 Label5 Caption 举头望明月,Caption 低头思故乡。Font 小二,隶书Font 小二,隶书Visible False Visible False Command1 Command2

计算机一级VB上机理解练习知识题

2007—2008(2) VB上机练习题 1.设计一个数字钟表程序,界面如图所示。运行时单击窗体,显示当前的年月日星期及时间。 2.设计一个数学函数程序,界面如图所示。程序运行时,在文本框中输入任意数值,单击相应按钮标签中显示结果。文本框始终处于选中状态。 3.设计口令检测界面,口令自定,运行初始如第一幅图,若口令错,则如第二幅图;否则,将显示另一欢迎窗口,如第三幅图所示。在连续三次输入错误口令后,给出警告并结束运行。 4.设计一个程序,用户界面如下图所示。程序运行后,单击“计算”,求出应付款额;单击“清除”,清除所有文本框内容。

5.输入一个学生的学号和考试成绩,然后按如图格式在图片框中输出学号、考试成绩及评语,评语:90~100优秀;80~89良好;70~79中等;60~69及格;0~59不及格。 6.设计一个程序,用户界面如下图所示。程序运行后,单击Command1按钮,求出最大最小数。 7.设计一个100(随机函数产生)之内的四则运算题,界面如下。

8.设计一个窗体Forml,界面如右图所示。编写适当的 事件过程,程序运行后在第一个文本框中输入圆的半径, 单击“计算”按钮,分别在第二个和第三个文本框中显示 圆的面积和周长。 9.界面如下图所示。编写适当的事件过程,程序运行后在三个文本框中分别输入三角形的边长值,单击“判断并计算”按钮,判断它们是否能组成三角形,如果可以在Text4中显示三角形的面积,否则在Text4中显示“FALSE”。

10.某工程运行时,图片框中图可以任意。单击“隐藏图像”按钮(command2)界面如右图,单击“显示图像”按钮(command1)界面如左图,编写适当的事件过程。 11.在文本框T1中打印100~999之间的所有水仙花数。 (该数为各位数字的立方和。例如:153=1 3+5 3+3 3) 12.有一数列,它的头2个数为0、1,以后的每个数都是其前2个数之和。编程在文本框T1中输出所有这些数列,直到第30个数或最后一项等于1000为止,同时在另一文本框中输出它们的和。 13. 在窗体上画两个命令按钮分别求12+22+32+42+……+1002和1-3+5-7+…+(-1)n+1(2n-1)的累加和。并将结果输出到Label1和Label2中。 14.在窗体上画两个文本框,其名为Text1和Text2,内容为空白,再画一个命令按钮,名为C1,

VB练习题(上机)含标准答案

第一部分 1在窗体上添加一个命令按钮(名称为Cmd1,标题为"输出平均值")。程序运行后,单击命令按钮完成以下工作: ①随机产生20个0到1000的整数,将其放入一个一维数组中 ②求出所有元素的平均值,并显示在窗体上(如下图所示) PrivateSub Cmd1_Click() Dim a%(19), i%,sum!, aver! Randomize Fori= 0 To19 a(i) =Int(Rnd * 1001) sum = sum +a(i) Nexti aver = sum/20 Print aver EndSub 2 请在名称为Form1的窗体上添加一个名称为Text1的文本框和一个名称为C1、标题为"转换"的命令按钮,如下图所示。在程序运行时,单击"转换"按钮,可以把Text1中的小写字母转换为大写,把大写字母转换为小写,其他字符不变。 Private Sub C1_Click() Dim ch As String, ch1 As String, i% ch= Text1 For i = 1 To Len(ch) If Asc(Mid(ch,i, 1)) >= 65 And Asc(Mid(ch, i, 1)) <= 90Then ch1= ch1 + LCase(Mid(ch, i, 1))

Else ch1 = ch1 + UCase(Mid(ch, i, 1)) End If Next i Text1 = Text1+ vbCrLf Text1= Text1 + ch1 End Sub 3 在窗体上添加一个命令按钮(名称为MyCmd1,标题为"输出最大值")。程序运行后,单击命令按钮完成以下工作: ①随机产生30个0~1000的整数,将其放入一个一维数组中 ②求出其中的最大值,并显示在窗体上。 Private SubMyCmd1_Click() Dima%(29), i%, max% Randomize For i = 0 To 29 a(i) =Int(Rnd * 1001) Next i max = a(0) Fori = 1 To 29 If a(i) > max Then max = a(i) Next i Print max End Sub 4 请设计如下图所示窗体界面。程序运行时,在选中一个或两个复选框和一个单选按钮时,单击命令按钮,则对文本框中的文本内容做相应的设置。请编写适当的事件过程,完成上述功能。

学年第二学期VB期末上机练习题

2011-2012学年第二学期VB期末上机练习题 1.设计"健康称"程序,具体要求如下: ●将两个文本框的文字对齐方式均设置为右对齐,最多接受3个字符;窗体标题为“健康 称”,固定边框; ●两个文本框均不接受非数字键; ●单击“健康状况”按钮后,根据计算公式将相应提示信息通过标签显示在按钮下面,如图 所示。计算公式为:标准体重=身高-105,体重高于标准体重的1.1倍为偏胖,提示“偏胖,加强锻炼,注意节食”;体重低于标准体重的90%为偏瘦,提示“偏瘦,增加营养”; 其他情况提示为“正常,继续保持!” 2.新建一个工程,完成应用程序的设计: ●取消窗体的最大化和最小化按钮。 ●当单击命令按钮时,实现窗口放大功能,放大后再单击该按钮则还原窗口。 ●同时可使用热键Alt+L和Alt+B实现窗口放大或还原。 ●当窗体大小改变后,总是让命令按钮位于窗口的中央。 3.新建一个工程,完成应用程序的设计。 (1)当单击"确定"按钮后,首先比较"用户名"和"原密码"是否一致,若一致且都为"admin",则继续执行步骤2;否则弹出消息框,提示用户出错,并让用户重新输入; (2)比较“新密码(N)”和“新密码(S)”,若两者一致,弹出密码修改成功消息框,程序终止执行。否则弹出错误消息,并让用户重新输入。 (3)当单击“取消”按钮时,程序终止执行。 (4)当按“Tab”键时,保证按照“用户名”、“原密码”、“新密码(N)”、“新密码(S)”、“确定”按钮和“取消”按钮顺序访问各控件。

4.完成“计算平均成绩”应用程序的设计。 ●在输入或修改单科成绩的同时计算平均分,即在"高数"、"英语"和"计算机"文本框内容 发生改变时,就要立即重新计算平均分,并将计算结果在平均成绩文本框中显示。 ●“平均成绩”文本框不允许编辑,即不能手工修改。 ●各单科成绩框中只能输入数字,不能输入字母或汉字,否则不予显示,并发出错误提示 音。 5.新建一个工程,完成“密码检验”程序的设计。 ●文本框Text1,用于输入密码。文本框中输入的字符显示为*,并且最多可以接受7个字 符。 ●窗体的下半部有一个标签控件Label2,用来显示密码输入后的提示信息,它的文字对齐 方式为居中对齐,文字颜色为红色,宋体、常规、三号;标签的大小随字体自动调整,并设置为不可见。 ●当在文本框中输入密码“1234567”,并按回车后,标签Label2显示为“欢迎光临!”, 同时文本框就不能使用了;如果输入的密码与“1234567”不吻合,标签Label2显示为“密码不符,请再输入一遍!”,同时清空文本框的内容,允许再输入一遍;如果第二次输入的密码仍然与“1234567”不吻合,标签Label2显示为“非法用户,请退出程序!”,文本框就不能使用了。 6.新建一个工程,完成“编辑”程序的设计。 ●窗体的标题为“编辑”。

VB上机试题及答案

上机操作练习题 1.某数组有20个元素,其值为随机产生的两位整数。现要求将前10个元素与后10个元素对换。即第1个元素与第20个元素互换,第2个数与第19个元素互换,…,第10个元素与第11个元素互换。在窗体上输出数组原来各元素的值与对换后各元素的值。 Option explicit Dim a(1 to 20) as integer, I as integer, j as integer, t as integer Private Sub Form_Load() Show Print "原始数组是:" Randomize For i = 1 To 20 a(i) = Int(Rnd * 90) + 10 Print a(i); If i Mod 10 = 0 Then Print Next i Print Print "现在数组是:" For i = 1 To 10 j = 21 - i t = a(i): a(i) = a(j): a(j) = t Next i For i = 1 To 20 Print a(i); If i Mod 10 = 0 Then Print Next i End Sub 2.从数组中删除一个数。先定义一个一维数组,大小、数组的值自定。从键盘上输入一个数,若这个数在数组当中,就把它删除;若这个数不在数组中,提示“该数不在数组中” 注意:1)如果数组中存在多个与该数相同的元素,每一个都能删除; 2)能实现多次删除 Private Sub Form_Load() Show ReDim a(9) As Integer m = 1 Print "原来数组为:" For i = 0 To 9 a(i) = InputBox("请输入第" & m & "个数:") Print a(i); m = m + 1 Next i Print n = InputBox("查找的数是:") i = 0: flag = False

VB实验--------所有实验题目

实验题目 总体要求:本学期的所有的实验题目,希望同学们按如下步骤认真做, (1)先画出处理界面(窗体); (2)再给出处理步骤, (3)写出程序代码: 可参考下面的例题: 例如:设计程序,求1+2+3+...+N 的和值。 其处理过程是: (一)设计界面(在纸上画出界面,并注明各控件的名称): (二)处理步骤: 单击命令按钮,按以下步骤处理 (1)定义3个变量:N ,s ,x ,分别用于存放:输入的数值,和值,控制循环 (2)将文本框1的值,提供给变量N ; (3)s=0(累加前,将变量s 初始化为0); (4)X=1(设置循环的开始值) (5) 当X<=N 时 重复执行 S=s+x X=X+1 (5)在文本框2中显示和值S (三)编写有关的代码: Private Sub Command1_Click() Dim n%,s%,x% N=val(text1.text) S=0 X=1 Do while x<=n S=s+x X=x+1 Loop Text2=s End Sub 文本框1:TEXT1 文本框2:TEXT2 1:Command1 标签1:Label1 标签2:

实验一:用语言或流程图描述处理步骤(1次) 1.判定一个数X是否是偶数的处理步骤; 2.写出求5的阶乘的计算步骤; 3.写出求1+2+3+...... +100的计算过程; 4.写出计算1!+2!+3!+4!+......+20!的计算步骤; 5.写出求一元二次方程解的处理步骤; 6.给出将三个整数A,B,C按从小到大的顺序排列的处理步骤; 实验二:表达式及其运算的实现(1次) 1.设计一个程序,完成利用文本框输入任意两个数的乘法运算,并显示计算结果。 2.进一步完善程序,完成利用文本框输入任意两个数的加法、减法、乘法、除法运 算,并显示计算结果, 3.再进一步,改进,完成,利用随机函数,产生任意两个100到200之间的整数, 并完成两个数的加法、减法、乘法、除法运算,并显示计算结果。 4.求方程AX+B=0的解。 5.表达式: 2 3z y x x e x+ + + + 当输入x,y,z值求该表达式的值. 6.思考: 求方程AX2+BX+C=0 的解. 7.对于第4题,当提供A,B的值后,输出该式子 例如,当A=3,B=4, 输出:3X+4=0 实验三顺序程序设计(1次) 1.利用InputBox函数输入一个正实数,用Print方法在窗体上打印出其平方值、平方根、立方值,结果保留2位有效数字。 2.编写一个华氏温度与摄氏温度之间的转换程序,运行界面如图2-3-5所示。转换公式为:F=9/5×C+32及C=5/9(F-32);其中,F:华氏温度;C:摄氏温度。 3求方程AX+B=0的解。当提供A,B的值后,输出该式子 例如,当A=3,B=4, 输出:3X+4=0,并输出方程的解。

相关主题
文本预览
相关文档 最新文档