文档库 最新最全的文档下载
当前位置:文档库 › 《可视化程序设计》试卷五

《可视化程序设计》试卷五

个人整理的,觉得很好,就上传到文库与大家一起分享
《可视化程序设计》试卷五
班级______________ 姓名_____________ 学号__________ 得分__________
一、填空题(共20分,每空1分)
1.在窗体中使用控件设计程序界面的方法称为_____________________

2. VB工程由窗体、控件、程序代码、环境设置等组成
一个VB工程包括如下文件工程文件(_______)、窗体文件(_______)、代码文件(.bas)等组成

3. 窗体的显示与隐藏方法分别是Show方法、Hide方法
装载窗体的事件是______<窗体名>,卸载窗体事件是 ____________ <窗体名>

4.通用对话框CommonDialog控件是通过其__________方法显示"打开文件对话框",通过_________________方法显示"保存文件对话框",通过ShowPrinter方法显示"打印对话框"

5. 在MID多文档程序设计中,是用窗体的______________属性来设置父窗体或子窗体

6.VB中常用的数据界面控件有TextBox
DBGrid、DBList、DBCombo、Msflexgrid等,数据界面控件用____________属性连接数据表,用_____________属性选择要显示与编辑字段名

7. Data控件用Connect属性选择连接数据库的类型
用DatabaseName属性选择________

用RecordSource属性选择__________

8.Adodc控件用___________属性表示数据表中记录集合,在该集合上添加记录、删除记录、更新记录的方法分别是_________方法、Delete方法、Update方法

9.ADO对象模型主要由4个类组成
其中___________类用于连接数据库,________类用于存放SQL命令或数据表,______________类用于表示数据表中的记录集,_________类用于表示数据集中某个字段

10. MSFlexGrid控件能以表格形式显示二维字符数组中每个单元的数据
二维数组的行数和列数分别用_____________________属性动态确定,数组元素用___________________表示

二、读程序(10分)
1.读下列程序,并写出程序运行结果(4分)

Private Sub Cmd1_Click()
Dim a As Integer
b As Integer
a = 0: b = 2
Do While a <= 3
b = b + a * 2
a = a + 1
Loop
Print a
b
End Sub 答:4 14
2.读下列程序,并写出程序运行结果(6分)

Private Sub Sub2(X As Integer
Y As Integer)
Static N As Integer
Dim I As Integer
For I = 1 To 2
N = N + X
X = X - 1
Next I
Y = Y + N
End Sub
Private Sub Cmd1_Click()
Dim N As Integer
I As Integer
N = 1
For I = 6 To 1 Step -1
Call Sub2(I
N)
Print I
N
Next IEnd Sub: 4 12 1 28
三、完善程序(10分,每空1分)
1.用Do While--Loop语句计算 直到为止
编写单击命令按钮控件

事件过程,计算s值,并用Print语句输出s值

Private Sub Command1_Click()
 Dim i As Integer
t As Long
t1 As Integer
s As Single
s = 0:i = 1:t = 1:t1 = 1
Do While ________________
t = _______________
t1 = ______________
s = s + ____________
i = i + 1
Loop
Text1.Text = Str(Format(1 / t
"0.000000"))
Text2.Text = Str(s)
_____________________
End Sub
2.完善删除相同数程序
Option Explicit
Option Base 1
Dim A() As Integer
Private Sub Cmd_Create_Click()
Dim I As Integer
____________ A(10)
Text1 = "": Text2 = ""
For I = 1 To 10
A(I) = _____________________ '产生小于10的随机整数
Text1 = Text1 & Str(A(I))
Next I
End Sub
Private Sub Cmd_Del_Click()
Dim Ub As Integer
I As Integer
J As Integer
K As Integer
N As Integer
N = 1: Ub = 10
Do While _______________
I = N + 1
Do While I <= Ub
If _______________ Then
For J = I To Ub - 1
__________________
Next J
Ub = Ub - 1
ReDim Preserve A(Ub)
Else
I = I + 1
End If
Loop
N = N + 1
Loop
Print Ub
For N = 1 To Ub
Text2 = Text2 & Str(A(N))
Next N
End Sub
四、编程题(10分)
编写程序完成对一维整型数组进行排序、求平均值的功能
具体要求如下

