自选习题.docx

上传人:b****5 文档编号:30056280 上传时间:2023-08-04 格式:DOCX 页数:12 大小:22.28KB
下载 相关 举报
自选习题.docx_第1页
第1页 / 共12页
自选习题.docx_第2页
第2页 / 共12页
自选习题.docx_第3页
第3页 / 共12页
自选习题.docx_第4页
第4页 / 共12页
自选习题.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

自选习题.docx

《自选习题.docx》由会员分享,可在线阅读,更多相关《自选习题.docx(12页珍藏版)》请在冰豆网上搜索。

自选习题.docx

自选习题

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

Print"初始矩阵为:

"

Print

Fori=1ToN

Forj=1ToM

PrintTab(5*j);Mat(i,j);

Nextj

Print

Nexti

Sum=0

Forj=1ToM

Sum=Sum+Mat(3,j)

Nextj

Print

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

第二步:

调试并运行程序。

第三步:

按题目要求存盘

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 自我管理与提升

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1