VB期末A卷.docx

上传人:b****7 文档编号:23958479 上传时间:2023-05-22 格式:DOCX 页数:14 大小:40.87KB
下载 相关 举报
VB期末A卷.docx_第1页
第1页 / 共14页
VB期末A卷.docx_第2页
第2页 / 共14页
VB期末A卷.docx_第3页
第3页 / 共14页
VB期末A卷.docx_第4页
第4页 / 共14页
VB期末A卷.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

VB期末A卷.docx

《VB期末A卷.docx》由会员分享,可在线阅读,更多相关《VB期末A卷.docx(14页珍藏版)》请在冰豆网上搜索。

VB期末A卷.docx

VB期末A卷

2008/09第二学期程序设计基础VB试卷

说明:

考生应将所有答案填写在答卷上,否则无效。

一、选择题(每小题1分,共10分)

1、下列函数中,_________函数返回的值是数值型的。

A.ChrB.MidC.SpaceD.Instr

2、执行语句a=MsgBox("AAAA",,"BBBB","",5)后,所产生的信息框的标题是_____。

A.BBBBB.空C.AAAAD.5

3、设a=2,b=3,c=4,d=5,表达式3>2*bORa=cANDb<>cORc>d的值是______。

A.1B.TrueC.FalseD.-1

4、Timer控件可用于后台进程中,可在Timer事件内编程,要停止触发Timer事件,可通过以下_______属性。

A.Enabled=False或Interval=0B.Visible=False或Interval=0

C.Enabled=False或Visible=FalseD.Enabled=False且Interval=0

5、下面语句说明合法的是______。

A.Suba1(ByValn%())B.Suba1(nAsInteger)AsInteger

C.Functionf1%(f1AsInteger)D.Functionf1(ByValnAsInteger)

6、设当前位置CurrentX=200,CurrentY=400,执行指令"Line(100,250)-(350,500),,B"后,CurrentX=______。

A.100B.200C.350D.550

7、在用通用对话框控件建立打开文件对话框时,在文件列表框只允许显示文本文件类型的文件,则Filter属性的正确设置是_________。

A.Text(.txt)|*.txtB.Text(.txt)(*.txt)

C.文本文件|(.txt)D.Text(.txt)||*.txt

8、当拖动滚动条中的滚动块时,将触发的滚动条的______事件。

A.MoveB.ChangeC.ScrollD.SetFocus

9、VisualBasic的使用目的是_________。

A.图像处理wwwB.开发Windows应用程序C.制作WAV文件D.文字处理

10、假设Text1文本框中输入了学生的成绩,以A、B、C、D、E字符表示不同的等级,下列语句中_____________可用于判断输入数据是否正确。

A.If"A"<=Text1<="E"ThenMsgBox"输入正确"ElseMsgBox"输入错误"

B.If"A"<=Text1OrText1<="E"ThenMsgBox"输入正确"ElseMsgBox"输入错误"

C.IfA<=Text1AndText1<=EThenMsgBox"输入正确"ElseMsgBox"输入错误"

D.If"A"<=Text1AndText1<="E"ThenMsgBox"输入正确"ElseMsgBox"输入错误"

二、填空题(每空格1分,共10分)

1、为了在运行程序时删除窗体Form1的背景图片,可使用

语句。

2、正确地显示一个标题为:

“ERROR”、提示信息为“Input”的对话框的代码是k=InputBox(

)。

3、滚动条产生Change事件是因为

属性值改变了。

4、假定窗体上有一个文本框,若有以下事件过程,请问这个文本框只能接受

PrivateSubText1_KeyPress(KeyAsciiAsInteger)

IfKeyAscii<65OrKeyAscii>90ThenKeyAscii=0

EndSub

5、若在程序中使用Dima,basString*4声明a、b两个变量,则变量a的类型是

,变量b的类型是

6、表达式Int(74.555*100+0.5)/100的值是

7、如果要时钟控件每半分钟发生一个计时器事件,则Interval属性应设置为

8、要使Fork=xTo-5Step-2语句循环执行20次,循环变量的初值x应当是

9、在用ShowFont方法打开通用对话框中的字体对话框前,必须先设置

属性。

三、是非题(每题1分,共10分,请在答卷纸相应题号旁的括号中填“√”或“×”)

1、在刚建立工程时,使窗体上的所有控件具有相同的缺省字体格式,应对form的font属性进行设置。

2、For/Next循环正常(未执行ExitFor)结束后,控制变量的当前值一定不可能等于终值

3、VB中的对象指的就是控件。

4、CLS是窗体的一个方法。

5、移动框架时框架内控件也跟随移动,但框架内控件的Left和Top属性值不会改变。

6、在窗体上绘制CommonDialog控件时,要想使控件在运行时不可见,只要设置该控件的visible属性为false即可。

7、已知a=3.5,b=5.0,c=2.5,d=True,则表达式:

a>=0ANDa+c>b+3ORNOTd的值是false

8、文件列表框与盘驱动器列表框、目录列表框一样,都能响应Change事件。