(1)编写通用过程Sort()对一维整型数组用擂台法进行升序排序
(3 分)
(2)编写通用函数Ave()求一维整型数组平均值
(2分)
(3)编写命令按钮事件处理过程,在过程内定义数组Arra(),输入十个2位随机整数(2分),调用Sort()过程排序,Ave()函数求平均值
用三个文本框控件分别显示排序前、排序后的一维数组元素值及平均值(2分)
要求画出程序设计界面(1分)

Option Base 1





Temp As Integer
For I = 1 To N - 1
K = I
For J = I + 1 To N
If Arry(K) > Arry(J) Then
K = J
For I = 1 To 10
Text2 = Text2 & Arra(I) & " "
Next I Text3 = "Ave=" & Ave(Arra
10)
End Subate S
五、学生档案管理系统设计题(50分,表格中每空0.5分,其余每空1分)
1.用Date控件设计班级编码维护程序(15分)
在学生档案管理系统工程(xsdagl.vbp)中建立班级编码维护程序,要求如下

(1)在工程文件xsdagl.vbp中添加新窗体,设置新窗体属性如下:
Name=Form_XSDA62
Caption:班级编码维护程序
MDIChild:_______________
(2)在窗体添加四个Data控件:Data_TB03、D

ata_TB04、Data_TB06、Data_TC04,分别与班级编码表TB03、专业编码表TB04、系部编码表TB06、毕业标志编码表TC04连接
数据库文件与目录为:e:\vb\xsda.mdb
写出Data控件的属性值:
属性 Data_TB03 Data_TB04 Data_TB06 Data_TC04 Caption: 班级编码表 专业编码表 系部编码表 毕业标志编码表 Connect Access Access Access Access DataBaseName e:\vb\xsda.mdb 同前 同前 同前 RecordSource TB03 TB04 TB06 TC04 (3)在窗体添加一个DBGrid控件,能显示与编码班级编码表TB03中的字段内容
要求,用汉字显示字段名称,并适当调整列宽,如图1所示
其数据源属性
DataSource=____________________
(4)编写单击工具栏(Toolbar1)中退出按钮(Exit)与统计按钮(Sata)的事件过程

Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button)
Dim n As Integer
Sum As Integer
Select Case ________________________
Case "Exit"
Unload Me
Case "Stat"
With Data_TB03.Recordset
StatusBar1.Panels(1).Text = "班级数: " & ___________________________
Sun = 0
Do While Not .EOF
Sum = Sum +______________________
_______________________
Loop
StatusBar1._______________ _= "学生人数: " & Sum
End With
End Select
End Sub
统计按钮的功能是统计班级数与学生人数,并在状态栏(Statusbar1)中显示

2.用ADO Data控件设计学生档案查询程序(20分)
(1)在主窗体内编写程序调用子窗体Form_XSDA31

(2)放置工具栏,添加二个按钮,分别用于退出(Exit)、打印(Print)

(3)在窗体内添加Adodc_TB06、DataCombo_TB06控件,使用这两个控件与系部编码表TB06连接,用于选择系部
在窗体内添加Adodc_TB03、DataCombo_TB03控件,使用这两个控件与班级编码表TB03连接,用于由系部选择班级
由系部选择班级的事件过程如下

Private Sub DataCombo_TB06_Click(Area As Integer)
With Adodc_TB03
.CommandType = ________________________
. ________________= "Select TB0302
TB0301
TB0602 From TB03
TB06
Where TB0309=________________ and TB0602=____________________"'"
.Refresh
DataCombo_TB03.Refresh
StatusBar1.Panels(1).Text = "班级数:" & ________________.RecordCount
End With
End Sub
(4)在窗体内添加Adodc_XA01、DataGrid_XA01控件,使用这两个控件与学生档案编码表XA01连接,当用户在DataGrid_TB03控件中选择某班时,在DataGrid_XA01控件中只显示该班所有学生记录

(5)在窗体内添加二个TextBox控件Text_Name、Text_No,当用户在控件Text_Name中输入学生姓或姓名时,在DataGrid_XA01控件中只显示该姓或姓名的学生信息
同样,当用户在控件Text_No中输入学生学号的前几位时,在DataGri

d_XA01控件中只显示与该学号的前几位相同学生的信息

