y=a(i)
EndIf
Next
IfOption1.Value=TrueThen
Label2.Caption=x
Else
Label2.Caption=y
EndIf
EndSub
2.
(2)在名称为Form1的窗体上画一个名称Shape1的形状控件,在属性窗口中将其
设置为圆形。
画一个名称为List1的列表框,并在属性窗口中设置列表项的
值分别为1、2、3、4、5。
将窗体的标题设为"图形控件"。
单击列表框中
的某一项,则将所选的值作为形状控件的填充参数。
例如,选择3,则形状
控件中被竖线填充。
如图所示。
要求:
程序中不得使用变量,每个事件过程中只能写一条语句。
存盘时必须存
放在考生文件夹下,工程文件名为sj107.vbp,窗体文件名为sj107.frm。
在Shape控件中,可以用FillStyle属性设置图形的填充图案,0:
透明,2:
虚线,3:
点线,4:
点划线,5:
双点划线,6:
内实线。
List控件的Click事件过程为:
PrivateSubList1_Click()
Shape1.FillStyle=List1.Text
EndSub
3.
(1)在名称为Form1的窗体上画一个文本框,名称为Text1;再画二个命令按钮,名称分别为C1、C2,标题分别为"隐藏"、"显示"(如图所示)。
请编写适当的事件过程,使得在运行时,如果单击"隐藏"按钮,则文本框消失,而如果单击"显示"按钮,则文本框显示出来。
程序中不得使用任何变量。
*注意:
存盘时必须存放在考生文件夹下,工程文件名为sjt3.vbp,窗体文件名为sjt3.frm。
隐藏:
text1.visible=false
显示:
text1.visible=true
4.在窗体上画二个文本框,名称分别为Text1、Text2。
请设置适当的控件属性,并编写适当的事件过程,使得在运行时,如果在Text1中每输入一个字符,则显示一个"*",同时在Text2中显示输入的内容(如图所示)。
程序中不得使用任何变量。
*注意:
存盘时必须存放在考生文件夹下,工程文件名为sjt4.vbp,窗体文件名为sjt4.frm。
答案:
将Text1的文本框的PasswordChar属性为"*"。
PrivateSubText1_Change()
Text2.Text=Text1.Text
EndSub
5.
(1)在考生文件夹中有工程文件wy69.vbp及其窗体文件wy69.frm,该程序是不完整的,请在有?
号的地方填入正确内容,然后删除?
及所有注释符(即'号)但不能修改其他部分。
存盘时不得改变文件名和文件夹。
本题描述如下:
在窗体上有一个列表框,名称为List1,一个文本框,名称为Text1,和一个命令按钮,名称为C1,标题为"复制"。
要求程序运行后,在列表框中自动建立四个列表项,分别为"Item1"、"Item2"、"Item3"、"Item4"如果选择列表框中的一项,则单击"复制"按钮时,可以把该项复制到文本框中(如图所示)。
PrivateSubCommand1_Click()
DimiAsInteger
Fori=0To3
Text1.Text=List1
Nexti
EndSub
6在考生文件夹下有一个工程文件sj31.vbp,相应的窗体文件为sj31.frm,此
外还有一个名为datain.txt的文本文件,其内容如下:
324376582812985731425364758697132435465768
79805937
程序运行后,单击窗体,将把文件datain.txt中的数据输入到二维数组Mat
中,在窗体上按5行、5列的矩阵形式显示出来,并输出矩阵左上-右下对角线
上的数据,如图所示。
在窗体的代码窗口中,已给出了部分程序,这个程序
不完整,请把它补充完整,并能正确运行。
要求:
去掉程序中的注释符,把程序中的?
改为正确的内容,使其实现上述功
能,但不能修改程序中的其他部分。
最后把修改后的文件按原文件名存盘。
解题方法:
打开sjt5.vbp中的Form1窗体,打开代码窗口,修改后的代码如下:
OptionBase1
PrivateSubForm_Click()
ConstN=5
ConstM=5
DimMat(M,N)
Dimi,j
OpenApp.Path&"\"&"datain.txt"ForInputAs#1
Fori=1ToN
Forj=1ToM
Input#1,Mat(i,j)
Nextj
Nexti
Close#1
Print
Print"初始矩阵为:
"
Print
Fori=1ToN
Forj=1ToM
PrintTab(5*j);Mat(i,j);
Nextj
Print
Nexti
Print
Print"左上-右下对角线上的数为:
"
Fori=1ToN
Forj=1ToM
Ifi=jThenPrintTab(5*j);Mat(i,j);
Nextj
Nexti
EndSub
7.请根据以下各小题的要求设计VisualBasic应用程序(包括界面和代码)。
(1)在名称为Form1的窗体上画两个标签(名称分别为Label1和Label2,标题分别为“姓名”和“年龄”)、两个文本框(名称分别为Text1和Text2,Text属性均为空白)和一个命令按钮(名称为Command1,标题为“显示”)。
然后编写命令按钮的Click事件过程。
程序运行后,在两个文本框中分别输入姓名和年龄,然后单击命令按钮,则在窗体上显示两个文本框中的内容,如图所示。
要求程序中不得使用任何变量。
*注意:
存盘时必须存放在考生文件夹下,工程文件名为sj39.vbp,窗体文件名为sj39.frm。
PrivateSubCommand1_Click()
PrintText1.text+”,现年”+text2.text+“岁”
EndSub
8.在名称为Form1的窗体上画一个图片框(名称为Picture1)、一个水平滚动条(名称为HScroll1)和一个命令按钮(名称为Command1,标题为“设置属性”),通过属性窗口在图片框中装入一个图形(文件名为p02.jpg,位于考生文件夹下),图片框的高度与图形的高度相同,图片框的宽度任意(如图1所示)。
编写适当的事件过程,程序运行后,如果单击命令按钮,则设置水平滚动条的如下属性:
Min100
Max1500
LargeChange100
SmallChange10
之后就可以通过移动滚动条上的滚动块来放大或缩小图片框。
运行后的窗体如图2所示。
要求程序中不得使用任何变量。
*注意:
存盘时必须存放在考生文件夹下,工程文件名为sj40.vbp,窗体文件名为sj40.frm。
图1图2
PrivateSubCommand1_Click()
HScroll1.Max=1500
HScroll1.Min=100
HScroll1.SmallChange=10
HScroll1.LargeChange=100
EndSub
PrivateSubHScroll1_Change()
Picture1.width=HScroll1.value
EndSub
9.在考生文件夹下有工程文件wy54.vbp及窗体文件wy54.frm,该程序是不完整的,请在有?
号的地方填入正确内容,然后删除?
及所有注释符(即'号),但不能修改其它部分。
存盘时不得改变文件名和文件夹,相应的dat文件也保存到考生文件夹下,否则没有成绩。
本题描述如下:
在名称为Form1的窗体上有五个Label控件和两个命令按钮,数据文件stud1.dat,存放考生的考号、姓名、成绩。
1)自定义一个数据类型stu,字符型数据定长为10。
2)按"开始"按钮后,能从考生文件夹下的stud1.dat中读出所有数据并写入考生文件夹下的stud.dat文件中;
3)执行完毕,"开始"按钮变成"完成",且无效(变灰);
PrivateTypestu
numAsLong
'namAsString*10
scoreAsSingle
'Endtype
PrivateSubCommand1_Click()
DimrecAsstu
DimiAsInteger
myfile1=App.Path&"\"&"student.dat"
myfile2=App.Path&"\"&"student1.dat"
Openmyfile1ForInputAs#1
Openmyfile2ForInputAs#2
Fori=1To8
Input#1,rec.num,rec.nam,rec.score
Write#2,rec.num,rec.nam,rec.score
NextI
Close
Command1.Caption="完成"
Command1.Enabled=False
EndSub
10.在Form1的窗体上画一个标签,其名称为Lab1;再画一个列表框,其名为L1,通过属性窗口向列表框中添加若干个项目,每个项目的具体内容不限,编写适当的事件过程。
程序运行后,如果双击列表框中的任意一项,则把列表中的项目数在标签中显示出来。
程序的运行情况如图所示。
不准使用任何变量。
*注意:
存盘时必须存放在考生文件夹下,工程文件名为sjt14.vbp,窗体文件名为sjt14.frm。
PrivateSubL1_DblClick()
Lab1.Caption=L1.ListCount
EndSub
11.在考生文件夹下有工程文件wy55.vbp及窗体文件wy55.frm,该程序是不完整的,请在有?
号的地方填入正确内容,然后删除?
及所有注释符(即'号),但不能修改其它部分。
存盘时不得改变文件名和文件夹,相应的dat文件也保存到考生文件夹下,否则没有成绩。
本题描述如下:
在名称为Form1的窗体上有五个Label控件和两个命令按钮,数据文件worker.dat,存放工人的编号、姓名、性别和体重。
1)按"开始"按钮后,能从考生文件夹下的worker.dat中读出数据并把体重大于平均体重的工人的所有数据写入考生文件夹下的worker1.dat文件中;
2)执行完毕,"开始"按钮变成"完成",且无效。
PrivateSubCOMEXIT_Click()
End
EndSub
PrivateSubCOMSTART_Click()
DimiAsInteger
DimtotalAsInteger
DimaverAsSingle
Dimnum(10),namstring(10),sexstring(10),wages(10)
'MyFile1=App.Path&"\"&“worker.dat”
'MyFile2=App.Path&"\"&“worker1.dat”
OpenMyFile1ForInputAs#1
OpenMyFile2ForOutputAs#2
Fori=1To10
'Input#1,num(i),namstring(i),sexstring(i),wages(i)
total=total+wages(i)
Nexti
'aver=total/10
Fori=1To10
'IfaverNexti
'COMSTART.Caption=“完成”
'COMSTART.Enabled=fault
EndSub
PrivateSubLabel2_Click()
EndSub
12.在考生文件夹中有文件wy22.vbp及其窗体文件wy22.frm,该程序是不完整的,请在有?
号的地方填入正确内容,然后删除?
及所有注释符(即'号),但不能修改其它部分。
存盘时不得改变文件夹和文件名。
本题描述如下:
窗体上有一个名称为Text1的文本框;两个复选框,名称分别为Ch1和Ch2,标题分别为"爱心社"和"学通社"。
要求程序运行后,如果只选中Ch1,单击窗体,则在文本框中显示"报名参加爱心社";如果只选中Ch2,然后单击窗体,则在文本框中显示"报名参加学通社";如果同时选中Ch1和Ch2,单击窗体,则在文本框中显示"报名参加爱心社和学通社";如果Ch1和Ch2都不选取,在单击窗体后,则在文本框中什么都不显示。
OptionExplicit
PrivateSubForm_Click()
Text1.Text=""
IfCh1.Value=1Then
Text1.Text=Text1.Text+"爱心社"
EndIf
IfCh2.ValueThen
IfText1.Text<>""ThenText1.Text="爱心社"+"和"
Text1.Text=Text1.Text+"学通社"
EndIf
IfText1.Text<>""Then
Text1.Text="报名参加"+Text1.Text
EndIf
EndSub
13.请根据以下各小题的要求设计VisualBasic应用程序(包括界面和代码)。
(1)在名称为Form1的窗体上建立一个水平滚动条,请在属性窗口中把它的名称设置为HS1,Max属性设置为100,Min属性设置为0,Value属性设置为100。
程序运行后,滚动框位于滚动条最右端(如图所示),如果单击滚动条之外的窗体部分,则滚动框跳到最左端。
*注意:
1)只能直接为相应的属性赋值,不得使用变量。
2)保存时必须存放在考生文件夹下,窗体文件名为wy14.frm,工程文件名为wy14.vbp。
答案:
PrivateSubForm_click()
HScroll1.Left=0
EndSub
14.)按下述要求在属性窗口中设置属性:
在名称为Form1的窗体中建立一个标签,名称为L1,在标签上显示"选课",其字号大小为四号;再建立三个复选框,名称分别为Chk1、Chk2和Chk3,标题分别为"操作系统"、"数据库原理"、"概率论",字体大小均为14,其中"概率论"被禁用。
*注意:
保存时必须存放在考生文件夹下,窗体文件名为wy15.frm,工程文件名为wy15.vbp。
答案:
PrivateSubForm_Load()
Check3.Enabled=False
EndSub
15.在考生文件夹下有一个工程文件sj113.vbp,其窗体上画有2个名称分别为
Text1、Text2的文本框,其中Text1可多行显示。
请画2个名称为Command1、
Command2,标题为"产生数组"、"查找"的命令按钮。
如图所示。
程序功
能如下:
1)单击"产生数组"按钮,则用随机函数生成10个0~100之间(不含0和
100)互不相同的数值,并将它们保存到一维数组a中,同时也将这10个
数值显示在Text1文本框内;
2)单击"查找"按钮将弹出输入对话框,接收用户输入的任意一个数,并
在一维数组a中查找该数,若查找失败,则在Text2文本框内显示该数"
不存在于数组中";否则给出该数在数组中的位置。
要求:
请去掉程序中的注释符,把程序中的?
改为正确的内容,使其实现上述
功能,但不能修改窗体文件中已经存在的控件和程序。
最后把修改后的
文件按原文件名存盘。
PrivateSubCommand1_Click()
Text1.Text="":
Text2.Text=""
Fori=1To10
a(i)=Fix(Rnd*99+1)
Forj=1Toi-1
Ifa(i)=a(j)Then
i=i-1
ExitFor
EndIf
Nextj
Nexti
Fori=1To10
Text1.Text=Text1.Text+Str(a(i))+Space
(2)
Nexti
EndSub
PrivateSubCommand2_Click()
DimnumAsInteger,iAsInteger
num=InputBox("请输入待查找的数")
Fori=1To10
Ifa(i)=numThen
Text2.Text=Str(num)+"是数组中的第"+Str(i)+"个值"
ExitFor
EndIf
Nexti
Ifi>10Then
Text2.Text=Str(num)+"不存在于数组中"
EndIf
EndSub
16.在考生文件夹下有一个工程文件sj127.vbp(相应的窗体文件名为sjt4.frm
),其功能是通过调用过程FindMax求数组的最大值,请装入该文件。
程
序运行后,在四个文本框中各输入一个整数,然后单击命令按钮,即可求
出数组的最大值,并在窗体上显示出来(如图所示)。
这个程序不完整,
请把它补充完整,并能正确运行。
要求:
去掉程序中的注释符,把程序中的?
改为正确的内容,使其实现上述功
能,但不能修改程序中的其他部分。
最后把修改后的文件按原文件名存
盘。
OptionBase1
PrivateFunctionFindMax(a()AsInteger)
DimStartAsInteger
DimFinishAsInteger,iAsInteger
Start=LBound(a)
Finish=UBound(a)
Max=a(Start)
Fori=StartToFinish
Ifa(i)>MaxThenMax=a(i)
Nexti
FindMax=Max
EndFunction
PrivateSubCommand1_Click()
Dimarr1
Dimarr2(4)AsInteger
arr1=Array(Val(Text1.Text),Val(Text2.Text),Val(Text3.Text),Val(Text4.Text))
Fori=1To4
arr2(i)=CInt(arr1(i))
Nexti
M=FindMax(arr2)
Print"最大值是:
";M
EndSub
17.15
(1)在考生文件夹下有一个工程文件sj10.vbp,窗体上有一个单选按钮数组,含三个单选按钮,均没有标题,请利用属性窗口,为单选按钮依次添加标题为“北京”、“上海”、“广州”;再添加一个标题为“显示”的命令按钮,如图所示。
程序的功能是在运行时,如果选中一个单选按钮后,单击“显示”按钮,则根据单选按钮的选中情况,在窗体上显示“我的出生地是北京”、“我的出生地是上海”或“我的出生地是广州”。
要求:
1)依次添加单选按钮标题为“北京”、“上海”、“广州”;设初始选中的是“广州”,添加命令按钮标题为“显示”。
2)去掉程序中的注释符,把程序中的?
改为正确的内容,使其实现上述功能,但不能修改程序中的其他部分,也不能修改控件的其他属性。
最后把修改后的文件按原文件名存盘。
PrivateSubC1_Click()
Fori=0To2
IfOp1(i).value=TrueThen
Print"我的出生地是"+Op1(i).caption
EndIf
Next
EndSub
18.在名称为Form1的窗体上画一个文本框(名称为Text1,Text属性为“国”,FontName属性为“黑体”)和一个水平滚动条(名称为HScroll1),如图1所示。
在属性窗口中对滚动条设置如下属性:
Min10
Max100
LargeChange5
SmallChange2
编写适当的事件过程。
程序运行后,如果移动滚动条上的滚动框,则可扩大或缩小文本框中的“国”字。
运行后的窗体如图2所示。
要求程序中得使用任何变量。
*注意存盘时必须存放在考生文件夹下,工程文件名为sj20.vbp,窗体文件名为sj20.frm。
解析
PrivateSubHScroll1_Change()
Text1.fontsize=hscroll1.value
endSub
19.请根据以下各小题的要求设计VisualBasic应用程序(包括界面和代码)。
(1)在Form1的窗体上建立一个主菜单,标题为"操作",名称为Op,该菜单有两个子菜单,其标题分别为"显示"和"清除",其名称分别为Dis和Clea,编写适当的事件过程。
程序运行后,如果单击"操作"菜单中的"显示"命令,则在窗体上显示"等级考试";如果单击"清除"命令,则清除窗体上显示的内容。
程序的运行情况如图所示。
*注意:
存盘时必须存放在考生文件夹下,工程文件名为sjt13.vbp,窗体文件名为sjt13.frm。
PrivateSubClea_Click()
Cls
EndSub
PrivateSubDis_Click()
Print"等级考试"
EndSub
20.在考生文件夹下有一个工程文件sj43.v