自选习题.docx
- 文档编号:30056280
- 上传时间:2023-08-04
- 格式:DOCX
- 页数:12
- 大小:22.28KB
自选习题.docx
《自选习题.docx》由会员分享,可在线阅读,更多相关《自选习题.docx(12页珍藏版)》请在冰豆网上搜索。
自选习题
3.综合应用题
在考生文件夹下有一个工程文件sjt5.vbp,窗体上有两个图片框,名称为Pic1、Pic2,分别用来表示信号灯和汽车,其中在Pic1中轮流装入考生文件夹下的"yellow.ico"和"red.ico"、"green.ico"文件来实现信号灯的切换;还有两个计时器Timer1和Timer2,Timer1用于变换信号灯,黄灯1秒,红灯2秒,绿灯3秒;Timer2用于控制汽车移动。
运行时,信号灯不断变换,单击"开始开车"按钮后。
汽车开始移动,如果移动到信号灯前或信号灯下,遇到红灯或黄灯等,则停止移动,当变为绿灯后再继续移动。
要求:
在窗体中已经给出了全部控件和全部程序,但程序结构有误,程序运行时不能实现所述功能。
要求改变现有程序的顺序,但不可添加或删减任何程序代码,以实现题目所述功能。
最后把修改后的文件以原文件名存盘。
程序运行时的窗体界面如图62-5所示。
PrivatesAsInteger
PrivateSubCmd1_Click()
Timer2.Enabled=True
EndSub
PrivateSubForm_Load()
Timer1.Enabled=True
Timer2.Enabled=False
EndSub
PrivateSubTimer1_Timer()
s=s+1
Ifs>6Then
s=1
EndIf
SelectCases
Case1
Pic1.Picture=LoadPicture(App.Path&"\yellow.ico")
Case2,3
Pic1.Picture=LoadPicture(App.Path&"\red.ico")
Case4,5,6
Pic1.Picture=LoadPicture(App.Path&"\green.ico")
EndSelect
If(s<4)And((Pic2.Left>(Pic1.Left-Pic2.Width))And(Pic2.Left<(Pic1.Left+Pic1.Width)))Then
Timer2.Enabled=False
Else
Timer2.Enabled=True
EndIf
EndSub
PrivateSubTimer2_Timer()
Pic2.MovePic2.Left+150,Pic2.Top,Pic2.Width,Pic2.Height
EndSub
步骤3:
调试并运行程序,按题目要求存盘。
2.PrivateFunctionIsPrime(ByValxAsInteger)AsBoolean
DimiAsInteger
IsPrime=False
Ifx=1ThenExitFunction
Fori=2ToSqr(x)
IfxModi=0Then
ExitFunction
EndIf
Next
IsPrime=True
EndFunction
PrivateSubCommand1_Click()
'考生编写程序开始
'======================================
Fori=1ToVal(Text1.Text)
IfIsPrime(i)AndIsPrime(Val(Text1.Text)-i)Then
Label1=i
Label2=Val(Text1.Text)-i
ExitFor
EndIf
Nexti
'=========================================
'考生编写程序结束
OpenApp.Path&"\out5.dat"ForOutputAs#1
Print#1,Text1.Text,Label1.Caption,Label2.Caption
Close#1
EndSub
Dima(100)AsInteger
PrivateSubCommand1_Click()
DimkAsInteger
OpenApp.Path&"\in4.dat"ForInputAs#1
Fork=1To100
Input#1,a(k)
Nextk
Close#1
EndSub
PrivateSubCommand2_Click()
'考生编写
DimkAsInteger
DimmAsLong
DimqAsInteger
DimpAsInteger
DimrAsLong
DimnAsLong
Fori=1To100
Ifa(k)Mod2=0Then
m=m+a(k)
q=q+1
Else
n=n+a(k)
p=p+1
EndIf
Nextk
r=Int((m+n)/(p+q)+0.5)
m=Int(m/q+0.5)
n=Int(n/p+0.5)
SelectCasecombo1.Text
Case"所有偶数“"
Text1.Text=m
Case"所有奇数“"
Text1.Text=n
Case"所有数"
Text1.Text=r
EndSelect
EndSub
PrivateSubForm_Unload(CancelAsInteger)
OpenApp.Path&"\out4.dat"ForOutputAs#1
Print#1,combo1.Text;Text1.Text
Close#
3.综合应用(1小题,计30分)
在考生文件夹下有一个工程文件sjt5.vbp,相应的窗体文件为sjt5.frm,此外还有一个名为datain.txt的文本文件,其内容如下:
86971324354657687980593732437658281298573142536475
程序运行后,单击窗体,将把文件datain.txt中的数据输入到二维数组Mat中,在窗体上按5行5列的矩阵形式显示出来,然后计算矩阵第三行各项的和,并在窗体上显示出来,如图43-5所示。
在窗体的代码窗口中,已给出了部分程序,这个程序不完整,请把它补充完整,并能正确运行。
要求:
去掉程序中的注释符,把程序中的?
改为正确的内容,使其实现上述功能,但不能修改程序中的其他部分。
最后把修改后的文件按原文件名存盘。
OptionBase1
PrivateSubForm_Click()
ConstN=5
ConstM=5
DimMat(5,5)
DimSum,i,j
OpenApp.Path&"\"&"datain.txt"ForInputAs#1
Fori=1ToN
Forj=1ToM
Input#1,Mat(i,j)
Nextj
Nexti
Close#1
Print"初始矩阵为:
"
Fori=1ToN
Forj=1ToM
PrintTab(5*j);Mat(i,j);
Nextj
Nexti
Sum=0
Forj=1ToM
Sum=Sum+Mat(3,j)
Nextj
Print"第三行各项的和为:
";
PrintSum
EndSub
第三步:
调试并运行程序。
第四步:
按题目要求存盘。
2.简单应用(2小题,每题20分,计40分)
(1)在考生文件夹下有工程文件sjt3.vbp及窗体文件sjt3.frm,该程序是不完整的,请在有?
号的地方填入正确内容,然后删除?
及所有注释符(即'号),但不能修改其他其他部分。
存盘时不得改变文件名和文件夹。
本题描述如下:
在窗口中有三个Label控件和两个名称分别为COMSTART和COMEXIT,标题分别为"开始"和"退出"的命令按钮。
要求程序运行后,单击"开始"按钮后,能将下面给出的三角形写入考生文件夹下的picture.dat文件中;执行完毕"开始"按钮,变成"完成",且无效(变灰)。
程序运行界面如图10-4所示。
A
AAA
AAAAA
AAAAAAA
BBBBBBB
BBBBB
BBB
B
图10-4
(2)在考生文件夹下有工程文件sjt4.vbp及窗体文件sjt4.frm,该程序是不完整的,请在有?
号的地方填入正确内容,然后删除?
及所有注释符(即'号),但不能修改其他部分。
存盘时不得改变文件名和文件夹。
本题描述如下:
在窗口中有一个名称为Command1,标题为"读取字型"的命令按钮,一个名称为Combo1的下拉组合框和一个提示标签Label1。
要求程序运行后,单击"读取字型"按钮读取系统的字型,在Combo1中显示。
如图10-5所示。
参考代码:
PrivateSubCOMEXIT_Click()
End
EndSub
PrivateSubCOMSTART_Click()
DimA(4)AsString
DimB(4)AsString
DimkAsInteger,lAsInteger
myfile1=App.Path&"\"&"picture.dat"
Openmyfile1ForOutputAs#1
Fork=1To4
A(k)=String$(k*2-1,"A")
B(k)=String$(k*2-1,"B")
Nextk
Fork=1To4
Print#1,A(k)
Nextk
Fork=4To1Step-1
Print#1,B(k)
Nextk
Close#1
COMSTART.Caption="完成"
COMSTART.Enabled=False
EndSub
PrivateSubCommand1_Click()
DimIAsLong
ForI=0ToScreen.FontCount-1
Combo1.AddItemScreen.Fonts(I)
Next
EndSub
3.综合应用(1小题,计30分)
在考生文件夹下有工程文件sjt5.vbp及窗体文件sjt5.frm,该程序是不完整的,请在有?
号的地方填入正确内容,然后删除?
及所有注释符(即'号),但不能修改其他部分。
存盘时不得改变文件名和文件夹。
本题描述如下:
在名称为Form1的窗体上有三个Label控件和两个名称分别为COMSTART、COMEXIT,标题分别为"开始"和"退出"的命令按钮。
编写函数Item(A,N),其功能是由数字A组成的不多于N位数的整数,利用该函数求8888-888-88-8的值并把结果写入考生文件夹下的sjt5.dat文件中。
执行完毕"确定"按钮,变成"完成",且无效。
如图10-6所示。
参考代码:
OptionExplicit
PrivateSubCOMEXIT_Click()
End
EndSub
PrivateSubCOMSTART_Click()
DimAAsInteger,NAsInteger,JAsInteger,SumAsSingle
A=8:
N=4
ForJ=NTo1Step-1
IfJ=NThen
Sum=Item(A,J)
Else
Sum=Sum-Item(A,J)
EndIf
Next
Print"Sum=";Sum
OpenApp.Path&"\"&"sjt5.dat"ForOutputAs#1
Print#1,Sum
Close#1
COMSTART.Caption="完成"
COMSTART.Enabled=False
EndSub
FunctionItem(A,k)
DimPAsString,QAsString,SAsSingle
DimiAsInteger,HAsSingle
P=""
Fori=1Tok
Q$=Str$(A)
P$=P$+Q$
Nexti
S=Val(P$)
H=H+S
Item=H
EndFunction
第二步:
调试并运行程序。
第三步:
按题目要求存盘
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 自选 习题
![提示](https://static.bdocx.com/images/bang_tan.gif)