(6)在窗体内添加Adodc_GC01、DataCombo_GC01控件,使用这两个控件与性别编码表GC01连接,当用户在DataCombo_GC01控件中选择"男"或"女"时,在DataGrid_XA01控件中只显示"男"或"女"生信息

要求:(4)、(5)、(6)条件为"and"的逻辑与关系,即可以查询指定班级、指定姓名、指定学号、指定性别的学生信息
并可以进行模糊查询,即在Text_Name控件中输入某姓(如"王"),要能查询出所有该姓的学生信息
在Text_No控件中输入部分学号(如"30"),要能查询出与部分学号相同的学生信息

编写DataCombo_TB03_Change事件过程如下

Private Sub DataCombo_TB03_Change()
Dim I As Integer
Sum1 As Integer
Sum2 As Integer
With Adodc_XA01
.___________________ = adCmdText
.RecordSource = "Select A.*
_______________________ _________________________
From XA01 As A
GC01
GC02
GC03
GC04
TB03
Where XA0106 = ______________And XA0108 =___________________
And XA0109 = _ _________and XA0110=_________________and XA0114= _____________
and XA0104 Like '" & ____________________ & "%'
and XA0102 Like '" & _ _______________ & "%'
and GC0102 Like '" & _ ___________________________ & "%'
and TB0302 Like'" & ________________________ & "%'"
.Refresh
End With
DataGrid_XA01.Refresh
With Adodc_XA01.Recordset
If Not .BOF Then .MoveFirst
Do While Not .EOF
If ._______________.Value = "1" Then Sum1 = Sum1 + 1
If .Fields("XA0106"). _____________ = "2" Then Sum2 = Sum2 + 1
.MoveNext
Loop
If Not .BOF Then .MoveFirst
End With
StatusBar1.Panels(2).Text = "男生人数:" & Sum1
StatusBar1.Panels(3).Text = "女生人数:" & Sum2
StatusBar1.Panels(4).Text = "合计人数:" & Sum1 + Sum2
End Sub
在Text_Name_Change事件过程中,只需调用DataCombo_TB03_Change事件过程即可

Private Sub Text_Name_Change()
Call ________________________
End Sub
3.用ADO Data控件设计课程编码维护程序(15分)
(1)在学生档案管理系统中添加新窗体Form_XSDA63
(2)在课程编码维护窗体Form_XSDA63中,增加工具栏与状态栏
在工具栏添加一个退出按钮(Exit)、统计按钮(Stat)、添加记录按钮(Insert)、删除记录按钮(Delete)

(3)在窗体添加二个Adodc控件:Adodc_TB01、Adodc_TC01,分别与课程编码表TB01、课程类别编码表TC01连接

(4)在窗体添加一个DataGrid控件,能显示与编辑课程编码表TB01中的字段内容

(5)单击工具栏事件
Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button)
Dim Sum1 As Integer
Sum2 As Integer
Sum3 As Integer
n As Integer
with __________________________
Select Case Button.Key
Case "E

xit"
______________________
Case "Delete"
.______________________
Case "Insert"
.___________________
Case "Stat"
n = .______________________
StatusBar1.Panels(1).Text = "课程数: " & n
.MoveFirst
Sum1 = 0: Sum2 = 0: Sum3 = 0
Do While Not .EOF
If .Fields(3) = "1" Then
_________________________
ElseIf .Fields(3) = "2" Then
__________________________
Else
____________________________
End If
____________________
Loop
StatusBar1.Panels(2).Text = "理论课门数: " & Sum1
StatusBar1.Panels(3).Text = "实验课门数: " & Sum2
StatusBar1.Panels(4).Text = "其它课门数: " & Sum3
.MoveFirst
End With
End Select
End Sub
(6)按拼音码查询课程
在窗体内添加1个TextBox控件(Text_TB0106),用于输入课程拼音码
添加一个CommandButton控件(Comman_Find),单击该按钮查询出与拼音码模糊匹配的课程记录
按钮的事件过程如下

Private Sub Command_Find_Click()
 With _________________
.CommandType = ___________________
.RecordSource = "Select * from ______where ________ Like_________________________
.Refresh
DataGrid_TB01._____________
StatusBar1.Panels(1).Text = "课程总数:" & .RecordCount
End With
End Sub

















??

??

??

??














相关文档
相关文档 最新文档