可视化编程(VB) 第8章~第10章补充习题

更新时间:2024-07-01 06:42:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

要求:

1.大作业文件夹的取名规范:专业-班级-姓名。例如:

计算机-1班-马杰 计算机-2班-常云博 信管-1班-赵桑子 信科-1班-阮荣磊

2.大作业文件夹中含有:

①已完成的本次“补充习题” 作业的Word2003版文档电子版; ②本次“补充习题”作业中标有题序号的每道编程题的.vbp文件和.frm文件。

3.按上述取名规范,在主讲教师指定的时间内,将已完成的大作...........业文件夹压缩之后,发至:WUTCSL@163.COM

4.将完成的大作业电子版打印出来,粘贴到自己的作业本上。 5.独立完成大作业,严禁抄袭。

可视化编程 (VB) 补充作业

第8章 循环结构

补充作业题

1.有如下程序:

Private Sub Form_Click() A = 0

For j = 1 To 20 Step 2 A = A + j \\ 5 Next j Print A End Sub

第 1 页 共 15 页

运行后,输出的结果是___ B____。

A.12 B.16 C.40 D.100 2.有一个分数序列:

2/1 , 3/2, 5/3, 8/5, 13/8,??;求这个序列前20项的和。请将程序补充完整。

注意:不得增行或删行,也不得更改程序的结构。 Private Sub form_click() Dim s As Single

Dim t1 As Integer, t2 As Integer, t As Integer Dim I As Integer s = 0 t1 = 2 t2 = 1 I = 0

DO while _ I <20______ S=___t1/t2_______ t = t1 + t2

____t2=t1_________ _____t1=t________ I = I + 1

Print I; t1; t2; s Loop Print s End Sub

3.有如下程序:

Private Sub Form_click() A = 0

For j = 1 To 10

A = A + j \\ 2 + j Mod 3 Next j Print A End Sub

运行后,输出的结果是___D____。

A.20 B.25 C.30 D4.有如下程序:

Private Sub Form_clik() Dim s%, i% s = 0 i = 100

Do While i <= 120

If (i \\ 3) * 3 = i Then s = s + 1 i = i + 1 End If

第 2 页 共 15 页

.35 i = i + 1 Loop Print s End Sub

运行后输出的结果是___A____。

A.7 B.9 C.11 D.13 5.有如下程序:

Private Sub form_click() s = 0 i = 1

Do While i <= 100

If i Mod 10 <> 0 Then s = s + i i = i + 1 Else

i = i + 1 End If Loop Print s

End Sub运行后输出的结果是___C____。

A.4050 B.5050 C.4000 D.4500 6.有如下程序:

Private Sub form_click() A$ = \ b$ = \ For j = 1 To 5

Print Mid$(b$, j, 1) + Mid$(A$, 6 - j, 1); Next j

End Sub运行后输出的结果是___A____。

A.a1b2c3d4e5 B.a5b4c3d2e1 C.5a4b3c2d1e D.e1d2c3b4a5 7.有如下的程序:

Private Sub form_click() A = 1 Do

For i = 1 To A Print \ Next i A = A + 2 Print

If A = 7 Then Exit Do Loop End Sub

第 3 页 共 15 页

运行后输出的结果是 A 。

A.@ B. @

@@@ @@@ @@@@@ @@@@@ C.@@@@@ D.@@@@@

@@@ @@@ @ @

8.窗体上画一个命令按钮,其名称为command1,然后编写如下事件过程:

Private Sub command1_click() For I = 1 To 4

If I = 1 Then x = I

If I <= 4 Then x = x + 1 Print x; Next I End Sub

程序运行后,单击命令按钮,其输出结果为 B 。

A.1 2 3 4 B.2 3 4 5 C.2 3 4 4 D.3 4 5 6 9.给定程序的功能是求解数学灯谜。有算式:

ABCD -) CDC ____________ ABC

下面程序计算并输出A,B,C和D四位数据。请将程序补充完整。

注意:不得增行或删行,也不得更改程序的结构! Private Sub form_clik() For A = 1 To 9 For b = 0 To 9 For C = 1 To 9 For D = 0 To 9

X=_____________ Y=_____________ Z=______________ If X - Y = Z Then Print A; b; C; D End If Next D Next C Next b Next A End Sub

