试卷代号 : 2 2 3 1 中央广播电视大学 2 0 11 2012 学年度第二学期 " 开放专科 " 期末考试 Visual Basic 程序设计 试题 2012 年 7 月 注意事项 一 将你的学号 姓名及分校 { 工作站 ) 名称填写在答题纸的规定栏内 考试 结束后, 把试卷和答题纸放在桌上 试卷和答题纸均不得带出考场 监考人收完 考卷和答题纸后才可离开考场 二 仔细读懂题目的说明, 并按题目要求答题 答案一定要写在答题纸的指 定位置上, 写在试卷上的答案无效 三 用蓝 黑圆珠笔或钢笔 ( 含签字笔 ) 答题, 使用铅笔答题无效 一 单项选择题 { 每小题 2 分, 共 3 0 分 ) 1. 后缀为. bas 的文件表示 VB 的 ( ) A. 类模块文件 B. 窗体文件 C. 工程文件 D. 标准类模块文件 2. 元论何种控件, 共同具有的属性是 ( ) A. Text 属性 B. Caption 属性 C. Name 属性 D. Autosize 属性 3. 如果对象的名称为 Mytext, 而且对象有一个属性 Text. 那么在代码中引用该属性的正 确格式是 ( ) A. Text. Mytext C. Mytext. (Text) B. 岛 1ytext. Text D. Mytext 祷 Text 4. 在设计动画时, 用时钟控件来控制动画速度的属性是 ( ) A. Enabled B. Interval C. Timer D. Move 1359
5. 要在窗体上显示 " 欢迎您! ", 使用的语句是 ( ) A.Form.caption=" 欢迎您! " C. Form1. print" 欢迎合! " B. Forml. caption= " 欢迎您!" D.Form.print " 欢迎您!" 6. 关于语句行, 下列说法正确的是 ( A. 一行只能写一条语句 c. 每行的首字符必须大写 B. 长度不能超过 255 个字符 卫一条语句可以分多行书写 7. 下列正确的赋值语句是 ( ) A. x 十 y=20 C. 3x=y B. y=x+20 D. s=π 快 T 祷 r 8. 如果希望以模态方式显示窗体 F o rm l, 下列正确的语句是 ( ) A. Form1. Show B. Form1. Show 0 C. Form1. Show 1 D. 以下都不正确 9. 对于定时器 ( T i m e r ) 控件, 设置其定时是否开启的属性是 ( ) A. Index B. Tag C. Enabled D. Left 10. 多窗体程序是由多个窗体组成, 在缺省情况下, VB 在应用程序执行时, 总是把 ( ) 指定为启动窗体 A. 不包含任何控件的窗体 B. 设计时的第一个窗体 c. 包含控件最多的窗体 D. 命名为 F rml 的窗体 11. Dim I As Integer, 则运行时变量 I 的初始值是 ( ) A.O B.1 C. -1 D. 空值 12. 使用 ADO 数据模型时, 建立 Recordset 和 Connection 对象连接的属性是 ( ) ED OC tm um PAO A. Execute 冉C. ActiveConnection 13. 下列关于变量的说法不正确的是 ( ) an 3G T Vd DA A. 局部变量是指那些在过程中用 D i m 语句或 S t a t ic 语句声明的变量 B. 局部变量的作用域仅限于声明它的过程 c. 静态局部变量是在过程中用 S t a t ic 语句声明的 D. 局部变量在声明它的过程执行完毕后就被释放了 14. 下列数据对象模型中采用 LE DB 访问数据库的是 ( ) A. DA() B. ADO 1360 C. RDO D. RDO 和 ADO
15. 为了在运行时把 dz\pic 文件夹下的图形文件 a.jpg 装入图片框 Picture1 中, 所使用的语句为 ( ) A. Picture1. Text = LoadPicture(" d 八 pic\a. jpg") B. Picture1. Picture = LoadPicture("d:\pic\a. jpg") C. Picture1. Picture = LoadPicture(d:\pic\a. jpg) D. Picture1. Pictur 巳 = Load("d:\pic\a. jpg") 二 填空题 ( 每小题 2 分, 共 2 0 分 ) 16. 在 VB 中, 要想获得某个相关控件或语句的帮助信息 9 一般可首先选中该控件或语句, 然后按键 17. 表达式 8 十 13 Mod 2 铃 4+3 的值是 18. 全局变量在整个应用程序中有效, 一般在标准模块中使用语句声明 19. 若窗体 Form1 左上角坐标为 (0,600), 右下角的坐标为 (800, 一 200) 则 X 轴的正向 向, y 轴的正向向 20. 将图片框的 AutoSize 属性设置成时, 可使图片框根据图片调整大小 21. Winsock 控件主要用来编制基于或协议的网络应用程序 22. VB 中, Access 数据库属于一一一一 ( 说明是哪种数据库类型 ) 23. VB 应用程序与数据库进行通信的主要机制称为 24. 设某个程序中要用到一个二维数组, 要求数组名为 A, 类型为字符串类型, 第一维下标从 1 到 3, 第二维下标从一 1 到 2, 则相应的数组声明语句为 25. 列表框控件中最后一项的序号等于 ListCount 属性减 三 阅读程序题 { 共 2 5 分 ) 阅读下列程序并写出程序运行结果 26. (6 分 Private Sub CommandLClickO Dim Sum1 As Integer, Sum2 As Integer S1HIll=OzSurn2=2 EA O V. 1 ]S-ul=盯四川-FNS h=m= 119UQu h=m isl m+?uqu ijnl Next i Print Sum1 m 铃u 写出程序运行时单击 C o m m a n d 1 按纽后,Fo rm1 上的输出结果 1361
27. (6 分 Private Sub CommandLClickO < Do While x 50 + x = (x 十 1) 铸 (x 2) Loop n = n 十 1 Textl. Text = Text2. Text = Str(n) Str(x) 写出程序运行时单击 Co m m and l 按纽后,text1 和 text2 上的输出结果 o 28. (6 分 ) Private Sub Form_ClickO a=3,b=4 Print "A="; 削 "B="; b Call mult(a) Print "A=";ap"B=";b Private Sub mult(x) x = 3 十 x b = 5 十 b 写出程序运行后, 单击窗体时的输出结果 29. (7 分 ) Private Sub Commandl Click() Static b As Integer Dim I As Integer I = 1 Do b = b 十 I + I = I 1 Loop While I < = 4 Textl. Text = Text2. Text = b I 1362 写出程序运行时两次单击 C omm an dl 按纽后, 文本框 T e x t 1 T e xt2 上的输出结果
四 完善程序题 ( 共 1 0 分 ) 30. 假设在 C 盘根目录中存在一个名为 " 学生. MDB" 的 Access 数据库, 其中包含一张名 为 " 学生基本情况 " 的数据表, 表中存放了学生的基本信息, 如图 1 所示 现在要求利用 VB 编写一个数据库记录增加程序, 程序的运行界面如图 2 所示, 基本逻辑 是 : 分别在 T e x t 1 T e x t 2 T e x t3 中输入学号 姓名 籍贯信息, 然后点击 " 保存 " 按钮 (Command1) 将该记录添加到数据库中 如果数据库中已经存在相同的学号信息, 则程序应 提示用户 " 记录已存在, 请重新输入 ", 并将焦点置于 T e x t 1 上, 等待用户修改或重新输入 当 点击退出按钮 ( Co m m a n d 2 ) 时关闭本窗体 字号 j 姓名 愕栩 J 暗 ; 海 l~t. i 强 拇啊 ; 随 ~ 叫 : 山东.,...! 刷刷部 Q 哇 J 最佳,... 川.......,, ~ '...,...,.", 睦西 ""'-.' 王 j 础 4 J 弹? 强 ι : 江剖 ~ 心 iv : 记景 B 丑 IJ 厂一一 τ ( ~:I~ t]~ *) 共有记景黠一 图 1 f 叶请输 JK 学生基本雷况信息一叫 问 呐! 字号严棚 4 1 j 削 ~'. 强 ; ; 籍贯 j 江苏! 一 一 叫 ; 草草寄 ~ ' ~ ll 遣出 图 2 1363
程序如下, 请补充完整 Private Sub Form_LoadO [lj "Provider = Microsoft. Jet. OLEDB. 4. 0; Dataource = 学生. mdb; Persist Security Info=False" Private Sub CommandLC1ickO Dim strsql As String [ 2J [3J = ADOcn Dim ADOrs As New Recordset ADOrs. ActiveConnection = ADOcn strsql = "Select 铃 from 学生基本情况 Where 学号 = /II + Text1 + ' ADOrs. Open [4J If Not ADOrs. EOF Then MsgBox " 学号已经存在, 请重新输入!",vbOKOnly, " 信息提示 " Textl. SetFocus Else strsql = "Insert Into 学生基本情况 ( 学号, 姓名, 籍贯 ) " strsql = strsql + " Values ( HI 十 τ 马 xt 1 + " ', " 十 τext 2 十 /II, /II + τkxt 3 + " ' ) " [5J Execute strsql MsgBox" 添加成功! ", vbokonly, " 信息提示 " End If Private Sub Command2 一 C1ickO Unload Me 1364
五 编写程序题 { 共 1 5 分 ) 3 1. 编写简单的工资计算程序, 要求在 Text1 Text2 Text3 中分别输入基本工资 奖金 扣款, 单击 " 计算 " 按钮 ( Com m a n d 1 ) 后, 首先计算 " 应发工资 " ( T e xt 的, 然后根据 " 应发工资 " 计 算个人所得税 ( T e xt 日, 最后计算出实发工资 ( T e xt 肘 (1) 应发工资 = 基本工资 + 奖金一扣款 (2) 个人所得税的计算规则假设为 : 1 当应发工资在 1 0 00 元以内部分 ( 含 1 0 0 0 元 ), 不扣所得税 2 当应发工资大于 1 0 0 0, 但小于等于 4 0 00 元时, 超过 1 0 00 元的部分按 1 5 % 计算所得税 3 当应发工资大于 4 0 0 0, 按 2 0 % 扣税 程序运行结果如图 3 所示 (;13 至 1 逼出 图 3 1365
试卷代号 : 2 2 3 1 座位号 中央广播电视大学 2 0 11 一 2 0 1 2 学年度第二学期 " 开放专科 " 期末考试 Visual Basic 程序设计 试题答题纸 2012 年 7 月 题号一 四五总分 分数 一 一 一 得分 评卷人 - 单项选择题 ( 每小题 2 分, 共 3 0 分 } 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 得分 评卷人 二 填空题 { 每小题 2 分, 共 2 0 分 } 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 1366
得分! 评卷人 三 阅读程序题 { 共 2 5 分 } 26. 27. 28. 29. 得分 评卷人 四 完善程序题 { 共 1 0 分 ) 30. 程序如下, 请补充完整 Private Sub Form_Load() [IJ "Provider= Microsoft. Jet. OLEDB. 4. 0; Dataource = 学生. mdb;persist Security Info=False" Private Sub Commandl_ClickO Dim strsql As String [ 2J [3J = ADOcn Dim ADOrs As New Recordset ADOrs. ActiveConnection = ADOcn strsql = "S 巳 lect 祷 from 学生基本情况 Where 学号 = '" + Textl + II, II ADOrs. Open [4J If Not ADOrs. EOF Then MsgBox " 学号已经存在, 请重新输入!",vbOKOnly, " 信息提示 " Textl. SetFocus Else strsql = "Insert Into 学生基本情况 ( 学号, 姓名, 籍贯 ) " strsql = strsql + " Values ( '" 十 Text l +"','" + Text2 + "','" + 在 xt 3 + "')" [5J Execute strsql 1367
MsgBox" 添加成功! ", vbokonly, " 信息提示 " End If Private Sub Command2_ClickO Unload Me 得分 评卷人 五 编写程序题 ( 共 1 5 分 ) 31. 1368
试卷代号 : 2 2 3 1 中央广播电视大学 2 0 11 2012 学年度第二学期 " 开放专科 " 期末考试 Visual Basic 程序设计 试题答案及评分标准 ( 供参考 ) 2012 年 7 月 一 单项选择题 { 每小题 2 分, 共 3 0 分 } 1. D 2. C 3. B 6. D 7. B 8. C 4. B 9. C 5. C 10. B 11. A 12. C 13. D 14. B 15. B 二 填空题 ( 每小题 2 分, 共 2 0 分 ) 16. F1 17. 16 18. Public 19. 右上 20. True 21. TCP/IP UDP 22. 本地数据库 23. 数据库引擎 24. Dim A(lTo 3, -1To 2) As String 25. 1 三 阅读程序题 ( 共 2 5 分 } 26. (6 分 ) 6 27. (6 分 ) 3 182 28. (6 分 ) A=3 B=4 A=6 B=4 1369
29. (7 分 ) 10 5 20 5 四 完善程序题 { 共 1 0 分 } 30. [lj ADOcn. Open [2J Dim ADOrs As New Recordset [3J ADOrs. ActiveConnection [4J strsql [5J ADOcn. 五 编写程序题 ( 共 1 5 分 } 3 1. 参考答案 : Private Sub Command1 一 Click() Text4 = Val(Text l) 十 Val(Text2) - Val(Text3) If Val(Text 的 < = 1000 Then Text5 = 0 ElseIf Val(Text4) > 1000 And Val(Text4) <= 4000 Then Text5 = (Val(Text4) - 1000) 祷 O. 15 Else Text5 = Val(Text4) 铸 O. 2 End If Text6 = Val(Text4) - Val(Text5) Private Sub Command2_ClickO Unload Me 1370