当前位置:文档之家› vb典型程序示例

vb典型程序示例

vb典型程序示例
vb典型程序示例

1、设计采用欧几里德算法求解两个自然数的最大公约数的程序。

Private Sub command1_click()

Dim m As Long, n As Long

Dim r As Long

m = Val(Text1.Text)

n = Val(Text2.Text)

If m < 1 Or n < 1 Then

Text3.Text = "数据错误"

Else

Do

r = m Mod n

m = n

n = r

Loop Until r = 0

Text3.Text = CStr(m)

End If

End Sub

2、从由字母、数字组成的字符串中找出所有大写字母并逆序输出的程序

Private Sub Command1_Click()

Dim s As String, d As String, t As String

Dim i As Integer

Text1.SetFocus

s = Text1.Text

For i = 1 To Len(s)

If Mid(s, i, 1) >= "A" And Mid(s, i, 1) <= "Z" Then

t = t & Mid(s, i, 1)

End If

Next i

For i = Len(t) To 1 Step -1

d = d & Mid(t, i, 1)

Next i

Text2.Text = d

End Sub

3、编写程序,找出所有三位水仙花数。所谓水仙花,是指各位数字的立方和等于该数本身的数。例如,153=1^3+5^3+3^3,,所以153是一个水仙花数。

Option Explicit

Private Sub command1_click()

Dim I As Integer, a As Integer, b As Integer, c As Integer

Dim st As String

For a = 1 To 9

For b = 0 To 9

For c = 0 To 9

I = a * 100 + b * 10 + c

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

st = I & "=" & a & "^3+" & b & "^3+" & c & "^3"

List1.AddItem st

End If

Next c

Next b

Next a

End Sub

4、将一个二进制数原码转换成补码。

Option Explicit

Private Sub command1_click()

Dim source As String, I As Integer

Dim D As String * 1

source = Text1.Text

If Mid(source, 1, 1) <> "1" Then

Text2.Text = source

Text3.Text = source

Else

For I = Len(source) To 2 Step -1

If Mid(source, I, 1) = "1" Then

Mid(source, I, 1) = "0"

Else

Mid(source, I, 1) = "1"

End If

Next I

Text2.Text = source

Text3.Text = source

D = "1"

For I = Len(source) To 2 Step -1

If Mid(source, I, 1) = "1" And D = "1" Then

Mid(source, I, 1) = "0"

D = "1"

ElseIf Mid(source, I, 1) = "0" And D = "1" Then

Mid(source, I, 1) = "1"

D = "0"

End If

Next I

Text3.Text = source

End If

End Sub

5、编写程序,随机生成100个两位整数,并统计出其中小于等于40、大于40小于等于70及大于70的数据个数。

Private Sub command1_click()

Dim I As Integer

Dim s As Integer

Dim s1 As Integer

Dim s2 As Integer

Dim s3 As Integer

For I = 1 To 100

s = Int(Rnd * 90 + 10)

Select Case s

Case Is <= 40

s1 = s1 + 1

Case Is <= 70

s2 = s2 + 1

Case Else

s3 = s3 + 1

End Select

Next I

Text1.Text = CStr(s1)

Text2.Text = CStr(s2)

Text3.Text = CStr(s3)

End Sub

6、编写程序,输入正整数n, 求其对应的二进制数。

Private Sub command1_click()

Dim s As String

Dim t As Integer

t = V al(Text1.Text)

Do While t <> 0

s = CStr(t Mod 2) + s

t = t \ 2

Loop

Text2.Text = s

End Sub

7、编写程序,求出100之内的所有勾股数。所谓勾股数,是指满足条件a^2+b^2=c^2

(a <>b)的自然数。

Private Sub Command1_Click()

Dim a As Integer

Dim b As Integer

Dim c As Integer

For a = 1 To 100

For b = a + 1 To 100

For c = b + 1 To 100

If a ^ 2 + b ^ 2 = c ^ 2 Then

List1.AddItem CStr(c) & "^2=" & CStr(a) & "^2+" & CStr(b) & "^2"

End If

Next c

Next b

Next a

End Sub

8、设计一个用二分法求方程x^3-x^4+4x^2-1=0在区间【0.,1】上的一个实根。算法提示:若方程f(x)=0在区间【a,b】上有一个实根,则f(a)与f(b)必然异号,即f(a)*f(b)<0;设c= (a+b)/2,若f(a)*f(c)>0,则令a=c,否则令b=c。当b-c的绝对值小于或等于给定误差要求时,则c就是要求的根。

Private Function f(x As Single) As Double

f = x ^ 3 - x ^ 4 + 4 * x ^ 2 - 1

End Function

Private Sub Command1_Click()

Dim a As Single '

Dim b As Single

Dim c As Single

a = 0:

b = 1

If f(a) * f(b) < 0 Then

Do

c = (a + b) / 2

If f(a) * f(c) > 0 Then

a = c

Else

b = c

End If

Loop Until Abs(b - c) < 0.000001 And f(b) * f(c) < 0

End If

Print c

End Sub

9、找出100以内的所有素数,存放在数组Prime 中,并将所找到的素数按每行10个的形式显示在窗体上。

Option Base 1

Option Explicit

Private Sub form_click()

Dim prime(50) As Integer, I As Integer

Dim k As Integer, m As Integer, j As Integer

prime(1) = 2

m = 1

For I = 3 To 99 Step 2

For k = 2 To Sqr(I)

If I Mod k = 0 Then Exit For

Next k

If k > Sqr(I) Then

m = m + 1

prime(m) = I

End If

Next I

k = 0

For j = 1 To m

k = k + 1

Print prime(j);

If k Mod 10 = 0 Then Print

Next j

End Sub

10、随即生成10个两两互质的数,并按从小到大的顺序存放在listbox中.。Option Explicit

Private Sub command1_click()

Dim p As Integer, I As Integer, idx As Integer

Dim j As Integer

List1.List(0) = Int(Rnd * (9999 - 1000)) + 1000

Do

p = Int(Rnd * (9999 - 1000)) + 1000

For I = 0 To List1.ListCount - 1

For j = 2 To p

If p Mod j = 0 And List1.List(I) Mod j = 0 Then

Exit For

End If

Next j

If j <= p Then Exit For

Next I

If I > List1.ListCount - 1 Then

idx = 0

Do While p < List1.List(idx)

idx = idx + 1

If idx > List1.ListCount - 1 Then Exit Do

Loop

List1.AddItem p, idx

End If

Loop Until List1.ListCount = 10

End Sub

11、随机生成10个1-99的整数,用选择法对10个数进行排序。

Option Explicit

Option Base 1

Private Sub cmdsort_click()

Dim sort(10) As Integer, temp As Integer

Dim I As Integer, j As Integer

Randomize

For I = 1 To 10

sort(I) = Int(Rnd * (100 - 1)) + 1

Text1 = Text1 & Str(sort(I))

Next I

For I = 1 To 9

For j = I + 1 To 10

If sort(I) > sort(j) Then

temp = sort(I)

sort(I) = sort(j)

