资源描述
全国计算机等级考试二级VB上机题库(一)
图1 图2
T1.width=T1.width+1400
T1.Height=T1.Height+400
T1.fontsize=T1.fontsize*3
最后单击保存按钮,工程命名为sjt1.vbp,窗体命名为sjt1.frm。
Text1.text=LCase(Text1.text)
Text2.text=UCase(Text1.text)
一、 简朴应用题(2小题,每小题20分,共计40分)
1.在考生目录下有一个工程文献sjt3.vbp,相应的窗体文献为sjt3.frm。包含所有控件和部分程序,如图所示。
规定:
1)运用属性窗口向列表框添加四个项目:Visual Basic,Turbo C,C++,Java;
2)请编写适当的程序完毕以下功能:当选择列表框中的一项和单选按钮Option1,然后单击“拟定”命令按钮,则文本框中显示“XXX笔试”;当选择列表框中的一项和单选按钮Option2,然后单击“拟定”命令按钮,则文本框中的一项和单选按钮Option2,然后单击“拟定”命令按钮,则文本框中显示“XXX上机”。其中“XXX”是在列表框中所选择的项目。
If Option1.Value=True then
Text1.Text=List1.List(List1.ListIndex)+Option1.Caption
End If
If Option2.Value=True then
Text1.Text=List1.List(List1.ListIndex)+Option2.Caption
End If
最后单击保存按钮。
2.在考生目录下有一个工程文献sjt4.vbp,相应的窗体文献为sjt4.frm。在窗体上已有一个命令按钮。其名称为Command1,标题为“计算并输出”;程序运营后,假如单击命令按钮,程序将计算500以内两个数之间(涉及开头和结尾的数)所有连续数的和为1250的正整数,并在窗体上显示出来,这样的数有多组,程序输出每组开头和结尾的正整数,并用“~”连接起来,如图所示,这个程序不完整,请把它补充完整。
规定:
去掉程序中的注释符,把程序中的?该为对的的内容,使其实现上述功能,但不得修改程序中的其他部分。最后把修改的文献按原文献存盘。
Private Sub Command1_Click()
Dim i As Integer, j As Integer, iSum As Integer
Print "连续和为1250的正整数是:"
For i = 1 To 500
' isum = 0 赋初值
For j = i To 500
' iSum = j+iSum 进行累加
If iSum >= 1250 Then Exit For
Next
' If iSum = 1250 Then 和是否为1250
Print i; " ~ "; j
End If
Next
End Sub
答案为:
1)2)j+iSum 3)1250
二、 综合应用题(1小题,计40分)
在窗体上画一个文本框,名称为Text1,初始内容为空白,并设立多行显示格式;然后再画两个命令按钮,其名称分别为Command1和Command2,标题分别为“显示”和“保存”,如图所示,编写适当的事件过程。程序运营后,假如单击“显示”命令按钮,则读取考生 目录下的in5.txt文献,并在文本框中显示出来,该文献是一种用随机存取方式建立的文献,共有5个记录,规定按记录号顺序显示所有记录,每个记录一行;假如单击“保存”命令按钮,则把所有记录保存到考生目录下的顺序文献 out5.txt中。随机文献in5.txt中的每个记录涉及3个字段,分别为姓名、性别和年龄,其名称和长度分别为:
Name 字符串 8
Sex 字符串 4
Age Integer
其类型定义为:
Private Type StudInfo
Name As String*8
Sex As String*4
Age As Integer
End Type
规定:
1) 文献out5.txt以顺序存取方式建立和保存。
2) 存盘时必须放在考生目录下,工程为sjt5.vbp,窗体文献名为sjt5.frm。
Private Type StudInfo
Name as string*8
Sex as string*4
Age as integer
End Type
Dim pers as studinfo
Dim recmum as integer
显示按钮脚本:
Private sub command1_click()
Open app.path+”\in5.txt” for random as #1 Len=len(pers)
recnum=lof(1)/len(pers)
Cls
For i=1 to recnum
Get #1,,pers
Text1.text=text1.text+pers.name+pers.sex+str(pers.age)+vbcrlf
Next i
Close 1
End sub
保存按钮脚本:
Private sub command2_click()
Open app.path+”\out5.txt” for output as #1
Print #1,text1.text
Close #1
End sub
(1)在考生文献夹下有一个工程文献sjt3.vbp,相应的窗体文献为sjt3.frm。
在名称为Form1的窗体上有一个名称为Text1的文本框和名称为Command1、标题为"拟定"的命令按钮,一个名称为List1的列表框和两个名称分别为Option1和Option2、标题分别为"添加"和"删除"的单选按钮,如图1所示。程序运营后,假如选择单选按钮Option1并在文本框中输入一个字符串,然后单击"拟定"命令按钮,则把文本框中的字符串添加到列表框中,并清除文本框,如图2所示;假如选择列表框中的一项和单选按钮Option2,并单击"拟定"命令按钮,则删除列表框中所选择的项目,如图3所示;假如不选择列表框中的项目,或者没有在文本框中输入字符串,则单击"拟定"命令按钮后,将显示一个信息框"未输入或未选择项目",如图4所示。该程序不完整,请把它补充完整。
规定:
去掉程序中的注释符,把程序中的 ? 改为对的的内容,使其能对的运营,但不能修改程序中的其他部分。最后用本来的文献名保存工程文献和窗体文献。
**********************************************************************
(2)在考生文献夹下有一个工程文献sjt4.vbp,相应的窗体文献为sjt4.frm。在窗体上有一个命令按钮,其名称为Command1,标题为"计算"。程序运营后,假如单击命令按钮,程序将根据下面的公式计算π的值:
π/4 = 1 - 1/3 + 1/5 - 1/7 + ......所提供的窗体文献已给出了命令按钮的事件过程,程序运营结果如图所示。
该程序不完整,请把它补充完整。
规定:
去掉程序中的注释符,把程序中的 ? 改为对的的内容,使其能对的运营,但不能修改程序中的其他部分。最后用本来的文献名保存工程文献和窗体文献。
第一小题:
该题考察考生对ListBox控件的使用。
列表框的AddItem方法
用来在列表框中插入一行文本,其语法为:
列表框名.AddItem 字符串 [,索引值]
假如省略"索引值",则字符串被添加到列表框的尾部;使用"索引值"可以将字符串插入列表框中的指定位置。"索引值"从0开始,到列表项总数-1止。
列表框的RemoveItem方法
用来删除列表框中的指定项目,其语法为:
列表框名.RemoveItem 索引值
列表框的ListIndex属性
用来设立或返回列表框中当前选中的列表项。
第二小题:
该题考察了Do-Loop循环结构语句和公式计算的算法实现,相关程序如下:
Private Sub Command1_Click()
Dim Result As Double
Dim Sign As Integer
Dim i As Integer
Result = 0
Sign = 1
i = 1
Do
Result = Result + Sign / i
i = i + 2
Sign = -Sign
Loop While 1 / i >= 0.0001
Text1.Text = Result * 4
End Sub
3. 综合应用(1小题,计30分)
注意:下面出现的"考生文献夹"均为%USER%
在考生文献夹下有一个工程文献sjt5.vbp,相应的窗体文献为sjt5.frm。窗体外观如图1所示。三个命令按钮的名称分别为Command1、Command2和Command3,标题分别为"读取数据"、"首字母大写"和"存盘"。程序运营后,假如单击"读取数据"命令按钮,则读取考生文献夹下in5.txt中的所有文本(文本中的单词与单词之间或标点符号与单词之间均用一个空格分开),并在文本框中显示出来,如图2所示; 假如单击"首字母大写"命令按钮,则将文本框中每个单词的第一个字母变为大写字母(假如本来已是大写字母则不改变),并在文本框中显示出来,如图3所示;假如单击"存盘"命令按钮,则把文本框中的内容(首字母大写后)保存到考生文献夹下的文献out5.txt中。窗体文献中已给出了部分程序,请把它补充完整,使其实现上述功能。
规定:
1)编写"读取数据"命令按钮的Click事件过程。
2)去掉"首字母大写"命令按钮和"存盘"命令按钮事件过程中的注释符,把程序中的 ?改为对的的内容,使其能对的运营。
3)用本来的文献名保存工程文献和窗体文献。
本题重要考察了文献的操作,文献中字符串的解决方法。重要代码如下:
Dim s As String
Private Sub Command1_Click()
Open "in5.txt" For Input As #1
s = Input$(LOF(1), 1)
Close #1
Text1.Text = s
End Sub
Private Sub Command2_Click()
Dim oldSen As String
Dim newSen As String
Dim ch As String
Dim lastCh As String
oldSen = Text1.Text
strlen = Len(oldSen)
lastCh = Left(oldSen, 1)
For i = 1 To strlen
ch = Mid(Text1.Text, i, 1)
If lastCh = " " Then
ch = UCase(ch)
End If
newSen = newSen & ch
lastCh = ch
Next i
Text1.Text = newSen
End Sub
Private Sub Command3_Click()
Open "out5.txt" For Output As #1
Write #1, Text1.Text
Close #1
End Sub
答案:
Dim a(10) As Integer
Dim b(10) As Integer
Dim c(10) As Integer
Private Sub Command1_Click()
Open App.Path & "\dataA.txt" For Input As #1
Open App.Path & "\dataB.txt" For Input As #2
For i = 0 To 9
Input #1, a(i)
Input #2, b(i)
Next
Close #1, #2
End Sub
Private Sub find(x() As Integer, t As Control)
Dim i As Integer, max As Integer
max = x(1)
For i = 2 To 10
If max < x(i) Then max = x(i)
Next i
t.Text = max
End Sub
Private Sub Command2_Click()
Dim i As Integer
For i = 1 To 10
c(i) = a(i) + b(i)
Next i
Open App.Path & "\out51.txt" For Output As #1
For i = 0 To 9
Print #1, c(i)
Next
Close #1
End Sub
Private Sub Command3_Click()
Call find(a, Text1)
Call find(c, Text2)
Open App.Path & "\out52.txt" For Output As #1
Print #1, Text1.Text, Text2.Text
Close #1
End Sub
编写适当的事件过程,使程序运营后,可以使图像框闪烁,其闪烁速度可以通过滚动条来调节。
提醒:图像框的闪烁可以通过图像框交替地显示和隐藏来实现。
规定:程序中不得使用变量,每个事件过程中只能写一条语句。
注意:存盘时必须存放在考生文献夹中,工程文献名为“sit2.vbp”,窗体文献名为“sjt2.frm”。
解答:
Private Sub HScroll1_Scroll()
Timer1.Interval = HScroll1.Value
End Sub
Private Sub Timer1_Timer()
Image1.Visible = Not Image1.Visible
End Sub
题目:在名为Form1的窗体上绘制两个图像框,名称分别为Pic1和Pic2,宽度和高度均为1500,通过属性窗口把图像文献tp1.jpg放入Pic1中,把图像文献tp2.jpg放入Pic2中;再绘制一个名为Cmd1的命令按钮,标题为"图片互换",如图1-4所示。编写适当的事件过程,使得在运营时,假如单击窗体,则互换两个图像框中的图像。注意不允许使用第三个图像框。
Private Sub Form_Click()
Dim pic As Object
Set pic = Image1.Picture
Image1.Picture = Image2.Picture
Image2.Picture = pic
End Sub
展开阅读全文