9、要在窗体上通过Pset方法绘制宽度为2的点,则需要设置DrawStyle属性。

10、在块IF结构中,“EndIf”语句可以缺省。

四、程序阅读题(每题6分,共24分)

阅读下列程序,将运行时的输出结果或改错的情况写在答卷纸相应题号下。

程序1.下面是一段计算数学表达式的程序,请写出这个数学表达式。

PrivateSubForm_Click()

DimnAsInteger,pAsInteger,sAsSingle,qAsInteger,iAsInteger

n=InputBox("请输入N的值:

")4

s=0:

p=-1:

q=1

Fori=1To4

p=-p

q=q*i

s=s+p*i/q

Nexti

Prints

EndSub

1!

-2/2!

+3/3!

-4/4!

 

程序2.运行时3次单击command1,并依次输入7,8,9,窗体显示结果是什么?

DimmAsInteger

PrivateSubCommand1_Click()

DimaAsInteger,iAsInteger,fAsInteger

a=InputBox("a=")

f=1

i=2

doWhilei<=a/2

IfaModi=0Thenf=f+i

i=i+1

m=m+1

loop

Printf;m

EndSub

 

程序3.已知水平滚动条HScroll1的有关属性已经在属性窗口进行了如下的设置:

HScroll1.Min:

1HScroll1.Max:

12HScroll1.SmallChange:

3

HScroll1.LargeChange:

4HScroll1.Value:

5

写出连续3次单击水平滚动条HScroll1右端箭头后,窗体上显示的结果。

PrivateSubHScroll1_Change()

StaticyAsInteger

IfHScroll1.ValueMod2=0Then

y=y+HScroll1.Value

Print"y=";y

EndIf

EndSub

程序4.下面的数字金字塔显示程序中有三处错误,请根据要求修改错误:

OptionExplicit

PublicSubprt()

'显示由数字组成的如下所示金字塔图案

'9

'888

'77777

'6666666

'555555555

'44444444444

'3333333333333

'222222222222222

'111111*********11

DimiAsInteger,jAsInteger

Fori=1To9

PrintSpace(10-i);

Forj=1To2*i-1

Printtrim(str(i));

Nextj

Form1.Print

Nexti

EndSub

五、程序选择填空题(每空格2分,共16分)

阅读下列程序说明和程序,将答案填写在答卷纸相应题号下。

程序1.某文件中存放了若干个实数,单击Command1可用对话框打开该文件、并将读入的所有数据在List1中显示,单击Command2可将读入的数据按值从小到大顺序重新写入到该文件。

PrivateSubCommand1_Click()

DimxAsSingle

List1.Clear:

CommonDialog1.Action=1

OpenCommonDialog1.FileNameFor

(1)As#2

DoWhile

(2)

Input#2,x:

List1.Additemx

Loop

Close#2

EndSub

PrivateSubCommand2_Click()

DimnAsSingle,xAsSingle,iAsInteger,jAsInteger,KAsInteger

n=List1.(3)

Redima(n)AsSingle

Fori=1Ton:

a(i)=List1.List(i-1):

Nexti

Fori=1Ton-1

k=i

Forj=i+1Ton:

If(4)Thenk=j:

Nextj

x=a(k):

a(k)=a(i):

a(i)=x

Nexti

OpenCommonDialog1.FileNmaeForOutputAs#1

Fori=1Ton:

Print#1,a(i):

Nexti

Close#1

EndSub

【供选择的答案】

(1)A、OutputB、InputC、AppendD、Read

(2)A、Eof

(1)B、NotEof

(1)C、Eof

(2)D、NotEof

(2)

(3)A、CountB、ListCount-1C、ListD、ListCount

(4)A、a(j)>a(k)B、a(j)>=a(k)C、a(j)<>a(k)D、a(j)

程序2.阅读下列程序并回答问题,在每小题提供的若干可选答案中,挑选一个正确答案。

PrivateSubf(sAsString)

DimiAsInteger,nAsInteger,cAsString

n=Len(s)

IfnMod2=1Thenc=Mid(s,n\2+1,1)

Fori=1ToLen(s)\2

c=Mid(s,Len(s)+1-i,1)+c+Mid(s,i,1)

Nexti

s=c

EndSub

PrivateSubCommand1_Click()

DimxAsString

x=InputBox("x=")

Callf(x)

Printx

EndSub

(5)单击Command1后输入"abc",窗体上显示结果为:

A、cbaB、bcaC、abcD、acb

(6)单击Command1后输入"abcd",窗体上显示结果为:

A、abdcB、cdabC、abcdD、bcad

(7)如果将Sub过程f首句改为PrivateSubf(ByvalsAsString),单击Command1后输入"abcd",窗体上显示结果为:

A、abdcB、cdabC、abcdD、bcad

(8)如果将Sub过程f首句改为PrivateSubf(ByrefsAsString),单击Command1后输入"abcd",窗体上显示结果为:

A、abdcB、cdabC、abcdD、bcad

 

六、程序设计题(每题10分,共30分)

见答题纸

2007/08二学期程序设计基础VB答卷

选课班级任课教师  班级   学号考生姓名  

题号(题分)

一(10)

二(10)

三(10)

四(24)

五(16)

六(30)

总分

得分

一、选择题(每小题1分,共10分)

1.D2.A3.C4.A5.D6.C7.A8.C9.B10.D

二、填空题(每空格1分,共10分)

Form1.Picture=LoadPicture()

("INPUT","ERROR")

value

大写字母

变体变量

定长字串

74.56

30000

33

flags

三、是非题(每题1分,共10分,请在答卷纸相应题号旁的括号中填“√”或“×”)

1、(√)2、(√)3、(×)4、(√)5、(√)

6、(×)7、(√)8、(×)9、(×)10、(×)

四、程序阅读题(每题6分,共24分)

程序1.

(我的公式编辑器有问题,分母都是分子的阶乘)

程序2.12程序3.y=8

75y=20

48

程序4.

(1)应修改为Fori=9To1step-1

(2)应修改为Forj=1To2*(9-i)+1

(3)应修改为PrintTrim(Str(i));(这里str可以没有,但是分号必须有)

五、程序填空题(每空格2分,共16分)

1.B2.D3.D4.D5.A6.B7.C8.B

六、程序设计题(每题10分,共30分)(编程题可能答案会有不同,大家可以酌情判分)

1、编写一个程序,输入两个正整数m、n,调用子过程求两个正整数m、n的最大公约数。

在主程序窗体中输出m、n及最大公约数。

(注意这里要求调用sub子过程,不是function函数过程)

PrivateSubForm_click()

DimmAsInteger,nAsInteger

DimxAsInteger

Do1分

m=val(InputBox("请输入第一个正整数"))1分

n=val(InputBox("请输入第二个正整数"))

loopuntilm>0andn>0

Callgys(m,n,x)2分

Printm&"与"&n&"的最大公约数是"&x1分(如果这里写法跟我的一致,要注意参数传递方式有没有用byval,否则m、n会出错,要扣分)

EndSub

PrivateSubgys(byvalaAsInteger,byvalbAsInteger,rAsInteger)1分

r=aModb算法3分

DoWhiler<>0

a=b:

b=r:

r=aModb

Loop

r=b1分

EndSub

2、设计一个窗体,上面有一个图片框,一个文本框、一个命令按钮,要求初始化命令按钮不能响应,文本框输入一个不小于10且不大于100的整数n,按下回车键后命令按钮激活,按下命令按钮后调用函数过程,计算前n项级数和:

S=1/2+2/3+3/4+4/5+……得到级数和后,在图片框中利用(10,s1),(11,s2)……(n,sn)坐标绘制曲线图,要求图片框的坐标系为(10,4)-(n,-4)

DimnAsInteger1分

PrivateSubCommand1_Click()(此段程序6分)

DimiAsInteger,sAsSingle

Picture1.Scale(10,40)-(n,-40)1分

Picture1.Cls

i=10

s=jishu(i)1分

Picture1.Line(i,s)-(i,s)1分

Fori=11Ton

s=jishu(i)

Picture1.Line-(i,s)1分

Nexti

Command1.Enabled=False1分

EndSub

PrivateFunctionjishu(jAsInteger)AsSingle(此段程序1分)

DimkAsInteger

jishu=0

Fork=1Toj

jishu=jishu+k/(k+1)1分

Nextk

EndFunction

PrivateSubForm_Load()(此段程序1分)

Command1.Enabled=False1分

Text1.Text=""

EndSub

PrivateSubText1_KeyPress(KeyAsciiAsInteger)(此段程序2分)

IfKeyAscii=13Then

IfVal(Text1.Text)>=10AndVal(Text1.Text)<=100Then1分

n=Text1.Text

Command1.Enabled=True

Else

Text1.Text=""

Command1.Enabled=False1分

MsgBox"请重新输入数据"

EndIf

EndIf

EndSub

3、在form1窗体的文本框中输入一个正整数n,单击command1按钮,计算n以内所有能被5和7整除的数之和(如:

输入40,则40以内能被5和7整除的数只有35;输入100,则100以内能被5和7整除的数有35和70,则和为105),并将结果显示在标签框内(35+70=105)。

如果输入的n值范围内没有可以被5和7整除的数,则用msgbox提示。

PrivateSubCommand1_Click()1分(有头有尾)

DimnAsInteger,iAsInteger,sumAsInteger

IfVal(Text1.Text)>0Thenn=Text1.TextElseText1.Text="":

ExitSub1分

Fori=7TonStep7算法4分

IfiMod5=0Then

Label1.Caption=Label1.Caption+Str(i)+"+"

sum=sum+i

EndIf

Nexti

Ifsum=0Then2分

MsgBoxn&"中没有能被5和7整除的数"

ExitSub

Else

Label1.Caption=Left(Label1.Caption,Len(Label1.Caption)-2)+"="+Str(sum)2分

EndIf

EndSub

PrivateSubForm_Load()

Text1.Text=""

Label1.Caption=""

EndSub

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

当前位置:首页 > 经管营销 > 经济市场

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

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