sort(j) = temp

End If

Next j

Text2 = Text2 & Str(sort(I))

Next I

Text2 = Text2 & Str(sort(I))

End Sub

12、编写程序实现顺序查找的功能。

Option Explicit

Option Base 1

Dim search As V ariant

Private Sub Command2_Click()

Dim I As Integer, find As Integer

Text2 = ""

find = InputBox("输入要查找的数")

For I = 1 To UBound(search)

If search(I) = find Then Exit For

Next I

If I <= UBound(search) Then

Text2 = "要查找的数" & Str(search(I)) & " 是 search(" & Str(I) & ")" Else

Text2 = "在数列中没有找到" & Str(find)

End If

End Sub

Private Sub Command1_Click()

Dim I As Integer, Element As Variant

search = Array(34, 12, 56, 81, 74, 59, 83, 91, 26)

For Each Element In search

Text1 = Text1 & Str(Element)

Next Element

End Sub

13、编写程序实现二分查找功能。

Option Explicit

Option Base 1

Dim search As V ariant

Private Sub Command1_Click()

Dim v As V ariant

search = Array(12, 17, 23, 28, 30, 39, 41, 46, 57, 61, 78, 83, 85, 89, 93)

For Each v In search

Text1 = Text1 & Str(v)

Next v

End Sub

Private Sub Command2_Click()

Dim left As Integer, right As Integer

Dim mid As Integer, flg As Boolean

Dim find As Integer

find = InputBox("输入要查找的数")

left = 1: right = UBound(search)

flg = False

Do While left <= right

mid = (right + left) / 2

If search(mid) = find Then

flg = True

Exit Do

ElseIf find > search(mid) Then

left = mid + 1

Else

right = mid - 1

End If

Loop

If flg Then

Text2 = " 要查找的数" & "在search(" & Str(mid) & ")中" Else

Text2 = Str(find) & "不在数组中"

End If

End Sub

14、设A是3*2的矩阵,B是2*3的矩阵,求A*B。

Option Explicit

Option Base 1

Dim Idx As Integer

Dim A(3, 2) As Integer, B(2, 3) As Integer

Dim C(3, 3) As Integer

Private Sub Command1_Click()

Dim I As Integer, J As Integer

Dim t As Integer

For I = 1 To 3

For J = 1 To 2

A(I, J) = Text1(t)

t = t + 1

Next J

Next I

t = 0

For I = 1 To 2

For J = 1 To 3

B(I, J) = Text2(t)

t = t + 1

Next J

Next I

End Sub

Private Sub Command2_Click()

Dim I As Integer, J As Integer

Dim K As Integer, t As Integer

For I = 1 To 3

For J = 1 To 3

For K = 1 To 2

C(I, J) = C(I, J) + A(I, K) * B(K, J)

Next K

Text3(t) = C(I, J)

t = t + 1

Next J

Next I

End Sub

Private Sub Text1_Change(Index As Integer)

Idx = Idx + 1

If Idx = 6 Then

Text2(0).SetFocus

Idx = 0

Else

Text1(Idx).SetFocus

End If

End Sub

Private Sub Text2_Change(Index As Integer)

Idx = Idx + 1

If Idx = 6 Then

Command1.SetFocus

Idx = 0

Else

Text2(Idx).SetFocus

End If

End Sub

15、求出裴波拉契数列的前18项,并按顺序将它们显示在一个文本框内。裴波拉契数列的递推公式如下:

1 n=1

F(n)= 1 n=2

F(n-2)+F(n-1) n>=3

Option Base 1

Option Explicit

Private Sub Form_Click()

Dim Fb(18) As Integer, I As Integer

Fb(1) = 1: Fb(2) = 1

For I = 3 To 18

Fb(I) = Fb(I - 2) + Fb(I - 1)

Next I

For I = 1 To 18

Text1 = Text1 & Str(Fb(I)) & ""

Next I

End Sub

16、统计字母(不分大小写)在文本中出现的次数。

Option Explicit

Private Sub Command1_Click()

Dim St As String, Idx As Integer

Dim A(0 To 25) As Integer

Dim I As Integer, Js As Integer

Dim Ch As String * 1, L As Integer

St = Text1.Text

L = Len(St)

For I = 1 To L

Ch = Mid(St, I, 1)

If Ch >= "A" And Ch <= "Z" Then

Idx = Asc(Ch) - Asc("A")

A(Idx) = A(Idx) + 1

ElseIf Ch >= "a" And Ch <= "z" Then

Idx = Asc(Ch) - Asc("a")

A(Idx) = A(Idx) + 1

End If

Next I

For I = 0 To 25

If A(I) <> 0 Then

Js = Js + 1

Text2 = Text2 & Chr(I + Asc("A")) & ":" & Str(A(I)) & ""

If Js Mod 5 = 0 Then Text2 = Text2 & Chr(13) & Chr(10)

End If

Next I

End Sub

17、设有15名学生按照已有的编号顺序围成一圈,1~3报数,凡报到3者出圈,并给他一个新的编号。最先出圈者新的编号为1 ,第二个出圈者新的编号为2,以此类推,直到所有的学生都重新编号。将学生的新老编号对应关系打印出来。

Option Base 1

Private Sub Command1_Click()

Dim old_No(15) As Integer, New_No(15) As Integer

Dim I As Integer, Idx As Integer, Count As Integer

For I = 1 To 15

old_No(I) = 1

Next I

Idx = 0

For I = 1 To 15

Count = 0

Do While Count < 3

Idx = Idx + 1

If Idx > 15 Then Idx = 1

Count = old_No(Idx) + Count

Loop

old_No(Idx) = 0

New_No(I) = Idx

Next I

For I = 1 To 15

Text1.Text = Text1.Text & Right(" " & CStr(I), 3)

Text2.Text = Text2.Text & Right(" " & CStr(New_No(I)), 3)

Next I

End Sub

18、找出从1~9这9个数字中任取6个不同数字组成的素数。

Private Sub Command1_Click()

Dim A(0 To 9) As Integer, I As Long, K As Integer

Dim J As Integer, S As String, N As Long

For I = 123456 To 987654

Erase A

A(0) = 1

S = CStr(I)

For J = 1 To 6

K = V al(Mid(S, J, 1))

If A(K) = 0 Then

A(K) = 1

Else

Exit For

End If

Next J

If J > 6 Then

For N = 2 To Sqr(I)

If i Mod N = 0 Then Exit For

Next N

If N > Sqr(I) Then

List1.AddItem I

End If

End If

Next I

End Sub

19、随机生成15个100以内的正整数并显示在一个文本框中,再将所有对称位置的两个数据对调后显示在另一个文本框中(第1个数与第15个数对调,第2个数与第14个数对调,第3个数与第13个数对调……).

Option Base 1

Private Sub Command1_Click()

Dim a(15) As Integer

Dim i As Integer

Dim k As Integer

Text1.Text = ""

Text2.Text = ""

Randomize

For i = 1 To 15

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

Text1.Text = Text1.Text & Str(a(i))