10.给定程序的功能是建立并打印10*10蛇形方阵,蛇形方阵如图8.1所示。 给定的程序不完整,请在画线处填入适当的内容。 注意:不得增行或删行,也不得更改程序的结构!

第 4 页 共 15 页

图8.1 蛇形方阵数列

Option Base 1

Private Sub form_click() Dim A(10, 10) For i = 1 To 10 For j = 1 To 10 K = K + 1

If i Mod 2 <> 0 Then

A( i , j) =10* ( k-1) +j Else

A ( i , j ) =10 * (k+1 ) -j+1 End If Next j Next i

For i = 1 To 10 For j = 1 To 10

Print Tab(5 * j); A(i, j); Next j Print Next i End Sub

11.写出下列程序的计算机运行结果: Private Sub Command1_Click() s = 0: n = 0 For i = 1 To 4 For j = 1 To i n = n + j Next

Print \ s = s + n Print \ Next

Print”S=”;s End Sub n=1 s=1

第 5 页 共 15 页

n=4 s=5 n=10 s=15 n=20 s=35

12.编写VB程序,计算S=2+(2+4)+(2+4+6)+?+(2+4+6+8+?+50)之值。 Private Sub Form_DblClick() Dim n%, i%, s%

For i = 2 To 50 Step 2 s = s + i n = n + s Next Print n

End Sub

13.用循环结构编写VB程序,输出下述五阶方阵:

1 2 3 4 5 2 3 4 5 1 3 4 5 1 2 4 5 1 2 3 5 1 2 3 4

Private Sub Form_DblClick() Dim i, j, k, n As Integer

