试卷代号:2231 座位号■■ 国家开放大学(中央广播电视大学)2014年春季学期“开放专科”期末考试 Visual Basic程序设计 试题 2014年7月 题 号 二 三 四 五 总 分 分 数 得分 评卷人 一、单项选择题(每小题2分,共30分) l.与传统的程序设计语言相比,Visual Basic最突出的特点是()。 A.结构化程序设计 B.程序开发环境 C.事件驱动编程机制 D.程序调试技术 2.在设计阶段,当双击窗体时,所打开的窗口是( ) A.工程资源管理器窗口 B.工具箱窗口 C.代码窗口 D.属性窗口 3.后缀为.vbp的文件表示VB的( )。 A.类模块文件 B.标准类模块文件 C.窗体文件 D.工程文件 4.事件的名称()。 A.都是由用户来定义的 B.由用户或系统定义 C.都是由系统预先定义的 D.是不固定的 5.下列符号是Visual Basic中合法变量名的是( )。 A.IF B.7AB C.A[B]7 D.AB_7 6.为了给x,y,z三个变量赋初值,以下正确的语句是( )。 A.x=1,y=1,z=1 B.x=1:y=1:z=1 C.x=y=z=l D.x=1;y=1;z=1 995
试卷代号 2 2 座位号rn 国家开放大学(中央广播电视大学 4年春季学期"开放专科"期末考试 Visual Basic 试题 2014 年7 一、单项选择题{每小题 |得分|评卷人| I I I 〉。 B. D. B. 块文 D. 工程文件 B. 统定 D.是不固定的 1.与传统的程序设计语言相比, Visual Basic A.结构化程序设计 .程序开发环境 c.事件驱动编程机制 .程序调试技术 2. 在设计 双击 所打开 A. 工程 源管 c.代码窗口 3. 后缀 vbp 示VB A. 类模块文 C. 4. )。 A. 都是 c.都是由系统预先定义的 5. 下列 是Visual Basic 合法变量名 的 A. IF C. A[B]7 D. AB_7 6. 量赋 B.7AB 995 B. x=l:y=l:z=l D. x = 1; y= 1;z= 1 A. x=l ,y = l , z= l C. x=y=z=l
7.MsgBox函数的返回值的类型是()。 A.整型 B.字符串 C.逻辑型 D.日期型 8.要在窗体的标题栏内显示“myfrm”,使用的语句是( )。 A.Form.caption="myfrm" B.Form1.caption="myfrm" C.Forml.print "myfrm D.Form.print "myfrm" 9.以下叙述中正确的是()。 A.窗体的Name属性指定窗体的名称、用来标识一个窗体 B.窗体的Name属性的值是显示在窗体标题栏中的文本 C.可以在运行期间改变对象的Name属性的值 D.对象的Name属性值可以为空 l0.有程序代码如下:Textl.Text="VB程序设计",则Textl,Text,和"VB程序设 计"分别代表()。 A.对象,值,属性 B.对象,方法,属性 C.对象,属性,值 D.属性,对象,值 11.下列关于变量的说法不正确的是()。 A.局部变量是指那些在过程中用Dim语句或Static语句声明的变量 B.局部变量在声明它的过程执行完毕后就被释放了 C.静态局部变量是在过程中用Static语句声明的 D.局部变量的作用域仅限于声明它的过程 12.以下有关Visual Basic语言描述中错误的是(). A.不区分大小写 B.语句是一行一句,以回车键结束 C,用“,”分隔一行中的多个语句 D.一条语句放在多行中,则在前一行结束处使用续行符“”连接下一行 13.如下数组声明语句,正确的是( )。 A.Dim a[3,4]As Integer B.Dim a(3,4)As Integer C.Dim a(n,n)As Integer D.Dim a(3 4)As Integer 14.确定一个控件在窗体的位置的属性是( )。 A.Width和Height B.Width或Height C.Top和Left D.Top或Left 15.下列数据对象模型中采用OLE DB访问数据库的是()。 A.DAO B.RDO C.ADO D.RDO和ADO 996
7. MsgBox )。 A. 型B. c.逻辑型 .日期型 8. 题栏 显示 ,使用的语句是( )。 A. Form. caption= "myfrm" C. Form1. print "myfrm" B. Form1. caption= "myfrm" D. Form. print "myfrm" B. D.属性,对象,值 9. 叙述 )。 A. 的Name B. 的Name 是显示在 体标题 c.可以在运行期间改变对象的 e属性的值 D. 的Name 为空 10. 如 下 Text1. Text = "VB 程序 设 则Text1 Text ,和 B程序设 计"分别代表( )。 A. c.对象,属性,值 1. 变量 法不正 )。 A. 量是 那些在过程 用Dim 或Static 变量 B. 部变量在 过程 就被释放 c.静态局部变量是在过程中用 c语句声明的 D. 于声 过程 12. 关Visual Basic 错误 )。 A. 大小 B. 语句是一 一句 以 回 键结 c.用","分隔一行中的多个语句 D. 在多 行结 续行 "连接下一行 13. 数组声 )。 A. Dim a[3 ,4J As Integer B. Dim a(3 ,4) As Integer C. Dim a(n ,n) As Integer D. Dim a(3 4) As Integer 14. 个控 位置 )。 A. Width 和Height B. Width 或Height C. Top 和Left D. Top 或Left 15. 下列 对象 用OLEDB 据库 )。 A. DAO B. RDO C. ADO D. ROO 和ADO 996
得分 评卷人 二、填空题(每小题2分,共20分) 16.Visual Basic提供了结构化程序设计的3种基本结构,这3种基本结构是顺序结构、 和 17.定时器(Timer)控件可识别的事件是 ,发生该事件的时间间隔由定 时器的 属性设置。 18.表达式8+13Mod2*4+3的值是 19.全局变量在整个应用程序中有效,一般在标准模块中使用 语句 声明。 20.控件数组的名字由 属性指定,而数组中的每个元素由 属性决定。 21.如果不适先确定变量的数据类型,则可以把它声明为 变量。 22.执行赋值语句a="abc”十"def",变量a的值是 23.VB中的程序错误类型主要有编译错误 等三种。 24.在VB中,将Foxpro称为外部数据库,Access称为 SQL Server称为 0 25.若窗体Form1左上角坐标为(0,600),右下角的坐标为(800,一200)。则X轴的正向 向 ,Y轴的正向向 得 分 评卷人 三、阅读程序题(共25分) 阅读下列程序并写出程序运行结果 26.(6分) Private Sub Commandl_Click() x=0 Do While x<50 x=(x+2)*(x+3) n=n+1 Loop Textl.Text Str(n) Text2.Text =Str(x) End Sub 程序运行后,单击Command1,在文本框Textl,Text2中输出的结果分别是: 997
|得分|评卷人| I I I 二、填空题{每小题 2分,共 0分) 16. Visual Basic 提供 结构化程序设计 的3 种基本结 这3 基本 17. 器(Timer) 事件是 时器的属性设置。 18. 式8+13 Mod 势4+3 19. 局 变 应 用 程 有 效 模 块 声明。 20. 控 件 数 性 指 定 数 组 个 元 属性决定。 1. 数据类 22. 行 赋 句a = "abc" + "def" 量a 23. VB 错误类型主 有编 24. 在VB 将Foxpro 外 部 据 库 Access ,SQL Server 25. 体Form1 左上 为(0 ,600) 右下 为(800 一200) 则X 向-一一-一, y轴的正向向 得分|评卷人 三、阅读程序题{共 5分) 阅读下列程序并写出程序运行结果 26. (6 Private Sub Command1_Click() x=O Do While x < 50 x = (x + 2) 赞(x + 3) n = n + 1 Loop Textl. Text = Str(n) Text2. Text = Str(x) End Sub 程序运行后,单击 mm n d !,在文本框 t ! 2中输出的结果分别是: 997
27.(6分) 阅读如下程序代码,选择正确答案 Private Sub Form_Click() Dim i As Integer,k As Integer,c As Integer Fori=1 To 5 If i Mod 2=0 Then k=k十2 Else c=c十3 End If Next i Print k,c End Sub 程序运行后单击窗体,Forml上的输出结果是: 28.(6分) Private Sub Command1_Click() Static Sum As Integer Dim I As Integer 11 Do Sum Sum +I I=I+1 Loop While I<=5 Text1.Text Sum Text2.Text I End Sub 程序运行后,两次单击Commandl按纽后,文本框Textl、Text2上的输出结果是: 29.(7分) Sub Change(x As Integer,y As Integer) Dim t As Integer t=x x=y y=t Print x,y End Sub Private Sub Form_Click() Dim a As Integer,b As Integer a=30:b=40 Change a,b Print a,b End Sub 程序运行后单击窗体,在窗体上显示的结果是: 998
27. (6 阅读如下程序代码,选择正确答案 Private Sub Form_ClickO Dim i As Integer, k As Integer, c As Integer For i = 1 To 5 If i Mod 2 = 0 Then k=k+Z Else c = c + 3 End If Next i Print k , c End Sub 程序运行后单击窗体, l上的输出结果是 28. (6 Private Sub CommandLClickO Static Sum As Integer Dim I As Integer I = 1 Do Sum = Sum + I I = 1+1 Loop While I < = 5 Textl. Text = Sum Text2. Text = I End Sub 程序运行后,两次单击 l按纽后,文本框 Z上的输出结果是: 29. (7 Sub Change( x As Integer, y As Integer) Dim t As Integer t = x x = y y = t Print x , y End Sub Private Sub Form_ClickO Dim a As Integer, b As Integer a = 30: b = 40 Change a , b Print a , b End Sub 程序运行后单击窗体,在窗体上显示的结果是: 998
得分 评卷人 四、完善程序题(共10分) 30.假设用Access创建了一个名为“学生.MDB”的数据库,并在其中创建了一张名为“学 生基本情况”的数据表,表中存放了学生的基本信息,如图1所示。 现在要求利用VB编写一个数据库查询程序,程序的运行界面如图2所示,基本逻辑是: 首先文本框(Textl)中输人希望查询的学生学号,然后点击“查询”按钮(Commandl),如果数 据库中存在该学号,则分别在Text2、Text3、Text4中显示学号、姓名、籍贯信息,否则提示用 户“记录不存在”并使Text1获得焦点,要求用户重新输人。当点击退出按钮(Command2)时 关闭本窗体。 学号姓名籍贯 2012001 王华 天津 2012002 张达 河北 2012003 刘 北京 图1用Access创建的学生基本情况数据表 童学号 2012001 2012001 名 出 图2查询程序运行界面 999
|得分|评卷人| I I I 四、完善程序题{共 0分} 30. 假设用Access MDB" 据库 生基本情况"的数据表,表中存放了学生的基本信息,如图 1所示。 现在要求利用 B编写一个数据库查询程序,程序的运行界面如图 2所示,基本逻辑是: 首先文本框 !)中输入希望查询的学生学号,然后点击"查询"按钮 .如果数 据库中存在该学号,则分别在 2、 3、 4中显示学号、姓名、籍贯信息,否则提示用 户"记录不存在"并使 xt!获得焦点,要求用户重新输入。当点击退出按钮 关闭本窗体。 1用 cc s创建的学生基本情况数据表 2查询程序运行界面 999
程序如下,请补充完整。 Private ADOcn As Connection Private Sub Form_Load() Set ADOcn =[1] ADOcn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\. MDB" End Sub Private Sub Command1_Click() Dim strSQL As String Dim [2] As New Recordset ADOrs.ActiveConnection ADOcn strSQL="Select*From学生基本情况Where学号="+","十Text1+"," [3] f[4幻 ADOrs.EOF Then Text2=ADOrs.Fields("学号") Text3=ADOrs..Fields("姓名") Text4=ADOrs.Fields("籍贯") Else MsgBox"要查询的学号不存在,请重新输入!",vbOKOnly,"信息提示" Textl ="m Text1.SetFocus [5] End Sub Private Sub Command2_Click() UnLoad Me End Sub 1000
程序如下,请补充完整。 Private ADOen As Connection Private Sub Form_Load() Set ADOen =[1J ADOen. Open "Provider=Mierosoft. let. OLEDB. 4. O;Data Souree=e:\ MDB" End Sub Private Sub CommandLCliekO Dim strSQL As String Dim [2J As New Reeordset ADOrs. AetiveConnection = ADOcn strSQL = "Select 铸From 况Where 学号 + "." + Text1 + I [3J If [4J ADOrs. EOF Then Text2 = ADOrs. Fields(" Text3 = ADOrs. Fields<" " ) Text4 = ADOrs. Fields(" Else MsgBox" 查询 vbOKOnly , "信息提示" Text1 = "" Text!' SetFocus [5J End Sub Private Sub Command2_ClickO UnLoad Me End Sub 1000
得分 评卷人 五、编写程序题(共15分) 31.某商场为了加速促成商品流通,采用购物打折的优惠办法,每位顾客一次购物(1)在 300元以上者,按九五折优惠;(2)在500元以上者,按九折优惠:(3)700元以上者,按八折优 惠;(4)1000元以上者按七折优惠。在窗体上添加两个文本框和一个命令按钮,要求在Text1 中输入购物商品总金额,单击命令按钮,在Txt2中输出优惠后的价格。程序运行结果如图 3.1所示。 总金 优嘉后的格 1000 700 计算 图3 1001
|得分|评卷人| I I I 五、编写程序题{共 1. 促成商 用 购 物 打 每位 1) 300 (2) 在500 折优 惠;(3)700 上 者 八折 惠刊的 0 0 0元以上者按七折优惠。在窗体上添加两个文本框和一个命令按钮,要求在 中输入购物商品总金额,单击命令按钮,在 2中输出优惠后的价格。程序运行结果如图 3.1 1001
试卷代号:2231 国家开放大学(中央广播电视大学)2014年春季学期“开放专科”期末考试 Visual Basic程序设计试题答案及评分标准 (供参考) 2014年7月 一、单项选择题(每小题2分,共30分) 1.C 2.C 3.D 4.C 5.D 6.B 7.A 8.B 9.A 10.C 11.B 12.C 13.B 14.C 15.C 二、填空题(每小题2分,共20分) 16.选择结构 循环结构 17.Timer Interval 18.16 19.Public 20.Name Index 21.变体型(Variant) 22.abcdef 23.实时错误 逻辑错误 24.本地数据库 远程数据库 25.右 上 三、阅读程序题(共25分) 26.(6分) 2和72 27.(6分) 49 28.(6分) 306 29.(7分) 40 30 40 30 1002
试卷代号 国家开放大学{中央广播电视大学 4年春季学期"开放专科"期末考试 Visual Basic 试题 及评分标 (供参考) 2014 年7 一、单项选择题{每小题 1. C 2. C 3. D 6. B 7. A 8. B I 1. B 12.C 13.B 二、填空题{每小题 16. 选择结 4.C 9.A 14.C 5.D 10. C 15. C 17. Timer Interval 18.16 19. Public 20. Name Index 1. 型(Variant) 22. abcdef 逻辑错误 远程数据库 23. 错误 24. 地数据 25. 右 上 三、阅读程序题{共 5分) 26. (6 和72 27. (6 4 9 28. (6 30 6 29. (7分〉 40 30 40 30 1002
四、完簪程序题(共10分) 30.[1]New Connection [2]ADOrs [3]ADOrs.Open strSQL [4]Not [5]End If 五、编写程序题(共15分)】 31.参考答案: Private Sub Command1_Click() Dim x As Single,y As Single x Val(Textl.Text) If x<300 Then y=x Else If x<500 Then y=0.95¥x Else If x<700 Then y=0.9*x Else If x<1000 Then y=0.8*x Else y=0.7*x End If End If End If End If Label3.Caption =y End Sub 1003
四、完善程序踵{共 30. [lJ New Connection [2J ADOrs [3 J ADOrs. Open strSQL [4J Not [5J End If 五、编写程序题{共 1. Private Sub Command1_ClickO Dim x As Single. y As Single x = Val(Text1. Text) If x < 300 Then y = x Else If x < 500 Then y = 0.95 Else If x < 700 Then y = 0.9 Else If x < 1000 Then y = 0.8 Else y = 0.7 End If End If End If End If Label3. Caption = y End Sub 1003