Next i

For i = 1 To 7

k = a(i)

a(i) = a(16 - i)

a(16 - i) = k

Next i

For i = 1 To 15

Text2.Text = Text2.Text & Str(a(i))

Next i

End Sub

20、随机生成20个100以内的两位正整数,统计其中有多少个不相同的数Option Base 1

Private Sub Command1_Click()

Dim i As Integer

Dim j As Integer

Dim a(20) As Integer

Dim b() As Integer

k = 0

Randomize

Text1.Text = ""

Text2.Text = ""

For i = 1 To 20

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

Text1.Text = Text1.Text & Str(a(i))

Next i

k = k + 1

ReDim Preserve b(k) As Integer

b(k) = a(1)

For i = 2 To 20

For j = 1 To k

If a(i) = b(j) Then Exit For

Next j

If j > k Then

k = k + 1

ReDim Preserve b(k) As Integer

b(k) = a(i)

End If

Next i

Print k

For j = 1 To k

Text2.Text = Text2.Text & Str(b(j))

Next j

End Sub

21、20个两位随机正整数围成一圈,找出每四个相邻数之和中的最大值,并指出是哪四个相邻的数。

Option Base 1

Private Sub command1_click()

Dim i As Integer

Dim a(20) As Integer

Dim k As Integer

Dim j As Integer

Dim m1 As Integer, m2 As Integer, m3 As Integer

Form1.Cls

Text1.Text = ""

Randomize

For i = 1 To 20

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

Text1.Text = Text1.Text & Str(a(i))

Next i

k = a(1) + a(2) + a(3) + a(4)

j = 1

For i = 2 To 20

m1 = i + 1

If m1 > 20 Then m1 = m1 Mod 20

m2 = i + 2

If m2 > 20 Then m2 = m2 Mod 20

m3 = i + 3

If m3 > 20 Then m3 = m3 Mod 20

If a(i) + a(m1) + a(m2) + a(m3) > k Then

k = a(i) + a(m1) + a(m2) + a(m3)

j = i

End If

Next i

Print k, j

End Sub

22、按金字塔形状打印杨辉三角形。

1

1 1

1 2 1

1 3 3 1

1 4 6 4 1

1 5 10 10 5 1

Option Base 1

Private Sub Command1_Click()

Dim a(6, 6) As Integer

Dim i As Integer, j As Integer

For i = 1 To 6

a(i, 1) = 1: a(i, i) = 1

Next i

For i = 3 To 6

For j = 2 To i - 1

a(i, j) = a(i - 1, j - 1) + a(i - 1, j)

Next j

Next i

For i = 1 To 6

Print Space(12 - 2 * i)

For j = 1 To i

Print a(i, j);

Next j

Print

Next i

End Sub

23、编写打印N阶幻阵的程序。

幻阵是由1~N的平方个自然数组成的齐次方阵(N是一个奇数),方阵的每一行、每一列及两条对角线上的元素和相等。

幻阵的编排规律如下(假定幻阵名为A):

(1) 1 放在中间一行的中间位置。即I =N,J=(N+1)/2,A(I,J)=1.

(2)下一个数放在前一个数的右下方,即A(I+1,J+1).

(a)若I+1>N,且J+1<=N,则下一个数放在第一行的下一列位置。

(b)若I+1<=N, 且J+1>N,则下一个数放在下一行的第一列位置。

(c)若I+1>N, 且J+1>N,则下一个数放在前一个数的上方位置。

(d)若I+1<=N,J+1<=N,但右下方位置已存放数据,则下一个数放在前一个数的上方。(3)重复第二步,直到N的平方个数都放入方阵中。

下面是一个3阶幻阵示例:

Dim a(3, 3) As Integer

Dim i As Integer, j As Integer

Dim k As Integer

k = 1: i = 3: j = 2

a(3, 2) = k

Do

k = k + 1

If k >= 10 Then Exit Do

If i + 1 > 3 And j + 1 <= 3 Then

a(1, j + 1) = k

i = 1: j = j + 1

ElseIf i + 1 <= 3 And j + 1 > 3 Then

a(i + 1, 1) = k

i = i + 1: j = 1

ElseIf i + 1 > 3 And j + 1 > 3 Then

a(i - 1, j) = k

i = i - 1

ElseIf i + 1 <= 3 And j + 1 <= 3 Then

If a(i + 1, j + 1) > 0 Then

a(i - 1, j) = k

i = i - 1

Else

a(i + 1, j + 1) = k

i = i + 1: j = j + 1

End If

End If

Loop

For i = 1 To 3

For j = 1 To 3

Print a(i, j);

Next j

Print

Next i

End Sub

24、对N阶方阵A中的与福对角线平行的各条斜线(共有2N-1条,如下图所示)上的元素进

Max以及具有最大值的斜线上的最大元素。

Private Sub Command1_Click()

Dim i As Integer, j As Integer

Dim a(4, 4) As Integer

Dim b(6) As Integer

Dim max As Integer

Dim k As Integer

Dim max1(6) As Integer

Randomize

Form1.Cls

For i = 1 To 4

For j = 1 To 4

a(i, j) = Int(Rnd * 9 + 1)

If i + j = 2 Then

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

If a(i, j) > max1(1) Then max1(1) = a(i, j)

End If

If i + j = 3 Then

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

If a(i, j) > max1(2) Then max1(2) = a(i, j) End If

If i + j = 4 Then

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

If a(i, j) > max1(3) Then max1(3) = a(i, j) End If

If i + j = 6 Then

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

If a(i, j) > max1(4) Then max1(4) = a(i, j) End If

If i + j = 7 Then

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

If a(i, j) > max1(5) Then max1(5) = a(i, j) End If

If i + j = 8 Then

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

If a(i, j) > max1(6) Then max1(6) = a(i, j) End If

Print a(i, j);

Next j

Print

Next i

max = b(1)

Print

Print b(1);

For i = 2 To 6

If b(i) > max Then

max = b(i)

k = i

End If

Print b(i);

Next i

Print

Print max, max1(k)

End Sub

vb程序设计的几个简单例子

Option Explicit Private Sub Command1_Click() Dim i%, j%, r! i = Val(Text1.Text) j = Val(Text2.Text) Picture1.Print i; j; Call gysh(i, j) Picture1.Print "最大公约数是" & i r = Val(InputBox("输入半径")) Call S(r) End Sub Public Function gysh(m As Integer, n As Integer) As Integer Dim t% Do t = m Mod n: m = n: n = t Loop While t <> 0 End Function Public function S(r!) Const pi = 3.1415926 S = pi * r ^ 2 MsgBox "圆面积为:" & S End function Public Function 定积分() End Function

Dim a() As Integer, i%, j%, n%, t% Private Sub Command1_Click() Picture1.Print "排序前的数组为:" n = V al(InputBox("请输入一个3到100的整数")) ReDim a(1 To n) Randomize For i = 1 To n a(i) = Int(Rnd * 100) + 1 Picture1.Print Tab(((i - 1) Mod 5) * 6); a(i); Next i End Sub Private Sub Command2_Click() Picture1.Print Picture1.Print "排序后的数组为:" For i = 1 To n - 1 For j = i + 1 To n If a(i) > a(j) Then t = a(i) a(i) = a(j) a(j) = t End If Next Next For i = 1 To n Picture1.Print Tab(((i - 1) Mod 5) * 6); a(i); Next End Sub

