程序填空题.docx
《程序填空题.docx》由会员分享,可在线阅读,更多相关《程序填空题.docx(53页珍藏版)》请在冰豆网上搜索。
![程序填空题.docx](https://file1.bdocx.com/fileroot1/2023-5/15/293ffecf-abc2-41fe-b533-8be608a02121/293ffecf-abc2-41fe-b533-8be608a021211.gif)
程序填空题
程序填空题
说明:
1.程序填空题共64题,按教科书的内容顺序排列。
2.在每题的程序说明后有一段程序代码,该程序段不完整。
3.请将代码中的“--n--”替换必要的内容,使其完整。
n=1,2,3,4。
4.可将程序段复制到VB代码窗口中进行调试。
*01.窗体中有一个标签,初始时标签中无内容。
下列程序段要实现单击窗体时,窗体宽高均为5000,并位于屏幕左上角,同时在标签中显示“中国杭州”。
PrivateSubForm_Click()
Form1.Left=0
Form1.Top=--1--
--2--=5000--3--=5000--4--="中国杭州"EndSub
*02.窗体中有一个标签,初始时标签中无内容。
下列程序段要实现单击窗体时,窗体占屏幕整个上半部,同时使“中国杭州”标签位于窗体的正中间。
PrivateSubForm_Click()Form1.Left=0
Form1.Top=0
Form1.Width=--1--
Form1.Height=--2--
Label1.Caption="中国杭州"
Label1.Left=--3--
Label1.Top=--4--
EndSub
*03.窗体中有两个大小相同的按钮控件,标题分别为“左移”和“右移”。
下列程序段要实现按钮间距和按钮与边界距相等。
单击按钮时,窗体向左或右移动200。
PrivateSubForm_Load()Form1.Left=4000:
Form1.Top=2000Form1.Width=5000:
Form1.Height=2000Command1.Caption="左移":
Command2.Caption="右移"Command1.Width=1000:
Command2.Width=Command1.WidthCommand1.Height=500:
Command2.Height=Command1.Height
Command1.Top=600:
Command2.Top=Command1.Top
Command1.Left=--1--
Command2.Left=--2--EndSubPrivateSubCommand1_Click()Form1.Left=--3--EndSubPrivateSubCommand2_Click()Form1.Left=--4--EndSub
*04.窗体中有两个大小相同的按钮,分别为“上移”和“下移”。
下列程序段要实现其间距和与边界距相等,单击按钮时,窗体向上或下移动100。
PrivateSubForm_Load()
Form1.Move4000,2000,5000,2000
Command1.Caption="上移":
Command2.Caption="下移"
Command1.Move--1--
Command2.Move--2--
EndSubPrivateSubCommand1_Click()
--3--
EndSub
PrivateSubCommand2_Click()
--4--
EndSub
05.窗体中有两个大小相同的按钮,分别为“移动”和“暂停”。
下列程序段要实现单击按钮时,窗体连续向右移动或暂停。
PrivateSubForm_Load()
Command1.Caption="移动":
Command2.Caption="暂停"
Timer1.Interval=100
Timer1.Enabled=--1--
EndSub
PrivateSubTimer1_Timer()
Form1.Move--2--
EndSub
PrivateSubCommand1_Click()
--3--
EndSub
PrivateSubCommand2_Click()
--4--
EndSub
*06.下列程序段要求每一次单击窗体,直径固定为400的圆形控件自动从左下向右上沿45度方向运动。
PrivateSubForm_Load()
Form1.Move0,0,5800,6000
Shape1.Shape=3
Timer1.Interval=100
Timer1.Enabled=False
EndSubPrivateSubForm_Click()
Shape1.Move0,5200,--1--
Timer1.Enabled=--2--
EndSub
PrivateSubTimer1_Timer()
Shape1.Left=--3--
Shape1.Top=--4--
EndSub
*07.下列程序段要求每一次单击窗体,圆形形状控件的圆心不动,直径变大30%。
Dim--1--
PrivateSubForm_Load()
Form1.Move0,0,6000,6000
Shape1.Move2800,2800,400,400
Shape1.Shape=3
D=--2--
EndSub
PrivateSubForm_Click()
D=--3--
Shape1.Move--4--
EndSub
*08.下列程序段要求窗体左上角不动,第一次单击窗体时,窗体宽高各增加100;第二次单击窗体时,窗体宽高各增加200;第三次单击窗体时,窗体宽高各增加300。
...以此类推。
PrivateSubForm_Load()
Form1.Move100,100,2000,1000
EndSub
PrivateSubForm_Click()
--1--nWAsInteger
nW=--2--
Form1.Width=--3--
Form1.Height=--4--
EndSub
*09.下列程序段要求每一次单击窗体,圆形控件自动从左上向右下沿抛物线方向运动。
提示:
水平方向为匀速运动;垂直方向为匀加速(平方关系)运动。
DimXAsInteger
PrivateSubForm_Load()
Form1.Move0,0,6000,6000
Shape1.Shape=3
Shape1.Move0,0,100,100
Timer1.Interval=100
Timer1.Enabled=False
EndSub
PrivateSubForm_Click()
--1--
Timer1.Enabled=--2--
EndSub
PrivateSubTimer1_Timer()
X=X+1
Shape1.Left=--3--
Shape1.Top=--4--
EndSub
*10.下列程序段要求圆形控件自动按椭圆轨道(长短轴比为2:
1)运动。
提示:
椭圆轨道公式为X=R*COS(Q),Y=R*SIN(Q)/2。
Dim--1--
PrivateSubForm_Load()
Form1.Move0,0,6000,6000Shape1.Shape=3Shape1.Move0,0,100,100Timer1.Interval=100Timer1.Enabled=TrueR=2000
X0=Form1.Width/2
Y0=Form1.Height/2
EndSub
PrivateSubTimer1_Timer()
--2--
Q=Q+0.1
Shape1.Left=--3--
Shape1.Top=--4--
EndSub
11.已知函数f(x)的值分三个区间:
当x<=0时,f(x)=0;当0=1时f(x)=x2+1。
下列程序段通过InputBox函数输入x值,再计算出函数值f(x),并在标签Label1中显示。
PrivateSubForm_Click()
DimxAsSingle
x=InputBox("x=")
If--1--Then
Label1=0
ElseIf--2--Then
Label1=--3--
--4--
Label1=x*x+1
EndIf
EndSub
12.下列程序段为密码检查,单击“登录”按钮,要求用户通过InputBox函数输入密码(12345)。
若密码正确,在标签Label1显示“欢迎进入VisualBasic”,同时“登录”按钮消失。
若密码不正确,则无反应。
PrivateSubForm_Load()
Command1.Caption="登录"
EndSub
PrivateSubCommand1_Click()
--1--'
Password1=InputBox("请输入密码")
If--2--Then
Label1="欢迎进入VisualBasic"
--3--
--4--
EndSub
13.下列程序段为密码设置,要求用户通过InputBox函数输入两次密码。
若两次输入一致,在标签Label1显示"密码已经修改"。
若两次输入不一致,则在标签Label1显示"两次输入不一致,请重新设置"。
PrivateSubForm_Load()
Command1.Caption="密码设置"
EndSub
PrivateSubCommand1_Click()
--1--
Password1=InputBox("请输入密码")
Password2=InputBox("请再输入一次密码")
If--2--Then
Label1="密码已经修改。
"
--3--
Label1="两次输入不一致,请重新设置。
"
--4--
EndSub
*14.窗体中有一个标签,下列程序段要实现"中国杭州"标签自动向左移动,当标签完全移出窗体左端时,自动再从右端移入。
PrivateSubForm_Load()
Form1.Move2000,2000,6000,3000
Label1.Caption="中国杭州"
Label1.FontSize=24
Label1.AutoSize=True
Label1.Move4000,1000
Timer1.Interval=100
Timer1.Enabled=True
EndSub
PrivateSubTimer1_Timer()
If--1--Then
Label1.Move--2--
Else
Label1.Move--3--
--4--
EndSub
*15.下列程序段要求圆形控件在窗体中横向往复运动。
当圆形控件碰到窗体左右边界时,自动反向(X=-X)。
Dim--1--
PrivateSubForm_Load()
Form1.Move2000,2000,6000,3000
Shape1.Shape=3
Shape1.Move4000,1000,400,400
Timer1.Interval=100:
Timer1.Enabled=True
--2--=100
EndSub
PrivateSubTimer1_Timer()
If--3--ThenX=-X
Shape1.Move--4--
EndSub
*16.下列程序段要求圆形控件在窗体中自由运动,到达边界时,自动反向
(dX=-dX,dY=-dY)。
DimD,dX,dY
PrivateSubForm_Load()
Form1.Move2000,2000,8000,5000
Shape1.Shape=3
Timer1.Interval=100
Timer1.Enabled=True
D=500
dX=200
dY=200
Shape1.Move0,0,--1--
EndSub
PrivateSubTimer1_Timer()
If--2--ThendX=-dX
If--3--ThendY=-dY
Shape1.Move--4--
EndSub
*17.窗体中有一个按钮控件,初始为"移动"。
下列程序段要实现单击按钮("移动")时,窗体连续向右移动,按钮改为"暂停"。
再单击按钮("暂停")时,窗体暂停移动,按钮改为"移动"。
周而复始...。
PrivateSubForm_Load()
Form1.Move100,2000,5000,2000
Command1.Caption="移动"
Command1.Move2000,800,1000,500
Timer1.Interval=100
Timer1.Enabled=False
EndSub
PrivateSubTimer1_Timer()
Form1.MoveForm1.Left+100
EndSub
PrivateSubCommand1_Click()
IfCommand1.Caption="移动"Then
Command1.Caption=--1--
Timer1.Enabled=--2--
Else
Command1.Caption=--3--
Timer1.Enabled=--4--
EndIf
EndSub
*18.下列程序段判断从InputBox函数输入的整数所在的区间,并在标签Label1中输出判断结果。
PrivateSubForm_Load()
Form1.Move0,0,6000,2000
Command1.Caption="输入整数"
Command1.Move2000,800,2000,500
Label1.Move800,200
Label1.AutoSize=True:
Label1.FontSize=16
End
SubPrivateSubCommand1_Click()
DimnXAsInteger
nX=InputBox("输入要判断的整数")
SelectCasenX
Case--1--
Label1="值为0"
Case--2--
Label1="值在1和10之间(包括1和10)"
Case--3--
Label1="值大于10"
Case--4--
Label1="值小于0"
EndSelect
EndSub
*19.下列程序段先通过InputBox函数输入一个学生成绩(百分制),然后转化为五级记分(优,良,中,及格,不及格)。
并用MsgBox函数显示,例如:
"该生成绩:
95等级:
优"。
PrivateSubForm_Click()
Dim--1--
sFs=InputBox("请输入百分制学生成绩:
","输入成绩")
SelectCase--2--
Case89.5To100
sDj="优"
Case79.5To89.4
sDj="良"
Case69.5To79.4
sDj="中"
Case59.5To69.4
sDj="及格"
Case0To59.4
sDj="不及格"
Case--3--
sDj="无效"
EndSelect
Temp=MsgBox(--4--,0,"五级记分")
EndSub
*20.下列程序段先通过InputBox函数输入一个个人收入,然后按以下规定给出纳税值:
(1)收入在800元以内,免征;
(2)收入在800--1200元内,超过800元部分纳税20%(3)收入超过1200元部分,纳税30%(4)收入达到5000元或超过时,将税金30%改为40%
PrivateSubForm_Click()
DimgMAsSingle,gNsAsSingle
DimnXAsInteger
gM=Val(InputBox("请输入个人收入(元)"))
SelectCase--1--
CaseIs<=800
gNs=0
nX=MsgBox("免税",0,"纳税情况")
Case--2--
gNs=(gM-800)*0.2
nX=MsgBox("应纳税"+Str(gNs)+"元",0,"纳税情况")
Case--3--
gNs=400*0.2+(gM-1200)*0.3
nX=MsgBox("应纳税"+Str(gNs)+"元",0,"纳税情况")
CaseIs>=5000
gNs=--4--
nX=MsgBox("应纳税"+Str(gNs)+"元",0,"纳税情况")
EndSelect
EndSub
*21.下列程序段中,单击按钮,在标签中依次显示"中国","浙江","杭州","西湖"。
PrivateSubForm_Load()
Form1.Move0,0,5000,2000
Command1.Move2000,1000
Label1.Move2000,300
Label1.AutoSize=True:
Label1.FontSize=24
EndSub
PrivateSubCommand1_Click()
--1--
SelectCaseFlag
Case0
Label1="中国"
Flag=--2--
Case1
Label1="浙江"
Flag=--3--
Case2
Label1="杭州"
Flag=--4--
CaseElse
Label1="西湖"
Flag=0
EndSelect
EndSub
22.下列程序段实现在标签中自动依次显示"中国","浙江","杭州","西湖"。
PrivateSubForm_Load()
Label1.AutoSize=True:
Label1.FontSize=24
Label1=--1--
Timer1.Interval=1000
Timer1.Enabled=True
EndSub
PrivateSubTimer1_Timer()
SelectCaseLabel1
Case--2--
Label1="中国"
Case--3--
Label1="浙江"
Case--4--
Label1="杭州"
CaseElse
Label1="西湖"
EndSelect
EndSub
23.下列程序段是计算1+2+3+...+100,单击窗体打印出结果。
PrivateSubForm_Click()
DimTAsInteger,SAsInteger
T=--1--
S=0
DoWhile--2--
T=T+1
--3--
--4--
Form1.Print"S=";S
EndSub
24.下列程序段为密码检查,单击"登录"按钮,要求用户通过InputBox函数输入密码(12345)。
若密码正确,在标签Label1显示"欢迎进入VisualBasic",同时"登录"按钮消失。
若密码不正确,要求用户再次输入密码。
若三次输错,则退出程序。
PrivateSubForm_Load()
Command1.Caption="登录"
EndSub
PrivateSubCommand1_Click()
DimIAsInteger,PasswordAsString
ForI=0To2
Password=InputBox("请输入密码")
IfPassword="12345"Then--1--
Next
If--2--Then
--3--
--4--
Label1="欢迎进入VisualBasic"
Command1.Visible=False
EndSub
25.下列程序段为密码检查,单击"登录"按钮,要求用户通过InputBox函数输入密码(12345)。
若密码正确,在标签Label1显示"欢迎进入VisualBasic",同时"登录"按钮消失。
若密码不正确,要求用户再次输入密码。
若三次输错,则退出程序。
PrivateSubForm_Load()
Command1.Caption="登录"
EndSub
PrivateSubCommand1_Click()
DimIAsInteger,PasswordAsString
Do
Password=InputBox("请输入密码")
IfPassword="12345"Then--1--
IfI>=2Then--2--
--3--
--4--
Label1="欢迎进入VisualBasic"
Command1.Visible=False
EndSub
**26.下列程序段有5个大小一样(直径D)的圆形控件在窗体中各自随机地自由运动。
到达边界时,自动反向:
dX(I)=-dX(I),dY(I)=-dY(I),I=0-4。
DimI%,D%,dX%(4),dY%(4)
PrivateSubForm_Load()
Randomize
D=500
ForI=0To4
Shape(I).FillColor=QBColor(10+I)
dX(I)=200*(-1)^Int(Rnd()*2)
dY(I)=200*(-1)^Int(Rnd()*2)
Shape(I).Move--1--
NextI
Timer1.Interval=100
Timer1.Enabled=True
EndSub
PrivateSubTimer1