要向C盘根目录下的名为my.txt的顺序文件中读出数据,应先使用_________语句打开文件。
复选框对象如果被选中,它的Value值为____________ 。
下列可作为Visual Basic 变量名的是____________。
以下能判断是否到达文件尾的函数是__________如果在实验课上进行程序调试,运行时遇到意外出错,最有效的做法是:看清系统错误原因提示信息,____________,以确定错误原因。
要想从子过程调用后返回两个结果,下面子过程语句说明合法的是____________ 。
在用通用对话框控件建立打开文件对话框时,在文件列表框中只允许显示txt和rtf类型的文件,则Filter属性的正确设置是_________。
在程序运行期间可以用____________函数把图形装入窗体、图片框或图像框。
列表框List1中已有10个列表项,要显示列表框List1最后一项,有两种表示法, __________是正确的。
在默认情况下定义了10个元素的数组a,用变量n表示它的上界,有两种赋值语句,______________是正确的。
为了使控件对象不响应用户的事件,需要____________。
假定焦点已经位于文本框Text1中,则能够触发 KeyPress 事件的操作是____________。
设变量x = 1,y = -1,a = 5,b = -5,则以下表达式的值为“真”的是____________。
单击滚动条控件的箭头按钮,滑块的移动幅度与_______________属性设置有关。
在自定义函数中,可以通过____________返回值。
程序填空单击窗体执行将所输入的整数插入排序后的原数组元素适当位置。
Function Insert(s(), ByVal key As Integer) As IntegerDim k%, i%, j%k = ___(1)_____For i = 0 To UBound(s)If key < s(i) Thenk = i_____(2)_______End IfNext iReDim Preserve s(UBound(s) + 1)For j = UBound(s) - 1 To k Step -1______(3)____Next js(k) = keyInsert =UBound(s)End FunctionPrivate Sub Form_Click()Dim a() As Variant, i%, p%, m%a = Array(1, 3, 6, 8, 9, 13, 17, 20, 25)For i = 0 To UBound(a)______(4)_____Next iPrint: Printp = InputBox("请输入要插入的数:")m =____(5)____For i = 0 To mPrint a(i);Next iPrint: PrintEnd Sub单击窗体读当前文件夹中的文本文件data.txt数据,找出其中年龄最大者的年龄、姓名和全部人数,输出并保存在当前文件夹的中result.txt。
data.txt的数据格式形如:王海涛, 18李林, 20……Private Sub Form_Click()Dim Name$, Age%, maxName$, maxAge%n = 0maxAge = 0Open App.Path + "\data.txt" For Input As #1Do While ____(1)______Input #1, Name, Agen = n + 1If Age > maxAge Then____(2)______maxName = NameEnd IfLoopClose #1Label1.Caption = "最大年龄:" & maxAge & vbCrLf & "最大年龄姓名:" & maxName & vbCrLf & "人数:" & nOpen App.Path + "\result.txt" ______(3)______Print #2, maxName, maxAge, nClose #2End Sub单击按钮执行在输入样本串中查找字串,删除字串字符后输出至结果文本框。
用复选框可选择查找方式是否区分大小写。
Private Sub Command1_Click()Dim ss$, s0$, len0%, ms$, i%ss = Text1.Texts0 = Text2.TextIf _____(1)____ Thens0 =_____(2)______End Iflen0 = Len(s0)For i = 1 To Len(ss) - len0 + 1ms = _____(3)______If Check1.Value = 1 Thenms = UCase(ms)End IfIf (ms = s0) Thenss = Mid(ss, 1, i - 1) + Mid(ss, i + len0)i = i - 1End IfNext iText3.Text =___(4)_____End Sub操作题三、程序调试题(共20分,每错2.5分,第1题有2处错,第2题3处错,第3题3处错)启动工程文件C:\ks\cxts3.vbp,程序存在8处错误,请调试改正,并按原文件名和位置保存。
正确结果见样例cxts3.exe。
改错方法:不能修改或重新定义变量,不允许增加或删除语句,但可以修改语句,所修改的语句必须在句尾加上注释标记'***********。
调试改错题1,有2处错误:输入18位身份证号码,通过第7~10位取出出生年,给出寄语。
对1959(含)出生的人,寄语为"步入中老年,请您注意身体!";对1960年代和1990年代出生的人,寄语均为"60后和90后要多沟通,避免代沟!"; 对于1970~1989年出生的人,寄语为"70、80后的青年,祝你工作顺利!";对于2000后出生的人,寄语为"小朋友,祝你茁壮成长!"; 其余判断为输入错误,清空文本框并置焦点。
Private Sub Command1_Click()Dim bthyear%, lbltx$bthyear = Val(Mid(Text1.Text, 7, 4))Select Case bthyearCase Is <= 1959lbltx = "步入中老年,请您注意身体!"Case (bthyear>=1960 and bthyear<=1969) or (bthyear>=1990 and bthyear<=1999)lbltx = "60后和90后要多沟通,避免代沟!"Case "1980" to "1989"lbltx = "70、80后的青年,祝你工作顺利!"Case 2000, 2001, 2002 To 2008, Is > 2008lbltx = "小朋友,祝你茁壮成长!"Case Elselbltx = "输入错了吧?!请重新输入"Text1.Text = ""Text1.SetFocusEnd SelectLabel2 = lbltxEnd Sub调试改错题2,有3处错误:产生隔行轮换显示字母和数字的菱形图案(规律如图)Private Sub Command2_Click()Dim i%, j%, k%, p%p = 3For i = 0 To 14If i <= 7 Thenk = iElsek = 14 - iEnd IfPicture1.Print Tab(p + 7 - k);If k Mod 2 ThenFor j = k To 3 * kPicture1.Print Chr(66 + k);Next jElseFor j = k To 2 * kPicture1.Print Trim(Str(k));Next jEnd IfPicture1.PrintNext iEnd Sub调试改错题3,有3处错误:随机产生1~20个大写字符串,并随机产生一个大写字母分别填入两个文本框中,统计这个大写字母在该串中出现的次数。
Private Sub Command3_Click()Dim str1$, str2$, i%, j%, sum%Text2 = ""i = Int(Rnd() * 20 + 1) '产生1~20之间的随机整数For j = 1 To iText2 = Text2 + Chr(64 + Int(Rnd() * 26 + 1)) '随机产生大写字母字符串NextText3 = Chr( Int(Rnd() * 26 + 1))str1 = Text2str2 = Text3sum = 1For j = 1 To iIf Left(str1, j, 1) = str2 Thensum = sum + 1End IfNextIf sum <> 0 ThenLabel4 = str2 & "在字符串中出现了" & sum & "次。
"ElseLabel4 = str2 & "在字符串中没有出现过"End IfEnd Sub四、编程题(35分)1.在C:\KS 目录下新建项目bct0.VBP,按如下要求编程并保存。
2.在Form1窗体上放置两个列表框。
建立如下菜单:3.单击菜单"产生"随机产生10个大写字母,填入List1中。
单击菜单"筛选"将列表框1中"K"以后(含"K",ASCII码值为75)的字母选出,填入List2中。
4.单击"绘图"菜单项时,显示窗体2;单击"结束"菜单项时,结束程序的运行。
5.在窗体2上单击"绘图"命令按钮,设置画布区域为(-10, 2)-(10, -2),按以下公式绘制,当Y>0为红色图形,Y<0为蓝色图形,t= -3π~3π:x = ty = Sin(t)(提示:函数图形通过计算Y的值,画垂直于X轴的直线显示)单击"返回"命令按钮则关闭窗体2,返回窗体1。