VB程序设计 试题与答案-1

《VB程序设计基础》试题 一、选择题:(每空 2 分,共 20 分) 1. 与传统的程序设计语言相比,Visual Basic最突出的特点是___________。 A. 结构化程序设计 B. 程序开发环境 C. 事件驱动编程机制 D. 程序调试技术 2. Visual Basic 是一种面向对象的程序设计语言,构成对象的三要素是________。 A. 属性、事件、方法 B. 控件、属性、事件 C. 窗体、控件、过程 D. 窗体、控件、模块 3. 窗体模块保存在一个扩展名为__________的文件中。 A. bas B. vbp C. vbg D. frm 4. 下面正确的赋值语句是_________。 A. x+y=30 B. y=π*r*r C. y=x+30 D. 3y=x 5. 设S=“492”,表达式Right(S,1)+Left(S,1)+Mid(S,2,1)的值为__________。 A.“492” B.“249” C.“294” D.“429” 6. 将数学表达式a≤b≤c写成Visual Basic表达式,正确的是__________。 A. a<=b<=c B. a<=b Or b<=c C. a<=b And b<=c D. a<=b Not b<=c 7.为了把焦点移到文本框,所使用的方法是___________。 A. SetFocus B.Visible C.Refresh D.GetFocus 8. INT(100*RND)产生的随机整数的闭区间是_____________。 A.[0,100] B.[1,100] C.[1,99] D.[0,99] 9. 一个数组说明为Dim a(0 to 5,1 to 5) As Integer,则该数组共有_________个 元素。 A. 5 B. 36 C. 30 D. 不确定 10. 下面过程定义语句合法的是____________。

程序设计语言VB_习题集(含答案)

《程序设计语言VB》课程习题集 一、单选题 1. Visual Basic是一种面向()的程序设计语言。 A. 用户 B. 事件 C. 程序 D. 对象 2.在Visual Basic6.0中规定工程文件的扩展名是()。 A. vbp B. for C. frm D. bas 3. Visual Basic6.0中规定窗体文件的扩展名是()。 A. for B. frm C. vbp D. bas 4.如何使一个标签或按钮控件在运行时不可用()。 A. 把它的Visible属性设置成False B. 把它的Visible属性设置成True C. 把它的Enabled属性设置成False D. 把它的Enabled属性设置成True 5.控件的字体可在属性窗口的()属性中调整? A. Font B. Color C. Text D. Caption 6.若要将某命令按钮设置为默认命令按钮。则应设置为True的属性是()。 A. Value B. Cancel C. Default D. Enabled 7.在VB中,记录对象数据的是()。 A. 方法 B. 事件 C. 属性

8.在文本框上显示文本的属性是()。 A. Value B. Text C. Print D. Enabled 9. InputBox函数返回值的类型为()。 A. 字符串 B. 数值 C. 变体 D. 数值或字符串(视输入的数据而定) 10.设有语句:a = InputBox("请输入数值:","输入示例", "100") 程序执行后,若从键盘上输入数值20并按回车键,则变量a的值是()。 A. 字符串"20" B. 字符串"120" C. 默认值100 D. 数值120 11.下列控件中可用于接受用户输入文本,又可用于显示文本的是()。 A. Label控件 B. TextBox控件 C. Timer控件 D. CommandButton控件 12.语句PRINT "25*4"的输出结果是()。 A. 25*4 B. "100" C. 100 D. 出现错误信息 13.只能用来显示字符信息的控件是()。 A. 文本框 B. 标签框 C. 图片框 D. 图像框 14.下列可作为Visual Basic变量名的是()。 A. A%A B. 4A C. ?xy D. Stemp 15.下列哪个符号不能作为VB中的变量名()。 A. timefly

完整word版,VB程序设计例题12例

索引 一、在窗体上画一个文本框,其名称为Text1,Text属性为空白。再画一个命令按钮,其名称为C1,Visible属性为False。编写适当的事件过程。程序运行后,如果在文本框中输入字符,则命令按钮出现。 二、计算圆的周长和面积:在窗体中添加一个文本框(Text1)和一个对应的标签(Label1),再添加两个命令按钮(Command1和Command2)和一个图片框(Picture1)。程序运行时,当单击Command1按钮后,计算圆的周长;当单击Command2按钮后,计算圆的面积;计算结果输出在图片框中。(要求在未输入半径前两个按钮呈灰色不可用。) 三、在窗体上添加三个文本框和对应的三个标签,标签的标题分别是“个位”、“十位”、“百位”。程序运行时,当单击窗体后,随机产生一个【100,999】区间内的整数,将它的个位、十位、百位数字分别显示在对应的文本框中。 四、设计一个计算程序:在窗体上添加四个文本框和四个对应的标签,标签的标题分别是“语文”、“数学”、“外语”、“平均成绩”,三个命令按钮,标题分别为“清除”、“计算”、“退出”。程序运行后,用户按“清除”按钮,则清除文本框中显示的内容,按“计算”按钮,则计算三科平均成绩,将计算结果显示在第四个文本框中(计算结果保留小数点后一位)。单击退出按钮则程序退出。 五、某税务部门征收所得税,规定如下:(1)收入200元以内,免征。(2)收入在200~400元,超过200元的部分纳税3%。(3)收入超过400元的部分,纳税4%。(4)当收入达5000元或超过时,将4%税金改为5%。编程序实现上述操作。 六、给定三角形的三条边的边长,计算三角形的面积。编写程序,首选判断给出的三条边能否构成三角形,如可以构成,则计算并输出该三角形的面积,否则要求重新输入。当输入-1时结束程序。 七、编程求100以内的全部素数。 八、编程打印钻石图案。 九、输出杨辉三角形。 十、有一个数组,包含了10个不同的随机整数(20~90),要求计算出它们的平均值,并输出这个数组中最接近于平均值的数。 十一、在一个窗体上建有包含三个命令按钮的控件数组和一个文体框。编程实现当按下标题不同的命令按钮时,使文体框中文字的字体发生相应的变化。 十二、编程求1000以内的完全数。所谓完全数是指这样的自然数:它的各个约数(不包括该数本身)。如28=1+2+4+7+14就是一个完全数。

VB程序设计试题及答案一

