试卷代号:2231 中央广播电视大学2011一2012学年度第二学期“开放专科”期末考试 Visual Basic程序设计试题 2012年7月 注意事项 一、将你的学号、姓名及分校(工作站)名称填写在答题纸的规定栏内。考试 结束后,把试卷和答题纸放在桌上。试卷和答题纸均不得带出考场。监考人收完 考卷和答题纸后才可离开考场。 二、仔细读懂题目的说明,并按题目要求答题。答案一定要写在答题纸的指 定位置上,写在试卷上的答案无效。 三、用蓝、黑圆珠笔或钢笔(含签字笔)答题,使用铅笔答题无效。 一、单项选择题(每小题2分,共30分) 1.后缀为.bas的文件表示VB的()。 A.类模块文件 B.窗体文件 C.工程文件 D.标准类模块文件 2.无论何种控件,共同具有的属性是( )。 A.Text属性 B.Caption属性 C.Name属性 D.Autosize属性 3.如果对象的名称为Mytext,而且对象有一个属性Text,那么在代码中引用该属性的正 确格式是()。 A.Text.Mytext B.Mytext.Text C.Mytext.(Text) D.Mytext Text 4.在设计动画时,用时钟控件来控制动画速度的属性是()。 A.Enabled B.Interval C.Timer D.Move 1359
试卷代号 2 2 中央广播电视大学 11 2012 学年度第 开放专 末考 Visual Basic 设计 2012 注意事项 一、将你的学号、姓名及分校{工作站)名称填写在答题纸的规定栏内。考试 结束后,把试卷和答题纸放在桌上。试卷和答题纸均不得带出考场。监考人收完 考卷和答题纸后才可离开考场。 二、仔细读懂题目的说明,并按题目要求答题。答案一定要写在答题纸的指 定位置上,写在试卷上的答案无效。 三、用蓝、黑圆珠笔或钢笔(含签字笔)答题,使用铅笔答题无效。 一、单项选择题{每小题 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 C. Timer B. Interval D. Move 1359
5.要在窗体上显示“欢迎您!”,使用的语句是()。 A.Form.caption="欢迎您!” B.Forml.caption="欢迎您!” C.Forml.print"欢迎您!" D.Form.print"欢迎您!" 6.关于语句行,下列说法正确的是()。 A.一行只能写一条语句 B.长度不能超过255个字符 C.每行的首字符必须大写 D.一条语句可以分多行书写 7.下列正确的赋值语句是()。 A.x+y=20 B.y=x+20 C.3x=y D.s=π米r米r 8.如果希望以模态方式显示窗体Forml,下列正确的语句是( )。 A.Forml.Show B.Forml.Show 0 C.Form1.Show 1 D.以下都不正确 9.对于定时器(Timer)控件,设置其定时是否开启的属性是( )。 A.Index B.Tag C.Enabled D.Left 10.多窗体程序是由多个窗体组成,在缺省情况下,VB在应用程序执行时,总是把() 指定为启动窗体。 A.不包含任何控件的窗体 B.设计时的第一个窗体 C.包含控件最多的窗体 D.命名为Frml的窗体 1l.Dim】As Integer,则运行时变量I的初始值是()。 A.0 B.1 C.-1 D.空值 l2.使用ADO数据模型时,建立Recordset和Connection对象连接的属性是()。 A.Execute B.Open C.ActiveConnection D.CommandType 13.下列关于变量的说法不正确的是()。 A.局部变量是指那些在过程中用Dim语句或Static语句声明的变量 B.局部变量的作用域仅限于声明它的过程 C.静态局部变量是在过程中用Static语句声明的 D.局部变量在声明它的过程执行完毕后就被释放了 14.下列数据对象模型中采用OLE DB访问数据库的是( )。 A.DAO B.ADO C.RDO D.RDO和ADO 1360
5. 在窗 上显 )。 A.Form.caption=" 欢迎 C. Form1. print" 6. 法正 A. 一条 c.每行的首字符必须大写 7. 下列 正 )。 A. 十y=20 C. 3x=y B. Forml. caption= "欢迎您!" D.Form.print "欢迎您!" B. 度不 过255 字符 卫一条语句可以分多行书写 B. y=x+20 D. s=π 8. 果希望 下列 确 的 )。 A. Form1. Show B. Form1. Show 0 C. Form1. Show 1 D. 不 正确 9. 于定 时 启 的 性是 )。 A. Index C. Enabled B. Tag D. Left 10. 程序 组成 在缺 是把 ) 指定为启动窗体。 A. 控件 的 窗 体B. 设计 c.包含控件最多的窗体 .命名为 l的窗体 11. Dim I As Integer 则 运 时变量I 值是 )。 A.O B.1 C. -1 D.空值 12. 用ADO 立Recordset 和Connection 连接 性是 )。 A. Execute T VdDA 3G an EDOCPAOumtm C. ActiveConnection 13. 下列 )。 A.局部变量是指那些在过程中用 m语句或 c语句声明的变量 B. 域仅 c.静态局部变量是在过程中用 c语句声明的 D. 部变量在 过程执行完毕 就被释 14. 据 对 采用 。LE DB 数据 )。 A. DA() B. ADO C. RDO D. RDO 和ADO 1360
15.为了在运行时把d:\pic文件夹下的图形文件a.jpg装人图片框Picturel中,所使用 的语句为( )。 A.Picturel.Text=LoadPicture("d:\pic\a.jpg") B.Picturel.Picture =LoadPicture("d:\pic\a.jpg") C.Picturel.Picture =LoadPicture(d:\pic\a.jpg) D.Picturel.Picture =Load("d:\pic\a.jpg") 二、填空题(每小题2分,共20分) 16.在VB中,要想获得某个相关控件或语句的帮助信息,一般可首先选中该控件或语 句,然后按 键。 17.表达式8+13Mod2*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属性减 三、阅读程序题(共25分) 阅读下列程序并写出程序运行结果。 26.(6分) Private Sub Commandl_Click() Dim Suml As Integer,Sum2 As Integer Suml =0:Sum2 2 For i=1 To 2 Forj=1 Toi Sum2Sum2 j Next j Suml Suml Sum2 Next i Print Suml End Sub 写出程序运行时单击Commandl按纽后,Forml上的输出结果。 1361
15. 把dz\pic 文件夹 下 的 图 件a.jpg 装 入 框Picture1 所使 的语句为( )。 A. Picture1. Text = LoadPicture(" 八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分,共 0分) 16. 件或 帮 助 可 首 句,然后按键。 17. 表达式8十13 Mod 铃4+3 18. 变量在 般在 19. 体Form1 为(0 ,600) 右下 为(800 一200) 轴 的 y轴的正向向 20. 图 片 的AutoSize 性设 框根据 调 整 21. Winsock 件 主要 用 编制 应用程序 22. VB Access 数据库属 于 一一 据库类 23. VB 用程序 进行通信 24. 个程 要用 一个二 数组 求 数组 型 为 类 型 标从 1到 3,第二维下标从一1到 2,则相应的数组声明语句为 25. 表框控 后一项 序 号等于ListCount 三、阅读程序题{共 5分) 阅读下列程序并写出程序运行结果。 26. (6 Private Sub CommandLClickO Dim Sum1 As Integer , Sum2 As Integer S1HIll=OzSurn2=2 iJnL um m+?UQU 119UQu h=misl EAOV·. -FNS1·]-ul h=m= Next i Print Sum1 End Sub 写出程序运行时单击 m m n d 1按纽后, 1上的输出结果。 1361
27.(6分) Private Sub Command1_Click() Do While x<50 x=(x+1)*(x+2) n=n+1 Loop Text1.Text Str(n) Text2.Text Str(x) End Sub 写出程序运行时单击Command1按纽后,textl和text2上的输出结果。 28.(6分) Private Sub Form_Click() a=3:b=4 Print "A=";a;"B=";b Call mult(a) Print "A=";a;"B=";b End Sub Private Sub mult(x) x=3十x b=5+b End Sub 写出程序运行后,单击窗体时的输出结果。 29.(7分) Private Sub Commandl_Click() Static b As Integer Dim I As Integer I=1 Do b=b+1 1=I+1 Loop While I<=4 Text1.Text b Text2.Text =I End Sub 写出程序运行时两次单击Commandl按纽后,文本框Textl、Text2上的输出结果。 1362
27. (6 Private Sub CommandLClickO Do While x < 50 x = (x 1) 铸(x + 2) n = Loop Textl. Text = Str( n) Text2. Text = Str(x) End Sub 写出程序运行时单击 m m n d l按纽后,text1 和text2 28. (6 Private Sub Form_ClickO a=3 ,b=4 Print "A="; 削"B="; b Call mult(a) Print "A=";ap"B=";b End Sub Private Sub mult(x) x = b = 十b End Sub 写出程序运行后,单击窗体时的输出结果。 29. (7 Private Sub Commandl Click() Static b As Integer Dim I As Integer I = 1 Do b = 十I I = I + 1 Loop While I < = 4 Textl. Text = b Text2. Text = I End Sub 写出程序运行时两次单击 l按纽后,文本框 2上的输出结果。 1362
四、完簪程序题(共10分) 30.假设在C盘根目录中存在一个名为“学生.MDB”的Access数据库,其中包含一张名 为“学生基本情况”的数据表,表中存放了学生的基本信息,如图1所示。 现在要求利用VB编写一个数据库记录增加程序,程序的运行界面如图2所示,基本逻辑 是:分别在Textl、Text2、Text3中输入学号、姓名、籍贯信息,然后点击“保存”按钮 (Commandl)将该记录添加到数据库中。如果数据库中已经存在相同的学号信息,则程序应 提示用户“记录已存在,请重新输入”,并将焦点置于Txt1上,等待用户修改或重新输人。当 点击退出按钮(Command2)时关闭本窗体。 学生基本精汉:表 ☒ 学号 姓名 籍贯 2009001 李丽 河北 2009002 孙超 东 2009003 赵佳 陕西 12009004 孙一强 江洲 记录:儿 4们0共有记录数: 图1 增加学生记录 请输入学生基本情况信息 学号 2009004 姓名 团一强 籍贯 江苏 保荐 退出 图2 1363
四、完善程序题(共 0分) 30. 假设在C 盘 MDB" 的Access 包含一 张 为"学生基本情况"的数据表,表中存放了学生的基本信息,如图 1所示。 现在要求利用 B编写一个数据库记录增加程序,程序的运行界面如图 2所示,基本逻辑 是:分别在 1、 2、 3中输入学号、姓名、籍贯信息,然后点击"保存"按钮 (Command1) 将该 数据 经存 在 相 学 号 程 序 应 提示用户"记录已存在,请重新输入",并将焦点置于 1上,等待用户修改或重新输入。当 点击退出按钮 m m )时关闭本窗体。 字号 愕栩… 拇啊………;随~………叫:山东.,......……!刷 刷部 .. . . . .. .. ,, .. ,...,.",睦西"" '-.'… 记景 IJ )共有记景黠一 基本雷况信息 !字号严棚 .强; ;籍贯 ……一…………………一………叫 ;…草草寄… 1363
程序如下,请补充完整。 Private Sub Form_Load() [1] "Provider Microsoft.Jet.OLEDB.4.0;Dataource=.mdb;Persist Security Info=False" End Sub Private Sub Command1_Click() Dim strSQL As String [2] 3] =ADOcn Dim ADOrs As New Recordset ADOrs.ActiveConnection ADOcn strSQL="Select*from学生基本情况Where学号="+Textl十"'" ADOrs.Open [4] If Not ADOrs.EOF Then MsgBox“学号已经存在,请重新输人I",vbOKOnly,"信息提示" Text1.SetFocus Else strSQL="Insert Into学生基本情况(学号,姓名,籍贯)" strSQLstrSQL+Values Text 1+","+Text2+",+Text3+"')" [5] Execute strSQL MsgBox"添加成功!",vbOKOnly,"信息提示" End If End Sub Private Sub Command2_Click() Unload Me End Sub 1364
程序如下,请补充完整。 Private Sub Form_LoadO [lJ "Provider = Microsoft. Jet. OLEDB. 4. 0; Dataource =学生. mdb; Persist Security Info=False" End Sub 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 2 /II /II [5J Execute strSQL MsgBox"添加 vbOKOnly , "信息提示" End If End Sub Private Sub Command2一C1ickO Unload Me End Sub 1364
五、编写程序题(共15分) 31.编写简单的工资计算程序,要求在Text1、Text2、Text3中分别输人基本工资、奖金、 扣款,单击“计算”按钮(Command1)后,首先计算“应发工资”(Text4),然后根据“应发工资”计 算个人所得税(Text5),最后计算出实发工资(Text6)。 (1)应发工资=基本工资+奖金一扣款 (2)个人所得税的计算规则假设为: ①当应发工资在1000元以内部分(含1000元),不扣所得税。 ②当应发工资大于1000,但小于等于4000元时,超过1000元的部分按15%计算所得税。 ③当应发工资大于4000,按20%扣税。 程序运行结果如图3所示。 工资计算 a区 基本工资: 4000 奖金: 500 扣款: 300 应发工资: 4200 计算 个人所得税: 840 实发工资: 3360 退出 图3 1365
五、编写程序题{共 5分) 1. 计算程 在Text1 、Text2 、Text3 输入基 扣款,单击"计算"按钮 mm )后,首先计算"应发工资 t的,然后根据"应发工资"计 算个人所得税 t日,最后计算出实发工资 t肘。 (1)应发工资=基本工资+奖金一扣款 (2) 人所 ①当应发工资在 0 0 0元以内部分(含 0 0 0元) ,不扣所得税。 ②当应发工资大于 0,但小于等于 4 0 0 0元时,超过 0 0 0元的部分按 %计算所得税。 ③当应发工资大于 0 0 0,按 %扣税。 程序运行结果如图 3所示。 (;13至1 逼出 1365
试卷代号:2231 座位口 中央广播电视大学2011一2012学年度第二学期“开放专科”期末考试 Visual Basic程序设计 试题答题纸 2012年7月 题 号 二 三 四 五 总 分 分 数 得分 评卷人 一、单项选择题(每小题2分,共30分) 1. 2. 3. 4. 5. 6 7. 8. 9. 10. 11. 12. 13. 14. 15. 得分评卷人 二、填空题(每小题2分,共20分) 16. 17. 18. 19. 21. 2 2 24. 25. 1366
试卷代号 2 2 3 座位号 中央广播电视大学 11 2学年度第二学期"开放专科"期末考试 Visual Basic 序 设 2012 年7 • 总分 分数 得分|评卷人 -、单项选择题(每小题 2分,共 0分} 1. 6. 11. 2. 7. 12. 3. 8. 13. 4. 9. 14. 5. 10. 15. 得分|评卷人 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 1366 二、填空题{每小题 2分,共 0分}
得分 评卷人 三、阅读程序题(共25分) 26. 27. 28. 29. 得 分 评卷人 四、完善程序题(共10分) 30.程序如下,请补充完整。 Private Sub Form_Load() [1] "Provider=Microsoft.Jet.OLEDB.4.0;Dataource =学生.mdb;Persist Security Info=False" End Sub Private Sub Command1_Click() Dim strSQL As String [2] [3] =ADOcn Dim ADOrs As New Recordset ADOrs.ActiveConnection ADOcn strSQL="Select米from学生基本情况Where学号="+Textl+"'" ADOrs.Open [4] If Not ADOrs.EOF Then MsgBox"学号已经存在,请重新输入!",vbOKOnly,"信息提示" Text1.SetFocus Else strSQL="Insert Into学生基本情况(学号,姓名,籍贯)" strSQL strSQL +Values (Text 1 +","Text2+","+Text 3 +") [5] Execute strSQL 1367
得分!评卷人 三、阅读程序题{共 26. 27. 28. 29. 得分|评卷人 四、完善程序题{共 30. 序如 下 Private Sub Form_Load() [IJ "Provider = Microsoft. Jet. OLEDB. 4. 0; Dataource =学生. mdb;Persist Security Info=False" End Sub 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 + ADOrs. Open [4J If Not ADOrs. EOF Then MsgBox "学号已经存在,请重新输入!",vbOKOnly , "信息提示" Textl. SetFocus Else II , II strSQL = "Insert Into 基本 " strSQL = strSQL + " Values ( '"十 ext +"','" + Text2 + "','" +在xt 3 + "')" [5J Execute strSQL 1367
MsgBox"添加成功!",vbOKOnly,"信息提示" End If End Sub Private Sub Command2_Click() Unload Me End Sub 得 分 评卷人 五、编写程序题(共15分) 31. 1368
MsgBox" ", vbOKOnly , "信息提示" End If End Sub Private Sub Command2_ClickO Unload Me End Sub 得分|评卷人 五、编写程序题(共 31. 1368