n = InputBox(\请输入有多少行\ For i = 1 To n

For j = i To 5 j = Format(j, \ Print \ Next j

For k = 1 To i-1 k = Format(k, \ Print \ Next k Print Next i End Sub

第 6 页 共 15 页

第9章 数组

补充作业题

1.Dim B120(10 T0 20) 所定义的数组元素个数是 A 。 A.11 B.20 C.30 D.10 2.Dim Abc(5) 所定义的数组元素个数是__B_____。

A.5 B.6 C.4 D.10 3.有如下程序: Option Base 1

Private Sub form_click() Dim a(3, 3) For j = 1 To 3 For k = 1 To 3

If j = k Then a(j, k) = 1 If j < k Then a(j, k) = 2 If j > k Then a(j, k) = 3 Next k Next j

For I = 1 To 3 For j = 1 To 3 Print a(I, j); Next j Print Next I End Sub

程序运行时输出的结果是___B____。 A.1 3 3 B.1 2 2

2 1 3 3 1 2 2 2 1 3 3 1 C.2 3 3 D. 2 1 1 1 2 3 3 2 1 1 1 2 3 3 2 4.有如下程序: Option Explicit Option Base 1

Dim a() As Integer

Private Sub form_click()

Dim I As Integer, j As Integer ReDim a(3, 2) For I = 1 To 3 For j = 1 To 2

a(I, j) = I * 2 + j

Print \

第 7 页 共 15 页

Next j Print Next I End Sub

该程序的输出结果是__D_____。

A.a(0,0)=3 a(0,1)=4 B.a(1,1)=2 a(1,2)=3

a(1,0)=5 a(1,1)=6 a(2,1)=3 a(2,2)=4 a(2,0)=7 a(2,1)=8 a(3,1)=4 a(3,2)=5 C.a(1,1)=3 a(1,2)=5 D.a(1,1)=3 a(1,2)=4

a(2,1)=4 a(2,2)=6 a(2,1)=5 a(2,2)=6 a(3,1)=5 a(3,2)=7 a(3,1)=7 a(3,2)=8

5.有如下程序: Option Base 1

Private Sub form_click() Dim A(10)

For K = 1 To 10 A(K) = K ^ 2

Next K

Print A(K) End Sub

程序运行后输出的结果是__错误__。

6.在给定程序的功能是建立并输出除主、副对角线上的元素为0外,其余元素都为1的方阵,在画线处填入适当内容,将程序补充完整。 Private Sub command1_click() Dim a(10, 10) For I = 1 To 10

For j=_1 To 10____

If _I<>j or_I+j<>11___then

a(I,j)=0 else

a(I,j)=1

_End if____ Next j

Next I

For I = 1 To 10 For j = 1 To 10 Print a(I, j); Next j Print Next I End Sub 7.下面程序的功能是分别计算给定的10个数中正数之各与负数之和,最后输出这两个和数的绝对值之商。请在画线处填入适当的内容,将程序补充完整。 Option Base 1

第 8 页 共 15 页

Private Sub command1_click() Dim A

A = Array(23, -5, 17, 38, -31, 46, 11, 8, 5, -4) S1 = 0 S2 = 0

For k = 1 To 10

If (A(k) > 0) Then S1=__S1+A(k)__ Else

S2=__S2 +A(k)__ End If Next k

x = Abs(S1) / Abs(S2) Print x End Sub

8.下面的程序是用选择交换法将10个数排成升序,请在画线处填入适当内容,将程序补充完整。 Option Base 1

Private Sub command1_click() Dim arr

arr = Array(123, 96, 42, 39, 22, 14, 7, 4, 0, -7) Print “data before sorting:” For I = 1 To 10 Print arr(I);

Next I Print

For I= 1_To 10_______ k = I

For j=_ I+1 To 10__________

If arr(k)>arr(j) then a=arr(k)_ arr(k) =arr(j)_ arr(j)=a____ Next j

If k <> I Then w = arr(k)

arr(k) = arr(I) arr(I) = w End If

Next I

Print “data after sorting;” For I = 1 To 10 Print arr(I);

Next I Print End Sub

第 9 页 共 15 页

9.写出下列程序的计算机运行结果: Private Sub Command1_Click() Dim a(5, 5) As Integer For i = 1 To 5 For j = 1 To 5

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

For i = 1 To 5 Print Tab(8);

For j = 5 To i Step -1 Print \ Next j

For k = 6 - i To 5 Print \ Next k Print Next i End Sub

5 5 6 5 6 7 5 6 7 8 5 6 7 8 9

10.编写VB程序,计算五阶方阵的两条主对角线元素之和。 Private Sub Form_DblClick()

Dim a(5, 5), s% For i = 1 To 5 For j = 1 To 5

a(i, j) = InputBox(\请输入元素值\ Print a(i, j) & \ Next j Print Next i

For i = 1 To 5 For j = 1 To 5

If i = j Or i + j = 6 Then s = s + a(i, j) End If Next j Next i Print s End Sub

第 10 页 共 15 页

11.编写VB程序,生成并输出除主对角线元素为1外,其他元素均为0的五阶方阵。

Private Sub Form_DblClick() Dim a(5, 5) As Integer For i = 1 To 5 For j = 1 To 5

If i = j Or i + j = 6 Then a(i, j) = 1 End If Next j Next i

For i = 1 To 5 For j = 1 To 5

Print a(i, j) & \ Next j Print Next i End Sub

第10章 过程

补充作业题

1.在标准模块中用Public关键字声明的变量和常量有效范围是__B___。 A.整个标准模块 B.整个工程 C.所有窗体 D.所有标准模块

2.通用过程中,要定义某一虚拟参数和它对应的实际参数是值传送,在虚拟参数前要加的关键字是___B__。

A.Optonal B.Byval

C.Missing D.ParamArray 3.有如下程序: Dim b

Private Sub form_click() a = 1: b = 1

Print \ Call mult(a)

Print \End Sub

Private Sub mult(x) x = 2 * x b = 3 * b End Sub

第 11 页 共 15 页

运行后的输出结果是__C___。

A.A=1,B=1 B.A=1,B=1 A=1,B=1 A=2,B=3 C.A=1,B=1 D.A=1,B=1 A=1,B=3 A=2,B=1 4.有如下程序: Option Base 1

Private Sub swap(abc() As Integer) For i = 1 To 10 \\ 2 t = abc(i)

abc(i) = abc(10 - i + 1) abc(10 - i + 1) = t Next i End Sub

Private Sub form_click() Dim xyz(10) As Integer For i = 1 To 10 xyz(i) = i * 2 Next i

swap xyz()

For i = 1 To 10 Print xyz(i); Next i

End Sub运行程序后,输出结果为___C__。 A.1 2 3 4 5 6 7 8 9 10

B.2 4 6 8 10 12 14 16 18 20 C.20 18 16 14 12 10 8 6 4 2 D.显示出错信息 5.有如下程序 Option Base 1

Private Sub form_click() Dim a(3, 3) For j = 1 To 3 For k = 1 To 3

If j = k Then a(j, k) = 1 If j <> k Then a(j, k) = 3 Next k Next j

Call p1(a()) End Sub

Private Sub p1(a()) For j = 1 To 3 For k = 1 To 3

第 12 页 共 15 页

Print a(j, k); Next k Next j End Sub

行程序时,输出结果为___A__。 A.1 3 3 3 1 3 3 3 1 B.3 1 1 1 3 1 1 1 3 C.1 3 3 3 1 3 3 3 1

D.显示出错信息

6.下列程序的功能是计算由输入的分数确定结论,分数是百分制的,0到59分的结论是“不及格”,60到79分的结论是“及格”,80到89分的结论是“良好”,90到100分的结论是“优秀”,分数小于0或大于100是“数据错!”。请在画线处填上适当的内容使程序完整。 Option Explicit

Private Function jielum(ByVal score%) As String Select Case score

Case ___score<60________ jielum = \不及格\

Case _____score>59__and score<80____ jielum = \及格\

Case _____ score>79__and score<90________ jielum = \良好\

Case ____ score>89__and score<101_______ jielum = \优秀\ Case Else jielum = \数据错!\ End Select End Function

Private Sub form_click() Dim s1 As Integer

s1 = InputBox(\请输入成绩:\ Print jielum(s1) End Sub 7. 列程序的功能是计算输入数的阶乘,请在画线处填上适当的内容使程序完整。 Private Sub form_click()

N = Val(InputBox(\请输入一个大于0的整数:\ Print fact(N) End Sub

Private Function fact(M) fact=_ ____

For I=2 to___N________ fact=_ ____

第 13 页 共 15 页

Next I

End Function

8.列程序的功能是计算给定正整数序列中奇数之和Y与偶数之和X,最后输出X平方根与Y平方根的乘积。请在画线处真上适当的内容使程序完整。 Private Sub form_click()

a = Array(9, 16, 8, 25, 34, 13, 22, 43, 22, 35, 26) Y=________ Print Y End Sub

Private Function f1(B) x = 0 Y = 0

For k = 0 To 10

If _____ mod 2=0 then X=___________ Else

Y=___________ End If Next k

f1 = Sqr(x) * Sqr(Y) End Function

9.对窗体编写如下事件过程:

Private Sub form_mousedown(button As Integer, shift As Integer, x As Single, y As Single) If button = 2 Then Print \ End If End Sub

Private Sub form_mouseup(button As Integer, shift As Integer, x As Single, y As Single) Print \End Sub

程序运行后,如果单击鼠标右键,则输出结果为_____。

A.AAAAA B.BBBBB C.AAAAA D.BBBBB BBBBB AAAAA 10.对窗体编写如下代码: Option Base 1

Private Sub Form_KeyPress(KeyAscii As Integer) a = Array(237, 126, 87, 48, 498) m1 = a(1) m2 = 1

If KeyAscii = 13 Then For I = 2 To 5

If a(I) > m1 Then

第 14 页 共 15 页

m1 = a(I) m2 = I End If Next I End If Print m1 Print m2 End Sub

程序运行后,按回车键,输出结果为_____。

A.48 B.237 C.498 D.498

4 1 5 4

11.在窗体中添加三个命令按钮和一个文本框,并分别编写如下代码: Private Sub command1_click() Text1.Text = UCase(Text1.Text) End Sub

Private Sub command2_click() Text1.Text = LCase(Text1.Text) End Sub

Private Sub command3_click() Text1.Text = Text1.Tag End Sub

Private Sub text1_keyup(keycode As Integer, shift As Integer) Text1.Tag = Text1.Text End Sub

程序运行后,在文本框中输入“abc”,分别点击command1,command2,command3,文本框中显示_____。

A.ABC abc abc B.abc ABC ABC C.abc ABC ABC D.ABC ABC abc

12.编写VB程序,求S=A!+B!+C!,分别用Sub子过程和Function函数过程两种方法实现阶乘的计算。 13.分别用Sub子过程和Function函数过程两种方法编写VB程序,求四个整数的最大值,其中四个整数由键盘输入。

第 15 页 共 15 页

本文来源:https://www.bwwdw.com/article/juy.html

微信扫码分享

《可视化编程(VB) 第8章~第10章补充习题.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档
下载全文
范文搜索
下载文档
Top