V B程序设计试题及答案(一) 一、单选题 1. VB6.0是一种面向B 的编程环境。 (A) 机器(B) 对象 (C) 过程(D) 应用 2. 要使FormI窗体的标题栏显示"欢迎使用VB",以下D 语句是正确的。 (A) Forml.Caption=“欢迎使用VB” (B) Forml.Caption='欢迎使用VB' (C) Forml.Caption=欢迎使用VB (D) Forml.Caption="欢迎使用VB" 3. 若要使命令按钮不可操作,要对A 属性进行设置。 (A) EnabIed (B)Visible (C) Backcolor (D)Caption 4. 如果在窗体上已经创建了一个文本框对象TextI,可以通过C 事件获得输入键值的ASCII码。 (A) Change (B) LostFocus (C) KeyPress (D) GotFocus 5. 下面A 是合法的变量名。 (A) X_yz (B) 123ab。(C) integer (D) X-Y 6. 以下关系表达式中,其值为False的是A 。 (A) "ABC">"AbC" (B) "女">"男" (C) "BASIC"=UCase("basic) (D) "123"<"23" 7. 为了给x、y、z三个变量赋初值1,下面正确的赋值语句是A 。 (A) x=1:y=1:z=1 (B) x=1,y=1,z=1 (C) x=y=z=1 (D) xyz=1 8. VB提供了结构化程序设计的三种基本结构,三种基本结构是D 。 (A)递归结构、选择结构、循环结构 (B)选择结构、过程结构、顺序结构 (C)过程结构、输入输出结构、转向结构 (D)选择结构、循环结构、顺序结构 9. 下面If语句统计满足性别为男、职称为副教授以上、年龄小于40岁条件的人数,不正确的语句是 D 。 (A) If sex="男" And age=4O And InStr(duty,"教授")>O Then n=n+l (B) If sex="男" And age=4O And (duty="教授" Or duty="副教授") Then n=n+l (C) If sex="男" And age=4O And Right(duty,2)="教授" Then n=n+l (D) If sex="男" And age=4O And duty="教授" And duty="副教授" Then n=n+l 10.下列关于Do…Loop循环结构执行循环次数的描述正确的是D 。 (A) Do While…Loop循环和Do…Loop Until循环至少都执行一次 (B) Do While…Loop循环和Do…Loop Until循环可能都不执行 (C) Do While…Loop循环至少执行一次和Do…Loop Until循环可能不执行 (D) Do While…Loop循环可能不执行和Do…Loop Until循环至少执行一次 11.以下B 是正确的For…Next结构。 (A) For x=1 To Step 10 (B) For x=3 To -3 Step -3 ……

VB程序设计例题程序改错程序填空程序设计

'以下程序段用于输出杨辉三角:结果样式如图1 ' Private Sub Form_Click() Const n = 10 Dim arr(n, n) As Integer For I = 1 To n arr(I, I) = 1 '**********SPACE********** 【arr(I, 1) = 1】 Next I For I = 3 To n For j = 2 To I - 1 '**********SPACE********** arr(i, j) =arr(i-1,j-1)+arr(i-1,j) Next j Next I For I = 1 To n For j = 1 To I '**********SPACE********** 【print arr(I,j)】 Next j Print Next I End Sub Option Explicit '------------------------------------------------ '【程序改错】 '------------------------------------------------ '题目:用自定义函数的方法求sum(x),求当-1≤x≤1时,' sum(x)=x/2!+x^2/3!+x^3/4!+……+x^n/(n+1)!, ' 当x〉1或x〈-1时,函数值为0。当n〈=0时,输入数' 据错误。X、N都是由用户输入。 '------------------------------------------------ '注意:不可增加或删除程序行,也不可以更改程序结构 '------------------------------------------------ Private Sub Command1_Click() Dim s As Single Dim n As Integer, x As Single, k As Integer n = Val(InputBox("Please input a integer value:"))

VB程序设计试题及答案(一)

VB程序设计试题及答案(一) 一、单选题 1. 是一种面向B 的编程环境。 (A) 机器(B) 对象 (C) 过程(D) 应用 2. 要使FormI窗体的标题栏显示"欢迎使用VB",以下D 语句是正确的。 (A) =“欢迎使用VB” (B) ='欢迎使用VB' (C) =欢迎使用VB (D) ="欢迎使用VB" 3. 若要使命令按钮不可操作,要对A 属性进行设置。 (A) EnabIed (B)Visible (C) Backcolor (D)Caption 4. 如果在窗体上已经创建了一个文本框对象TextI,可以通过C 事件获得输入键值的ASCII码。 (A) Change (B) LostFocus (C) KeyPress (D) GotFocus 5. 下面A 是合法的变量名。 (A) X_yz (B) 123ab。(C) integer (D) X-Y 6. 以下关系表达式中,其值为False的是A 。 (A) "ABC">"AbC" (B) "女">"男" (C) "BASIC"=UCase("basic) (D) "123"<"23" 7. 为了给x、y、z三个变量赋初值1,下面正确的赋值语句是A 。 (A) x=1:y=1:z=1 (B) x=1,y=1,z=1 (C) x=y=z=1 (D) xyz=1 8. VB提供了结构化程序设计的三种基本结构,三种基本结构是D 。 (A)递归结构、选择结构、循环结构 (B)选择结构、过程结构、顺序结构 (C)过程结构、输入输出结构、转向结构 (D)选择结构、循环结构、顺序结构 9. 下面If语句统计满足性别为男、职称为副教授以上、年龄小于40岁条件的人数,不正确的语句是 D 。 (A) If sex="男" And age=4O And InStr(duty,"教授")>O Then n=n+l (B) If sex="男" And age=4O And (duty="教授" Or duty="副教授") Then n=n+l (C) If sex="男" And age=4O And Right(duty,2)="教授" Then n=n+l (D) If sex="男" And age=4O And duty="教授" And duty="副教授" Then n=n+l 10.下列关于Do…Loop循环结构执行循环次数的描述正确的是D 。 (A) Do While…Loop循环和Do…Loop Until循环至少都执行一次 (B) Do While…Loop循环和Do…Loop Until循环可能都不执行 (C) Do While…Loop循环至少执行一次和Do…Loop Until循环可能不执行 (D) Do While…Loop循环可能不执行和Do…Loop Until循环至少执行一次 11.以下B 是正确的For…Next结构。 (A) For x=1 To Step 10 (B) For x=3 To -3 Step -3 … … Next x Next x

VB可视化程序设计实例——小时钟

VB可视化程序设计实例——小时钟 本例专门针对程序设计初学者而设计,尤其适合第一次接触VB的学生学习。通过用VB来设计如图3.39所示的时钟程序,初步感受一下可视化和面向对象的程序设计过程。 图3.39 时钟程序运行效果 小时钟程序中包含窗体控件、标签控件和计时器控件等3个控件。窗体控件是小时钟程序运行时的窗口,标题栏上的标题是“时钟”,在右上角有最小化、最大化和关闭按钮。标签控件可以用来显示文本,本例中用来显示时间,如“9:48:57”。计时器控件每秒一次把计算机的当前系统时间显示到标签控件中,使得小时钟不停地运行。Array启动VB,首先显示“新建工程”对话框(图3.40),在选择“新建”选项卡中的“标 准EXE”项后,单击“打开”按钮,进入VB编程环境,如图3.41所示。 图3.40 “新建工程”对话框

图3.41 VB 可视化编程环境 除了标题栏、菜单栏和标准工具栏外,编程环境中还有工具箱、窗体和属性等窗口。 双击工具箱(图3.42)中的标签控件,在窗体Form1中放置可以显示文本信息的标签控件Label1,见图3.43。时钟的时、分和秒以后就显示在Label1中。拖曳Label1可以移动它,拖曳它的八个控制点,可以改变它的大小。 图3.42 工具箱 图3.43 label1控件 图3.44 计时器控件 双击工具箱中的计时器控件,在窗体Form1中放置计时器控件Timer1,见图3.44。计时器控件以一定的时间周期,调用一个事件。计时器控件只有在设计阶段出现在窗体上,程序运行时是不可见的,它的位置和大小无关紧要。 到目前为止,已经建立了窗体Form1、标签控件Label1和计时器控件Timer1等3个对象。下面,将设置它们的属性。 窗体窗口

《VB程序设计基础》模拟精彩试题

《VB程序设计》模拟试题 ●填空题 1.窗体模块的文件扩展名为 ___FRM_________ 、标准模块的文件扩展名为____BAS______ 、 类模块文件的扩展名为______CLS_______ 。 2.Visual Basic中数据类型可分为 _____标准数据类型________和用户自定义数据类型两大类,前者根据其取值的不同,可分为_____整型_________、 ______长整型_____、布尔型和 ____字符型_________。 3. Abs(-6.5)= _____6.5______;Int(-9.1)= ____-10_______。 4. "程序"& "设计"运算结果为 ___程序设计____ 。 5. Dim a, b as Boolean语句显式声明变量a是___变体___变量,b是___布尔__变量。 6. MsgBox函数的返回值中, VBRetry表示单击了____重试_____按钮,VBYes表示单击了___是_____按钮,VBNo表示单击了_____否____按钮。 7. 要加载窗体,可以在代码中使用___________语句,要显示窗体,可以在代码中使用___________方法,要隐藏窗体,可以在代码中使用Hide方法,要卸载窗体,可以在代码中使用___________方法。 8.对话框分为_________对话框和________对话框两种类型,其中_____________ 对话框最 常用。 9. 对象是Visual Basic应用程序的基本单元,它是由 ___类___创建的。在Visual Basic中可以用属性、 __方法___、___事件___ 来说明和衡量一个对象的特性。 10. 条件判断语句可以使用___If…then____________语句、 ____If…Then…Else______语句和 ______If…Then…ElseIf______语句。Select case 语句 11. 声明一个值为3.14的常量Pi的语句为___Const pi = 3.14______。 12. Do…Loop Until 循环结构中,当条件为____真____时结束循环。 13. 要显示弹出菜单,可以在代码中使用_____________事件。 14. 参数传递有__________方式、__________方式和命名传递方式,常量默认采用__________方式;变量默认采用__________方式;表达式默认采用__________方式。 15. 名称属性必须以一个__字母标点_开始并且最长可达40个字符,不能包括__符号___ 和 ___空格___。 16.Visual Basic的程序模块有3种:____窗体模块____ 、标准模块和 ____类模块____。 17.Visual Basic程序,按其语句代码执行的先后顺序,可以分为___顺序__结构、选择__结构和___循环____ 结构。 18.数组元素下标的下界默认为是_____________,如果要改变其默认值,应使用_____________。 ●判断题 ()1. Visual Basic运行程序的方法只有编译模式。 ()2. 语句Command1.visible=false 与Command1.enabled=false 是等价的。 ()3. InputBox函数和MsgBox函数一样,返回的是字符串。 ()4. 通过类模块,我们不可以根据需要建立自己的控件。 (×)5. 2.1E+5是合法的Visual Basic数据。 ()6. 根据占用内存方式的不同,可将数组分为常规数组和动态数组两种类型。 (√)7. x2是合法的变量名。 ()8. 按照文件的存取方式及其组成结构可以分为两种类型:文本文件和随机文件。

VB程序设计题库(全)

程序设计 第一题、 题目:(事件)单击窗体 (响应)求 50 以内所有偶数的和,并在窗体上输出来。 将结果存入变量 S 中。 代码: Dim I As Integer For i = 2 To 50 If (i Mod 2)=0 Then S=s+i End If Next Print (CStr(s)) 第二题 题目:(事件)双击窗体 (响应)求 s=1+1*2+1*2*3+ ?.+1*2*3* ?.*10 并将结果存入变量S 中代码: Dim i,j As Integer Dim k As Long k=1 s=0 For i =1To 10

For j=1 To i k=k*j Next s=s+k k=1 Next Print(CStr(s)) 第三题 题目:(事件)单击窗体 (响应)求 100 以内偶数的和,并将结果输出在窗体上。 将结果存入变量 SUM中 代码: Dim i As Integer For i =1 To 100 If i Mod 2 =0 Then Sum=sum+i End If Next Print sum 第四题 题目:(事件)单击窗体 (响应)编写程序求10*11*12+11*12*13+ ? .+15*16*17 的结果 并将结果输出到窗体上。将结果存入变量M中。

代码: Dim i,j As Integer Dim s As Long For i =10 To 15 s=1 For j = i To i +2 s=s*j Next m=m+s Next Print (CStr(m)) 第五题 题目:(事件)双击窗体 (响应)求 100 以内奇数的和,并将结果输出在窗体上。 将结果存入变量 SUM中。 代码: Dim i As Integer For i=1 To 100 If i Mod 2 = 1 Then sum = sum + i End If Next Print sum 第六题

VB程序设计复习题及答案

中南大学现代远程教育课程(专科)考试复习题及答案 《VB程序设计与应用》 一、选择题:在每小题给出的四个选项中,只有一项是符合题目要求的,请把所选项前的字母填在 题后的括号内。 1. Visual Basic程序中分隔一行中各语句的字符是()。[ ] A)‘ B): C)\ D)_ 2. 下列可作为Visual Basic的变量名的是()。[ ] A: Filename B: A(A+B)C: A%D D : Print 3. 要让菜单项无效,应将()属性值设置为False。 [ ] A. Visible B. Enabled C. Moveable D. Checked 4. 以下过程是()事件。 Prviate Sub Form_Load( ) …… End Sub [ ] A: 命令按钮的单击B: 命令按钮的装载 C; 窗体的装载D: 窗体的单击 5. Vb中描述文件扩展名的是()属性。[ ] A: Drive B: Pattern C: FileName D: Path 6. 关于Visual Basic中事件的说法中,不正确的为()。[ ] A)事件是由Visual Basic预先定义好的,能够被对象识别的动作 B)DblClick(双击)是Visual Basic中的一种事件 C)一个对象可以识别一个或多个事件 D)对于一个系统提供的对象可以识别哪些事件,需要程序员自己定义 7. 下列控件中可设置滚动条是()。 [ ] A. 检查框(复选框) B. 框架 C. 文本框 D. 标签框 8. 在Visual Basic中建立一个空窗体,( )不会是其默认名。 [ ] A. Form1 B. Form2 C. Formx D. Form10 9. Const One&=1,则One为()类型的常数。[ ] A)整型 B)字节型

