武汉职业技术学院 2005~2006学年度第二学期考试试卷B 考试科目:《Ⅴ isual basic程序设计》 适用班级:计算机系网络04401班答题时间:100分钟 班级 学号 姓名 选择题(1分题,共6分) (1)以下不能在"工程资源管理器"窗口中列出的文件类型是 A) bas B).res c). frm D).oCx (2)下列可作为 Visual basic变量名的是 A) A#A B)4A C)?xy D)constA (3)在窗体上画一个名称为Lst1的列表框,一个名称为 Labell的标签。列表框中 显示若干城市的名称。当单击列表框中的某个城市名时,在标签中显示选中城市的 名称。下列能正确实现上述功能的程序是 A) Private Sub ListI Click B) Private Sub List1 Click Labell Caption= ListI ListIndex Label l Name= Listl listindex C) Private Sub Listl Click D) Private Sub List1 Click Labell Name List text Labell Caption= List. Text End Sub End Sub (4)在窗体上画三个单选按钮,组成一个名为 chkoption的控件数组。用于标识各 个控件数组元素的参数是 A) Tag B) Index C) ListIndex D) Name (5)在窗体上画一个命令按钮,名称为 Commandl,然后编写如下事件过程: Private Sub Commandl Click Dim city As variant city=Aray("北京","上海","天津","重庆") Print city(I End Sub 程序运行后,如果单击命令按钮,则在窗体上显示的内容是 A)空白 B)错误提示 C)北京 (6)设有语句 Open"c: \Test. Dat" For Output As #1 则以下错误的叙述是 第1页共8页
第1页 共8页 武汉职业技术学院 2005~2006 学年度第二学期考试试卷[B] 考试科目:《Visual Basic 程序设计》 适用班级:计算机系网络 04401 班 答题时间:100 分钟 班级 学号 姓名 一、 选择题(1 分/题,共 6 分) (1)以下不能在"工程资源管理器"窗口中列出的文件类型是 A).bas B).res C).frm D).ocx (2)下列可作为 Visual Basic 变量名的是 A)A#A B)4A C)?xy D)constA (3) 在窗体上画一个名称为 List1 的列表框,一个名称为 Label1 的标签。列表框中 显示若干城市的名称。当单击列表框中的某个城市名时,在标签中显示选中城市的 名称。下列能正确实现上述功能的程序是 A) Private Sub List1_Click() B)Private Sub List1_Click() Label1.Caption = List1.ListIndex Label1. Name = List1. ListIndex End Sub End Sub C) Private Sub List1_Click() D)Private Sub List1_Click() Label1.Name = List1.Text Label1.Caption = List1.Text End Sub End Sub (4) 在窗体上画三个单选按钮,组成一个名为 chkOption 的控件数组。用于标识各 个控件数组元素的参数是 A)Tag B)Index C)ListIndex D)Name (5) 在窗体上画一个命令按钮,名称为 Command1,然后编写如下事件过程: Option Base 0 Private Sub Command1_Click() Dim city As Variant city = Array("北京", "上海", "天津", "重庆") Print city(1) End Sub 程序运行后,如果单击命令按钮,则在窗体上显示的内容是 A)空白 B)错误提示 C)北京 D)上海 (6)设有语句 Open "c:\Test.Dat" For Output As #1 则以下错误的叙述是
A)该语句打开C盘根目录下一个已存在的文件 Test. Dat B)该语句在C盘根目录下建立一个名为 Test dat的文件 C)该语句建立的文件的文件号为1 D)执行该语句后,就可以通过 Print#语句从文件 Test Dat中读出信息 二、填空题(每空2分,共28分) 请将每空的正确答案写在答题卡【1】~【14】序号的横线上,答在试卷上不得分。 (1) Visual basic中有一种控件组合了文本框和列表框的特性,这种控件是【1】 (2)Ⅴ isual basic提供的对数据文件的三种访问方式为随机访问方式、【2】和二 进制访问方式 (3)执行下面的程序段后,变量S的值为【3】。 For i=2.6To 4.9 Step 0.6 S=S+1 Next i (4)为了在运行时把dpic文件夹下的图形文件ajpg装入图片框 Picture,所使 用的语句为【4】。 (5)计时器控件能有规律的以一定时间间隔触发【5】事件,并执行该事件过程 中的程序代码 (6)以下程序的功能是:生成20个大写的英文字母(A的Asci码为65)。请填 空 Private Sub Command 1 Click For i= 1 to 20 a=Int(Rnd*【7】26+【8】) Print【9】 End Sub (7)设有如下程序 Private Sub Form Click Dim a As Integer, b As Integer pI a, b Print "a= End Sub Sub pl(x As Integer, byval y As Integer) y=y+20 页共8页
第2页 共8页 A)该语句打开 C 盘根目录下一个已存在的文件 Test.Dat B)该语句在 C 盘根目录下建立一个名为 Test.Dat 的文件 C)该语句建立的文件的文件号为 1 D)执行该语句后,就可以通过 Print #语句从文件 Test.Dat 中读出信息 二、 填空题(每空 2 分,共 28 分) 请将每空的正确答案写在答题卡【1】~【14】序号的横线上,答在试卷上不得分。 (1)Visual Basic 中有一种控件组合了文本框和列表框的特性,这种控件是 【1】 。 (2)Visual Basic 提供的对数据文件的三种访问方式为随机访问方式、【2】和二 进制访问方式。 (3)执行下面的程序段后,变量 S 的值为 【3】 。 S = 5 For i = 2.6 To 4.9 Step 0.6 S = S + 1 Next i (4)为了在运行时把 d:\pic 文件夹下的图形文件 a.jpg 装入图片框 Picture1,所使 用的语句为 【4】 。 (5)计时器控件能有规律的以一定时间间隔触发 【5】 事件,并执行该事件过程 中的程序代码。 (6)以下程序的功能是:生成 20 个大写的英文字母(A 的 Ascii 码为 65)。请填 空。 Private Sub Command1_Click() 【6】 For i = 1 To 20 a = Int(Rnd *【7】 26 + 【8】) Print 【9】 Next i End Sub (7)设有如下程序 Private Sub Form_Click() Dim a As Integer, b As Integer a = 20: b = 50 p1 a, b Print "a="; a, "b="; b End Sub Sub p1(x As Integer, byval y As Integer) x = x * 10 y = y + 20
End Sub 该程序运行后,单击窗体,则在窗体上显示的内容是:a=【10】和b=【11】。 (9)在窗体上画一个名称为 Cobol的组合框,画两个名称分别为 Label和 Label2 及 Caption属性分别为城市名称和空白的标签。程序运行后,当在组合框中输入 个新项后按回车键(ASCI码为13)时,如果输入的项在组合框的列表中不存在 则自动添加到组合框的列表中,并在 Label2中给出提示"已成功添加输入项"如图所 示;如果存在,则在 Label2中给出提示"输入项已在组合框中"。请在【12】、【13】 和【14】处将程序补充完整 Private Sub Combo【12】( KeyAscii As Integer) If Key Ascii= 13 Then For i=0 To combo. List count -1 If Combo. Text=【13】Then Label2 Caption="输入项已在组合框中” Exit sub End If Label2 Caption="已成功添加输入项 Combo1.【14】 Combo.Text End If End Sub 三、读程填程题(共24分) 1.求100以内的素数之和,(每空2分,共10分) Private Sub Command1 Click Dim flag As boolean For i=2 To 100 Fal Forj=2 To If Then End lf 页共8页
第3页 共8页 End Sub 该程序运行后,单击窗体,则在窗体上显示的内容是:a = 【10】 和 b = 【11】 。 (9)在窗体上画一个名称为 Combo1 的组合框,画两个名称分别为 Label1 和 Label2 及 Caption 属性分别为"城市名称"和空白的标签。程序运行后,当在组合框中输入 一个新项后按回车键(ASCII 码为 13)时,如果输入的项在组合框的列表中不存在, 则自动添加到组合框的列表中,并在 Label2 中给出提示"已成功添加输入项"如图所 示;如果存在,则在 Label2 中给出提示"输入项已在组合框中"。请在 【12】、【13】 和【14】处将程序补充完整。 Private Sub Combo1_ 【12】 (KeyAscii As Integer) If KeyAscii = 13 Then For i = 0 To Combo1.ListCount-1 If Combo1.Text = 【13】 Then Label2.Caption = "输入项已在组合框中" Exit Sub End If Next i Label2.Caption = "已成功添加输入项" Combo1. 【14】 Combo1.Text End If End Sub 三、 读程填程题(共 24 分) 1.求 100 以内的素数之和,(每空 2 分,共 10 分) Private Sub Command1_Click() Dim flag As Boolean s = 0 For i = 2 To 100 flag = False For j = 2 To i – 1 If ____________ Then __________________ End If Next j
If flag The End Sub 2.在控件数组 Picture(0)、 Picture(1)中移动图片,要求图片可以在这两个图片框中 移动,按“-”向右移动,按“”和“<”的 key code分别为 39和37,请补全程序。(其他每空2分,共14分) Dim you()As boolean Private Sub Form Load Picture1(0). Picture= Load Picture("e: \a bmp") End Sub Private Sub Picturel Key Down (Index As Integer, Key Code As Integer, Shift As Integer) IfIndex=0 Then If Key Code=39 And Picture(1). Picture Picture1(0). Picture you(o u(1) End if End I IfIndex=1 Then 此处省略多行语句,不要求考生完成 End End Sub
第4页 共8页 If flag =_________ Then ______________ Next i MsgBox (___________) End Sub 2.在控件数组 Picture(0)、Picture(1)中移动图片,要求图片可以在这两个图片框中 移动,按“->”向右移动,按“”和“<-”的 keycode 分别为 39 和 37,请补全程序。(其他每空 2 分,共 14 分) Dim you(1) As Boolean Private Sub Form_Load() Picture1(0).Picture = LoadPicture("e:\a.bmp") you(0) = ________ you(1) = ________ End Sub Private Sub Picture1_KeyDown(Index As Integer, KeyCode As Integer, Shift As Integer) If Index = 0 Then If KeyCode = 39 And __________ Then Picture1(1).Picture = ___________ Picture1(0).Picture =___________ you(0) = _______: you(1) =________ End If End If If Index = 1 Then ‘此处省略多行语句,不要求考生完成 End If End Sub
四、编程题(42分) 1.从键盘输入二维数组a(4,5)(共30个元素),编写程序求这30个数的 最大数,以及这个数的数组下标。(10分) 2.在窗体上随机打印100个小写的英文字母(a的asci码为97)。(10分) 3.编写程序,在文本框中任意输入一个字符,在窗体上输出该字符的Asci码。(10 4.用递归的方法打印如下图形。(12分) 12321 123454321 1234.9.4321 武汉职业技术学院 2005-2006学年度第一学期考试试卷|B 考试课目:《 Visual basic程序设计》答题纸 班级 学号 姓名 题号 四总分 分数 选择题(6×1=6分) 页共8页
第5页 共8页 四、编程题(42 分) 1. 从键盘输入二维数组 a(4,5)(共 30 个元素),编写程序求这 30 个数的 最大数,以及这个数的数组下标。 (10 分) 2.在窗体上随机打印 100 个小写的英文字母(a 的 ascii 码为 97)。(10 分) 3.编写程序,在文本框中任意输入一个字符,在窗体上输出该字符的 Ascii 码。(10 分) 4. 用递归的方法打印如下图形。(12 分) 1 1 2 1 1 2 3 2 1 1 2 3 4 5 4 3 2 1 1 2 3 4 …9…4 3 2 1 武汉职业技术学院 2005~2006 学年度第一学期考试试卷[B] 考试课目:《Visual Basic 程序设计》答题纸 班级 学号 姓名 题 号 一 二 三 四 总 分 分 数 一、 选择题(6╳1=6 分)
题号 答案 db d 填空题(14x2=28分) 1._组合框 2_顺序方式_3._9 4. Picturel picture=loadpicture( a ipg) 7 8.65 11.50 12.press 13. combo l list( 14. additem 三、读程填程题(2×12共24分) 1. I mod 0 flag=false S=S+true false you(1 False picture(0).picture loadpicture( falsetrue 四、编程题(10+10+10+12=42分做在答题纸上,另发) Private Sub Commandl Click Dim a(4, 5)As Integer Dim x As Integer, y As Integer, zida As Integer For i=0 to 4 orj=0 To 5 a(i,j)=Val( inpuTbox("输入数据") zida=a(0, 0) 0:y=0 For i=0to 4 F 0 To 5
第6页 共8页 题号 1 2 3 4 5 6 答案 c d d b d d 二、 填空题(14╳2=28 分) 1. 组合框 2 顺序方式 3. 9 4. Picture1.picture=loadpicture(“a.jpg”) 5. timer 6. s=0 7. rnd 8. 65 9. char(a) 10. 200 11. 50 12. press 13. combo1.list(i) 14. additem 三、 读程填程题(2╳12 共 24 分) 1. I mod j=0 flag=false s=s+i true s 2. true false you(1)=false picture(0).picture loadpicture() false true 四、 编程题(10+10+10+12=42 分 做在答题纸上,另发) 1. Private Sub Command1_Click() Dim a(4, 5) As Integer Dim x As Integer, y As Integer, zuida As Integer For i = 0 To 4 For j = 0 To 5 a(i, j) = Val(InputBox("输入数据")) Next j, i zuida = a(0, 0) x = 0: y = 0 For i = 0 To 4 For j = 0 To 5
If a(1,j)>zida Then zida =a(1,D): x=1:y=j Next ],I Print zaida, x,y End Sub Private Sub Command1 Click Randomize For i=1 To 100 c=Int( Rnd* 26)+65 Print Chr(c) Next i End Sub Private Sub TextI Key Press( KeyAscii As Integer) End Sub Sub prin(n) Ifn=lthe Print n se Print I To Print i: Next i 第7页共8页
第7页 共8页 If a(i, j) > zuida Then zuida = a(i, j): x = i: y = j Next j, i Print zuida, x, y End Sub 2. Private Sub Command1_Click() Randomize For i = 1 To 100 c = Int(Rnd * 26) + 65 Print Chr(c) Next i End Sub 3. Private Sub Text1_KeyPress(KeyAscii As Integer) Print KeyAscii End Sub 4. Sub prin(n) If n = 1 Then Print n Else prin (n - 1) Print For i = 1 To n Print i; Next i
For i=n-1 To I Step-1 Print i Next i End If End Sub Private Sub Comn Click n=a( inpuTbox("输入n") prin (n) End sub 页共8页
第8页 共8页 For i = n - 1 To 1 Step -1 Print i; Next i Print End If End Sub Private Sub Command1_Click() n = Val(InputBox("输入 n")) prin (n) End Sub