淮师VB期末复习资料整合.docx
- 文档编号:29162464
- 上传时间:2023-07-20
- 格式:DOCX
- 页数:24
- 大小:297.50KB
淮师VB期末复习资料整合.docx
《淮师VB期末复习资料整合.docx》由会员分享,可在线阅读,更多相关《淮师VB期末复习资料整合.docx(24页珍藏版)》请在冰豆网上搜索。
淮师VB期末复习资料整合
'在窗体上画一个命令按钮,然后编写如下程序:
Functionfun(ByValnumAsLong)AsLong
DimkAsLong
k=1
num=Abs(num)
DoWhilenum
k=k*(num\10)
num=num\10
Loop
fun=k
EndFunction
PrivateSubCommand1_Click()
DimnAsLong
DimrAsLong
n=InputBox("请输入一个数")
n=CLng(n)
r=fun(n)
Printr
EndSub
程序运行后,单击命令按钮,在输入对话框中输入234,输出结果为0。
'在窗体上画一个名称为Command1的命令按钮,然后编写如下程序:
OptionBase1
PrivateSubCommand1_Click()
Dima(10)AsInteger
Fori=1To10
a(i)=i
Next
Callswap(___a___)
Fori=1To10
Printa(i);
Next
EndSub
Subswap(b()AsInteger)
n=__10____
Fori=1Ton/2
t=b(i)
b(i)=b(n)
b(n)=t
__n=n-1____
Next
EndSub
上述程序的功能是,通过调用过程swap,调换数组中数值的存放位置,即a
(1)与a(10)的值互换,a
(2)与a(9)的值互换,……,a(5)与a(6)的值互换。
请填空。
'在n个运动员中选出任意r个人参加比赛,有很多种不同的选法,选法的个数可以用公式计算。
下图窗体中3个文本框的名称依次是Text1、Text2、Text。
程序运行时在Text1、Text2中分别输入n和r的值,单击Command1按钮即可求出选法的个数,并显示在Text3文本框中(见下图)。
请填空。
PrivateSubCommand1_Click()
DimrAsInteger,nAsInteger
n=Text1
r=Text2
Text3=fun(n)/fun(n-r)/fun(r)
EndSub
Functionfun(nAsInteger)AsLong
DimtAsLong
t=1___
Fork=1Ton
t=t*k
Next
fun=t
EndFunction
从程序可以看出,fun函数是用来求数的阶乘的,而要求求的公式为,所以Text3=fun(n)/fun(n-r)/fun(r)。
函数fun是求阶乘,而阶乘都是从1开始的,所以函数中首先要把t赋值为1,即t=1。
'在窗体上画两个列表框,其名称分别为List1和List2,然后编写如下程序:
PrivateSubForm__load_____()
List1.AddItem"语文"
List1.AddItem"数学"
List1.AddItem"物理"
List1.AddItem"化学"
List1.AddItem"英语"
List1.AddItem"政治"
EndSub
PrivateSubList1_DblClick()
List2.AddItem___listi___.Text
List1.RemoveItemList1.ListIndex
EndSub
PrivatesubList2_DblClick()
List1.AddItem__list2____.Text
List2.RemoveItemList2.ListIndex
EndSub
该程序的功能是:
程序运行后在左侧列表框中显示各科目的名字,如果双击该列表框中的某个科目,则该科目从该表框中消失,并移到右列表框中;如果双击右侧列表框中的某个科目,则该科目从该列表框中消失,并移向左侧列表框中。
请填空将程序补充完整。
'在窗体上画一个命令按钮然后编写如下事件过程:
OptionBase1
PrivateSubCommand1_Click()
Dima
a=Array(1,2,3,4)
j=1
Fori=4To1Step-1
s=s+a(i)*j
j=j*10
Nexti
Prints
EndSub
运行一面的程序,单击命令按钮,其输出结果是_1234_____。
跟踪程序:
由a=Array(1,2,3,4)可知:
a
(1)=1
a
(2)=2
a(3)=3
a(4)=4
执行循环体:
s=s+a(i)*j=a(4)*1=4,j=j*10=10
s=s+a(i)*j=4+a(3)*10=34,j=j*10=100
s=s+a(i)*j=34+a
(2)*100=234,j=j*10=1000
s=s+a(i)*j=234+a
(1)*1000=1234,j=j*10=10000
最终的输出结果是:
1234。
在窗体上有一个名称为Command1的命令按钮和一个名称为Text1的文本框。
程序运行后,Command1为禁用(灰色),此时如果在文本框中输入字符,则命令按钮Command1变为可用。
请填空。
PrivateSubForm_Load()
Command1.Enabled=False
Endsub
PrivateSubText1_______()
Command1.Enabled=True
EndSub
本题解题思路:
空缺位置应当填入文件框控件的一个事件名。
由题面可知,当向文本框中输入任何字符时,都能触发的文本框事件,一定是Change事件。
'在窗体上画一个名称为Label1的标签和一个名称为List1的列表框。
程序运行后,在列表框中添加若干列表项。
当双击列表框中的某个项目时,在标签Label1中显示所选中的项目,如图所示。
请在______处填入适当的内容,将程序补充完整。
PrivateSubForm_load()
List1.AddItem"北京"
List1.AddItem"上海"
List1.AddItem"河北"
EndSub
PrivateSub______()
Label1.Caption=______
EndSub
‘下面的程序用于根据文本框X中输入的内容进行以下处理:
如果X.Text的值不是2、4、6,则打印“X不在范围内”。
PrivateSubCommand1_Click()
SelectCaseVal(x.Text)
Case2
Print"X的值为2"
Case_4_____
Print"X的值为4"
Case___6___
Print"X的值为6"
_CaseElse_____
Print"X不在范围内"
EndSelect
EndSub
‘执行下面的语句后,所产生的信息框的标题是_BBBB_____。
a=msgbox("AAAA",,"BBBB","",5)
‘请根据以下各小题的要求设计VisualBasic应用程序(包括界面和代码)。
(1)在名称为Form1的窗体上建立一个名称为Text1的文本框,一个名称为Cmd1,标题为"输出"的命令按钮(如图所示)。
要求程序运行后,在文本框输入几个字符,在单击"输出"按钮,则在窗体上显示文本框中的的文字。
*注意:
1)在程序中不能使用任何变量。
2)保存时必须存放在考生文件夹下,窗体文件名为wy12.frm,工程文件名为wy12.vbp。
**********************************************************************
(2)在名称为Form1的窗体上建立二个名称分别为Cmd1、Cmd2,标题为"按钮一"、"按钮二"的命令按钮(如图所示)。
要求程序运行后,如果单击"按钮一",则把"按钮二"移到"按钮一"上,使两个按钮重合。
*注意:
1)在程序中不得使用任何变量(必须通过属性设置来移动控件)。
2)保存时必须存放在考生文件夹下,窗体文件名为wy13.frm,工程文件名为wy13.vbp。
1、考查基本控件的使用和对Print方法的使用,新建一工程,建立一名为Text1的文本框和名为Cmd,标题为"输出"的命令按钮,双击命令按钮加入如下代码:
Cls
PrintText1.Text
2、考查对控件的Top和Left属性的使用,在Cmd1的Click事件中加入如下代码:
Cmd2.Top=Cmd1.Top
Cmd2.Left=Cmd2.Left
‘1)在考生文件夹下有一个工程文件sj45.vbp,相应的窗体文件为sj45.frm。
其功能是产生30个0~999的随机整数,放入一个数组中,然后输出其中
的最小值。
程序运行后,单击命令按钮(名称为Command1,标题为"输
出最小值"),即可求出其最小值,并在窗体上显示出来(如图所示)。
这个程序不完整,请把它补充完整,并能正确运行。
要求:
去掉程序中的注释符,把程序中的?
改为正确的内容,使其实现上述功
能,但不能修改程序中的其他部分。
最后把修改后的文件按原文件名存
盘。
**********************************************************************
(2)在考生文件夹下有一个工程文件sj46.vbp,相应的窗体文件为sj46.frm,
在窗体上有一个命令按钮和一个文本框。
程序运行后,单击命令按钮,即
可计算出0~1000范围内不能被7整除的整数的个数,并在文本框中显示出
来。
在窗体的代码窗口中,已给出了部分程序,其中计算不能被7整除的
整数的个数的操作在通用过程Fun中实现,请编写该过程的代码。
要求:
请勿改动程序中的任何内容,只在FunctionFun()和EndFunction之间
填入你编写的若干语句。
最后把修改后的文件按原文件名存盘。
第1小题:
本题的考查的是数组和随机函数的用法,打开工程文件sjt3.vbp,点击工具箱中的CommandButton控件图标,然后在窗体上拖拉出一个命令按钮Command1,设置其Caption属性为"输出最小值",双击命令按钮在代码窗口中补充如下代码:
PrivateSubCommand1_Click()
DimarrN(30)AsInteger
DimMinAsInteger
Randomize
Fori=1To30
arrN(i)=Int(Rnd*1000)
Nexti
Min=arrN
(1)
Fori=2To30
IfMin>arrN(i)Then
Min=arrN(i)
EndIf
Nexti
PrintMin
EndSub
按要求保存文件即完成本题。
第2小题:
打开一个工程文件sjt4.vbp,在窗体上有一个命令按钮和一个文本框,要求计算出0~1000范围内不能被7整除的整数的个数,并在文本框中显示,在FunctionFun()和EndFunction之间补充代码如下:
FunctionFun()
DimiAsInteger,numAsInteger
Fori=0To1000
IfiMod7<>0Then
num=num+1
EndIf
Nexti
Text1.Text=num
EndFunction
按要求保存文件即完成本题。
‘在考生文件夹下有工程文件wy54.vbp及窗体文件wy54.frm,该程序是不完整的,请在有?
号的地方填入正确内容,然后删除?
及所有注释符(即'号),但不能修改其它部分。
存盘时不得改变文件名和文件夹,相应的dat文件也保存到考生文件夹下,否则没有成绩。
本题描述如下:
在名称为Form1的窗体上有五个Label控件和两个命令按钮,数据文件stud1.dat,存放考生的考号、姓名、成绩。
1)自定义一个数据类型stu,字符型数据定长为10。
2)按"开始"按钮后,能从考生文件夹下的stud1.dat中读出所有数据并写入考生文件夹下的stud.dat文件中;
3)执行完毕,"开始"按钮变成"完成",且无效(变灰);
语法
OpenpathnameFormode[Accessaccess][lock]As[#]filenumber[Len=reclength]用于打开文件
[Private|Public]Typevarname
elementname[([subscripts])]Astype
[elementname[([subscripts])]Astype]
...
EndType用于定义包含一个或多个元素的用户自定义的数据类型。
Forcounter=startToend[Stepstep]
[statements]
[ExitFor]
[statements]
Next[counter]以指定次数来重复执行一组语句。
Close[filenumberlist]关闭Open语句所打开的输入/输出(I/0)文件。
‘设有以下函数过程:
Functionfun(mAsInteger)AsInteger
DimkAsInteger,sumAsInteger
sum=0
Fork=mTo1Step-2
sum=sum+k
Nextk
fun=sum
EndFunction
若在程序中用语句s=fun(10)调用此函数,则s的值为。
在For循环中,Step是用于指定计数器的步长,本题中是-2,就是每执行一次循环后,k的值减2。
本题中从10开始执行循环,当k=0时,结束循环。
此时s=10+8+6+4+2=30。
‘以下程序用于在带垂直滚动条的文本框Text1中输出3到100之间的全部素数。
PrivateSubCommand1_Click()
Text1.Text=""
ForN=3To100
k=Int(Sqr(N))
i=2
Flag=0
DoWhileI<=__k____AndFlag=0
IfNModi=0ThenFlag=1Elsei=i+1
Loop
If_flag=0__Then
Text1.Text=Text1.Text&Chr(13)&Chr(10)&N
EndIf
NextN
EndSub
‘建立打开文件、保存文件、颜色、字体、打印对话框所使用的方法分别为ShowOpen、______、ShowColor、ShowFont和ShowPrinter。
CommonDialog控件提供一组标准的操作对话框,进行诸如打开和保存文件,设置打印选项,以及选择颜色和字体等操作。
通过运行Windows帮助引擎控件还能显示帮助。
CommonDialog控件建立对话框的操作是通过调用自身的方法实现的:
ShowOpen显示"打开"对话框
ShowSave显示"另存为"对话框
ShowColor显示"颜色"对话框
ShowFont显示"字体"对话框
ShowPrinter显示"打印"或"打印选项"对话框
‘)在名称为Form1的窗体上画一个图片框(名称为Picture1)、一个水平滚
动条(名称为HScroll1)和一个命令按钮(名称为Command1,标题为“设
置属性”),通过属性窗口在图片框中装入一个图形(文件名为p02.jpg,
位于考生文件夹下),图片框的高度与图形的高度相同,图片框的宽度任意
(如图1所示)。
编写适当的事件过程,程序运行后,如果单击命令按钮,
则设置水平滚动条的如下属性:
Min100
Max1500
LargeChange100
SmallChange10
之后就可以通过移动滚动条上的滚动块来放大或缩小图片框。
运行后的窗
体如图2所示。
要求程序中不得使用任何变量。
*注意:
存盘时必须存放在考生文件夹下,工程文件名为sj40.vbp,窗体文件
名为sj40.frm。
LoadPicture函数
用来将图形载入到窗体的Picture属性、PictureBox控件或Image控件。
其语法为:
对象名.Pictuer=LoadPictuer("文件名")
新建一个工程,在窗体上添加一个图片框Picture1,一个水平滚动条HScroll1和命令按钮Command1,标题为“设置属性”。
在代码窗口中添加如下代码:
PrivateSubCommand1_Click()
HScroll1.Max=1500
HScroll1.Min=100
HScroll1.SmallChange=10
HScroll1.LargeChange=100
EndSub
PrivateSubHScroll1_Change()
Picture1.Width=HScroll1.Value
EndSub
‘
(1)在考生文件夹下有一个工程文件sj108.vbp,在程序运行时,单击"输入整
数"按钮,可以从键盘输入一个整数,并在窗体上显示此整数的所有不同
因子和因子个数。
图1是输入53后的结果,图2是输入100的结果。
已经给
出了全部控件和程序,但程序不完整。
要求:
请去掉程序中的注释符,把程序中的?
改为正确的内容。
不能修改程
序中的其他部分,也不能修改控件的属性。
最后用原来的文件名保存工
程文件和窗体文件。
**********************************************************************
(2)在考生文件夹下有一个工程文件sj109.vbp,其窗体上有2个命令按钮和1个
计时器。
2个命令按钮的初始标题分别是"演示"和"退出";计时器
Timer1的初始状态为不可用。
请画1个名称为Label1,且能根据显示内容自
动调整大小的标签,其标题为"VisualBasic程序设计",显示格式为黑
体小四号字。
如图所示。
程序功能如下:
1)单击标题为"演示"的命令按钮时,则该按钮的标题自动变换为"暂停
",且标签在窗体上从左向右循环滚动,当完全滚动出窗体右侧时,从
窗体左侧重新进入;
2)单击标题为"暂停"的命令按钮时,则该按钮的标题自动变换为"演示
",并暂停标签的滚动。
3)单击"退出"按钮,则结束程序运行。
要求:
请去掉程序中的注释符,把程序中的?
改为正确的内容,使其实现上述
功能,但不能修改窗体文件中已经存在的控件和程序。
最后把修改后的
文件按原文件名存盘。
PrivateSubCommand1_Click()
DimnAsInteger
Cls
n=InputBox("请输入一个整数")
Print"因子数=";fun(n)
EndSub
Functionfun(mAsInteger)
DimsAsInteger
s=0
Fork=1ToAbs(m)/2
IfmModk=0Then
s=s+1
Printk
EndIf
Nextk
fun=s
EndFunction
按要求保存文件即完成本题。
第2小题:
本题主要考查了Timer控件、Label空件和CommandButton控件。
1.定时器控件Timer的Enabled属性有两种状态,当Enabled为True时,定时器每间隔Interval便引发Timer事件。
2.并将Label的Font属性值设置字体的名称和大小;AutoSize属性设置为True,可以自动调整大小;
解题方法:
打开sjt4.vbp中的代码窗口,修改后的代码如下:
PrivateSubCommand1_Click()
IfCommand1.Caption="演示"Then
Timer1.Enabled=True
Command1.Caption="暂停"
Else
Timer1.Enabled=False
Command1.Caption="演示"
EndIf
EndSub
PrivateSubTimer1_Timer()
IfLabel1.Left>Form1.WidthThen
Label1.Left=-Label1.Width
Else
Label1.Left=Label1.Left+100
EndIf
EndSub
按要求保存文件即完成本题。
‘在考生文件夹下有一个工程文件sj114.vbp,窗体如图所示。
运行程序时,从
数据文件中读取学生的成绩(均为整数)。
要求编写程序,统计总人数,并
统计不及格、60~69、70~79、80~89及90~100各分数段的人数,将统计
结果显示在相应的文本框中。
结束程序之前,必须单击"保存"按钮,保存
统计结果。
注意:
不能修改程序的其他部分和控件属性。
程序调试通过后,运行程序,将
统计结果显示在文本框中,再按"保存"按钮保存数据,否则无成绩。
最后把修改后的文件按原文件名存盘。
本题主要考查了文件的操作和分支循环结构。
"统计"按钮的主要代码如下:
PrivateSubCommand1_Click()
DimaAsInteger,bAsInteger,cAsInteger
DimdAsInteger,eAsInteger,iAsInteger
DimscoreAsSingle
Fori=1Ton
score=arr(i)
SelectCasescore
CaseIs<60
a=a+1
Case60To69
b=b+1
Case70To79
c=c+1
Case80To89
d=d+1
CaseElse
e=e+1
EndSelect
Nexti
Text1.Text=n
Text2.Text=a
Text3.Text=b
Text4.Text=c
Text5.Text=d
Text6.Text=e
End
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 淮师 VB 期末 复习资料 整合