vb程序的设计实例

vb程序设计实例 2009-5-22 15:37 提问者:淘淘的某在|悬赏分:20 |浏览次数:1688次 编写程序,设银行定期存款的年利率为:1年期2.25%,2年期2.43%,3年期为2.70%,5年期为2.88%(不记复利)。今有X元,5年以后使用,共有如下6中存法: ①存一次5年期; ②存一次3年期,一次2年期; ③存一次3年期,两次1年期; ④存两次2年期,一次1年期; ⑤存一次2年期,三次1年期; ⑥存五次1年期. 分别计算各种存法5年后到期的本息合计,如图所示 2009-5-22 17:06 最佳答案 Private Sub Form_Activate() '1年期2.25%,2年期2.43%,3年期为2.70%,5年期为2.88%(不记复利)。今有X元,5年以后使用,共有如下6中存法: Const x1 As Double = 0.0225, x2 As Double = 0.0243, x3 As Double = 0.027, x5 As Double = 0.0288 Dim x As Double x = Val(InputBox("")) Print "①存一次5年期,5年后到期的本息合计"; ss(x, 5, x5) Print "②存一次3年期,一次2年期,5年后到期的本息合计"; ss(ss(x, 3, x3), 2, x2) Print "③存一次3年期,两次1年期,5年后到期的本息合计"; ss(ss(ss(x, 3, x3), 1, x1), 1, x1) Print "④存两次2年期,一次1年期,5年后到期的本息合计"; ss(ss(ss(x, 2, x2), 2, x2), 1, x1) Print "⑤存一次2年期,三次1年期,5年后到期的本息合计"; ss(ss(ss(ss(x, 2, x2), 1, x1), 1, x1), 1, x1) Print "⑥存五次1年期,5年后到期的本息合计"; ss(ss(ss(ss(ss(x, 1, x1), 1, x1), 1, x1), 1, x1), 1, x1) End Sub Private Function ss(ByVal a As Double, b As Integer, c As Double) As Double ss = a + a * c * b End Function Private Sub Form_Load()

18个VB经典例题

1、随机产生三个100-300之间的整数,判断这三个整数是否能构成三角形,如果可以,求三角形的面积。 Dim x As Integer, y As Integer, z As Integer Dim c As Single, s As Single x = Int(Rnd * 201 + 100) y = Int(Rnd * 201 + 100) z = Int(Rnd * 201 + 100) If x + y > z And x + z > y And y + z > x Then c = (x + y + z) / 2 s = Sqr(c * (c - x) * (c - y) * (c - z)) Print "三角形面积是:" & s Else Print "构不成三角形" End If 2、随机产生0-100之间的60名学生的数学分数,分别统计分数在[)10,0、[)20,10、[)30,20、[)40,30、[)50,40、[)60,50、[)70,60、[)80,70、[)90,80、[] 90、之间的学生人数。 100 , Dim a%, b%, c%, d%, e%, f%, g%, h%, i%, j% Dim x As Single For m = 1 To 60 '产生60名学生的分数 x = Rnd * 101 '产生0-100的分数 Print x; If x >= 90 Then a = a + 1 ElseIf x >= 80 Then b = b + 1 ElseIf x >= 70 Then c = c + 1 ElseIf x >= 60 Then d = d + 1 ElseIf x >= 50 Then e = e + 1 ElseIf x >= 40 Then f = f + 1 ElseIf x >= 30 Then g = g + 1 ElseIf x >= 20 Then h = h + 1 ElseIf x >= 10 Then i = i + 1 Else j = j + 1 End If

VB程序设计练习题

《VB程序设计》综合复习资料 第一章Visual Basic程序设计概述 一、填空题 1、Visual Basic是一种面向__________的可视化程序设计语言,采取了__________的编程机制。 2、在VB中工程文件的扩展名是____________,窗体文件的扩展名是____________,标准模块文件的扩展名是____________。 3、执行“工程”菜单下的__________命令,可选择并添加ActiveX控件。 4、Visual Basic 6.0用于开发__________环境下的应用程序。 二、选择题 1、下面不是VB工作模式的是() A.设计模式B.运行模式C.汇编模式D.中断模式 2、可视化编程的最大优点是() A.具有标准工具箱 B.一个工程文件由若干个窗体文件组成 C.不需要编写大量代码来描述图形对象 D.所见即所得 3、下列不能打开属性窗口的操作是() A.执行“视图”菜单中的“属性窗口”命令 B.按F4键C.按Ctrl+T D.单击工具栏上的“属性窗口”按钮 4、下列可以打开立即窗口的操作是() A.Ctrl+D B.Ctrl+E C.Ctrl+F D.Ctrl+G 5、Visual Basic的编程机制是() A.可视化B.面向对象C.面向图形D.事件驱动 三、简答题 1、代码窗口主要包括哪几部分? 2、在工程资源管理器窗口中,主要列出了哪三类文件? 3、窗体布局窗口的主要用途是什么? 4、VB的基本特点是什么? 第二章简单的VB程序设计 一、填空题 2、一个控件在窗体的位置由_______和________属性决定,其大小由__________和_________属性决定。 4、设置控件背景颜色的属性名称是______________________。 5、所有控件都具有的共同属性是__________________属性。 6、一般情况下,控件有两个属性项的缺省值是相同的,这两个属性项是_______________。 7、VB中的每个对象(控件)都有一组特征,这组特征称为__________,我们通过修改它可以控制对象的外观和操作。 8、通常情况下,VB中一个工程主要包括如下四个文件:窗体文件、工程文件、类模块文件和_____________文件,后者的扩展名为.Bas,通常由Basic语言编写,是一个可共用的子程序。 9、VB有三种工作模式,分别是设计(Design)模式、_____________和中断(Break)模式。 二、选择题

vb程序设计练习题一

程序填空题(一) 1. 实现功能:当单击“显示”按钮后,显示下面的图形: Dim i As Integer '定义i 为整型变量 Dim j As Integer '定义j 为整型变量 For i = 1 To 6 Step 1 For j = 1 To Step 1 Print Next Print Next i 2. 实现功能:在Text1中输入一个数,单击“判断”按钮后,判断这个数是奇数还是偶数,并在Label1中显示“奇数”或“偶数”出来。 Dim a As Single Dim b As Single a = Val( ) '从Text1中读入这个数,并保存在变量a 中 b = a Mod If b = 0 Then Label1.Caption = "偶数" Else Label1.Caption = "奇数" 3. 实现功能:当单击“显示”按钮后,随机产生10个属于区间[0,100]的自然数,并保存于数组a 中,然后在窗体上显示这10个数中的最大值。(注:学生运算结果有可能跟样图中数值不一致) Dim a(9) As Integer Dim max As Integer Dim i As Integer Me.Cls Print Randomize For i = 0 To a(i) = Int(Rnd * 100) Print a(i) Next i max = a(0) For i = 1 To 9 If max < a(i) Then max = End If Next i Print "这10个自然数中的最大值="; 4. 实现功能:输入10个数,存放在数组中,并按输入的逆序输出在窗体上。 Dim s(9) As Single For i = 0 To 9 = Val(InputBox("请输入一个数")) Next i For i = 9 To 0 Step Print Next i 5. 实现功能:在Text1中输入一个代表秒数的整数后,单击“计算”按钮后,在Label1、Label2、Label3中显示对应的小时、分钟和秒数。如在Text1中输入“3672”,Label1、Label2、Label3中分别显示“1”、“1”、“12”,即1小时1分12秒。 Dim h, m, s, ss As Integer ss = Val( ) h = m = (ss - h * 3600) \ 60 s = (ss - h * 3600) Mod Label1.Caption = CStr(h) Label2.Caption = CStr(m) Label3.Caption = CStr(s) 6. 实现功能:在Text1、Text2、Text3中输入三个整数后,单击“输出最大值”按钮后,在Label3中显示这3个数中的最大值。 Dim a, b, c, max As Integer @ @@ @@@ @@@@ @@@@@ @@@@@@

VB编程实例精讲(150例)

ExcelVBA编程实例(150例) 主要内容和特点 《ExcelVBA编程入门范例》主要是以一些基础而简短的VBA实例来对ExcelV BA中的常用对象及其属性和方法进行讲解,包括应用程序对象、窗口、工作簿、工作表、单元格和单元格区域、图表、数据透视表、形状、控件、菜单和工具栏、帮助助手、格式化操作、文件操作、以及常用方法和函数及技巧等方面的应用。这些例子都比较基础,很容易理解,因而,很容易调试并得以实现,让您通过具体的实例来熟悉ExcelVBA编程。 ■分16章共14个专题,以具体实例来对大多数常用的ExcelVBA对象进行讲解; ■一般而言,每个实例都很简短,用来说明使用VBA实现Excel某一功能的操作; ■各章内容主要是实例,即VBA代码,配以简短的说明,有些例子可能配以必要的图片,以便于理解; ■您可以对这些实例进行扩充或组合,以实现您想要的功能或更复杂的操作。VBE编辑器及VBA代码输入和调试的基本知识 在学习这些实例的过程中,最好自已动手将它们输入到VBE编辑器中调试运行,来查看它们的结果。当然,您可以偷赖,将它们复制/粘贴到代码编辑窗口后,进行调试运行。下面,对VBE编辑器界面进行介绍,并对VBA代码输入和调试的基本知识进行简单的讲解。 激活VBE编辑器 一般可以使用以下三种方式来打开VBE编辑器: ■使用工作表菜单“工具——宏——Visual Basic编辑器”命令,如图00-01所示;■在Visual Basic工具栏上,按“Visual Basic编辑器”按钮,如图00-02所示;■按Alt+F11组合键。

图00-01:选择菜单“工具——宏——Visual Basic编辑器”命令来打开VBE编辑器 图00-02:选择Visual Basic工具栏上的“Visual Basic编辑器”命令按钮来打开VBE编辑器 此外,您也可以使用下面三种方式打开VBE编辑器: ■在任一工作表标签上单击鼠标右键,在弹出的菜单中选择“查看代码”,则可进入VBE编辑器访问该工作表的代码模块,如图00-03所示; ■在工作簿窗口左上角的Excel图标上单击鼠标右键,在弹出的菜单中选择“查看代码”,则可进入VBE编辑器访问活动工作簿的ThisWorkbook代码模块,如图00-04所示; ■选择菜单“工具——宏——宏”命令打开宏对话框,若该工作簿中有宏程序,则单击该对话框中的“编辑”按钮即可进行VBE编辑器代码模块,如图00-05所示。

VB程序设计基础例题

3.1交换变量a1、a2的值,P35 Private Sub Form_Click() Dim a1 As Integer, a2 As Integer, t As Integer a1 = 5: a2 = 10 Form1.Print "交换"; a1; a2 t = a1: a1 = a2: a2 = t Form1.Print "得:"; a1; a2 End Sub Private Sub Form_Load() Form1.AutoRedraw = True Form1.Print "交换两个数" Form1.Print "单击窗体开始" End Sub 3.2 Tab 函数,P35 Private Sub Form_Click() Form1.Print Tab(10); "*********" Form1.Print Tab(11); "*******" Form1.Print Tab(12); "*****" Form1.Print Tab(13); "***" Form1.Print Tab(14); "*" End Sub

Private Sub Form_Load() Form1.AutoRedraw = True Form1.Print "显示星号三角形,单击窗体开始" End Sub 3.5 Move 方法在指定位置显示窗体,文本框和图,P45 Private Sub Form_Load() Picture1.AutoRedraw = True Move 3000, 2000, 2800, 2800 Text1.Move 300, 200, 2000, 500 Picture1.Move 300, 1000, 1600, 1200 Text1.Text = "文本框" Picture1.Print "图片框" End Sub 图3.13 显示和隐藏,P46 Private Sub Form_Click() Form1.Hide Form2.Show End Sub Private Sub Form_Load()

最新vb程序设计试题(含答案)资料

第一套试题 一、选择题(每题2分,共30分) 1.在VB环境中,工程文件的扩展名是( C ) (A).frm (B).bas (C).vbp (D).frx 2.下面4项中不属于面向对象系统三要素的是( A ) (A)变量(B)事件(C)属性(D)方法 3. \、/、Mod、*这4个算述运算符中,优先级别最低的是( C ) (A)\ (B)/ (C)Mod (D)* 4.要使Print方法在Form_Load事件中起作用,要对窗体的( C )属性进行设置(A)BackColor (B)ForeColor (C)AutoRedraw (D)Caption 5.不论何控件,共同具有的属性是( B ) (A)Text (B)Name (C)ForeColor (D)Caption 6.要使Form1窗体的标题栏显示“欢迎使用VB”,以下语句正确的是( D ) (A)Form1.Caption=“欢迎使用VB”(B)Form1.Caption=ˊ欢迎使用VBˊ(C)Form1.Caption=欢迎使用VB (D)Form1.Caption=〞欢迎使用VB〞 7.VB提供了结构化程序设计的3种基本结构,这3种基本结构是( D ) (A)递归结构,选择结构,循环结构(B)选择结构,过程结构,顺序结构 (C)过程结构,输入、输出结构,转向结构(D)选择结构,循环结构,顺序结构 8.给变量赋值a=123+MID(“123456”,3,2),a变量中的值是( D ) (A)“12334”(B)123 (C)12334 (D)157 9.下面If语句统计满足性别为男、职称为副教授以上、年龄小于40岁条件的人数,不正确的语句是( D ) (A)If sex=“男”And age<40 And InStr(duty,“教授”)>0 Then n=n+1 (B)If sex=“男”And age<40 And (duty=“教授”Or duty=“副教授”) Then n=n+1 (C)If sex=“男”And age<40 And Right(duty,2)= “教授” Then n=n+1 (D)If sex=“男”And age<40 And duty=“教授”And duty=“副教授” Then n=n+1 10.若要清除列表框的所有内容,可用来实现的方法是( C )

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