07VB期末考卷城市学院.docx
《07VB期末考卷城市学院.docx》由会员分享,可在线阅读,更多相关《07VB期末考卷城市学院.docx(13页珍藏版)》请在冰豆网上搜索。
07VB期末考卷城市学院
年级:
_____________专业:
_____________________班级:
_________________学号:
_______________姓名:
__________________
…………………………………………………………..装………………….订…………………..线………………………………………………………
诚信应考考出水平考出风格
浙江大学城市学院
2009—2010学年第二学期期末考试试卷
《VB程序设计基础与实验》
开课单位:
计算分院;考试形式:
闭卷;考试时间:
2010年7月1日
所需时间:
120分钟
题序
一
二
三
四
总分
得分
评卷人
得分
一、单选题(本大题共18题,每题2分,共36分。
)
题号
1
2
3
4
5
6
7
8
9
10
题号
11
12
13
14
15
16
17
18
得分
二、程序填空题(本大题共1题5空,每空2分,共10分。
)
(1)
(2)
(3)
(4)
(5)
得分
三、程序阅读题(本大题共6题,每题4分,共24分)
第1题:
第2题:
第3题:
第4题:
第5题:
第6题:
得分
四.程序设计题(本大题共3题,每题10分,共30分。
)
第1题:
.
第2题:
.
第3题:
.
年级:
_____________专业:
_____________________班级:
_________________学号:
_______________姓名:
__________________
…………………………………………………………..装………………….订…………………..线………………………………………………………
浙江大学城市学院
2009—2010学年第二学期期末考试试卷
《VB程序设计基础与实验》
开课单位:
计算分院;考试形式:
闭卷;考试时间:
2010年7月1日
所需时间:
120分钟
一、单选题(36%,每小题2分)
1.VisualBasic是一种面向对象的程序设计语言,构成对象的三要素是。
A.属性、控件和方法B.属性、事件和方法
C.窗体、控件和过程D.控件、过程和模块
2.函数(Int(45*Rnd)+5)*2的值是在___范围内的偶数?
A.[0,100]B.[0,98]C.[10,100]D.[10,98]
3.哪一条语句执行后将会删除文本框Text1中的文本?
A.Text1.Text=””B.Text1.SelText=””
C.Text1.ClearD.Text1.SelText.Clear
4.下列各组函数中,函数值类型相同的一组是 。
A.Exp(x)、Chr(x)、Lcase(x)B.Asc(x)、Str(x)、Rtrim(x)
C.Sgn(x)、Int(x)、Len(x)D.Fix(x)、Left(x)、Ucase(x)
5.先声明DimXAsString*10,再赋值X=”浙江”,最后Len(X)的值为 。
A.10B.2C.4D.12
6.判断变量x、y中有且只有一个为0的下列各表达式中,正确的是 。
A.x=0Ory=0andx*y<>0B.x+y=0andx*y<>0
C.x+y<>0andx*y=0D.x=0andy<>0
7.设置EXCEL某个区域的内部颜色,需设置的ColorIndex属性。
A.ForeColorB.BackColorC.InteriorD.Inside
8.将变量x、y中的最大数赋值给变量a,正确的表示为 。
A.a=x:
Ify>xThena=yB.Ify>xThena=y:
a=x
C.a=Ify>xThenyElsexD.Ify>xThena=yElsea=xEndIf
9.若变量i的初值为9,则下列循环语句的循环次数为 次。
DoWhilei<=20
i=i+3
Loop
A.3次 B.4次 C.5次 D.6次
10.窗体通用部分的语句“OptionBase1”,决定本窗体中数组下标 。
A.下界必须为1 B.缺省的下界为1
C.下界必须为0 D.缺省的下界为0
11.下列数组声明正确的是 。
A.n=5B.Dima(10)AsInteger
Dima(1ton)AsIntegerReDima(1to12)
C.Dima()AsSingleD.Dima()AsInteger
ReDima(3,4)AsIntegern=5
ReDima(1ton)
12.在声明Dimx(0to3,3to4)后,x数组可存放元素 个。
A.4B.6C.8D.12
13.用InputBox函数为数组B的所有元素B(0)、B
(1)、B
(2)、…、B(9)依次赋值,正确的写法是 。
A.Fori=0To9:
B(i)=InputBox:
Nexti
B.B=InputBox(“”)
C.B(i)=InputBox(“”)
D.Fori=0To9:
B(i)=InputBox(“”):
Nexti
14.用Static关键字定义过程是指。
A.声明过程名是静态的B.声明形参是静态的
C.声明过程中的局部变量是静态的D.声明过程的返回值是静态的
15.若某过程声明为Subaa(nAsInteger),则以下调用正确的是______。
A.Callaa(y)B.Callaa()C.aa(y)D.z=aa(y)
16.在Form2中引用Form1中的全局变量x,写作______。
A.xB.Form1.xC.Form2.xD.Form1_Public.x
17.Sub过程与Function过程最根本的区别是______。
A.前者可以使用Call或直接使用过程名调用,后者不可以
B.后者可以有参数,前者不可以
C.两种过程参数的传递方式不同
D.前者无返回值,但后者有
18.下面子过程语句说明合法的是______。
A.Subf1(ByValn()AsInteger)
B.Subf1(n()AsInteger)AsInteger
C.Functionf1(f1AsInteger)
D.Functionf1(ByValnAsInteger)AsInteger
二、程序填空题(10%,每空2分)
说明:
请在以下题中的__
(1)__、…、__(5)__处填入适当的内容,将程序补充完整。
【程序说明】从键盘输入一个任意的字符串,将该字符串的所有组成字符拆分开,再按照字符ASCII码从小到大的顺序将这些字符重新组成新的字符串。
例如输入“a4fkze5”,重新组合的字符串为“45aefkz”。
把程序补充完整。
PublicSubform_click()
DimxAsString,yAsString,tempAsString
Dimc()AsString
DimkAsInteger,iAsInteger,jAsInteger
x=InputBox("输入一个字符串")
k=len(x)
ReDimc(k)
Fori=1Tok
c(i)=_____
(1)_____
Nexti
Fori=1Tok-1
Forj=_____
(2)_____
If_____(3)_____Then
temp=c(i)
_____(4)_____
c(j)=temp
EndIf
Nextj
Nexti
y=""
Fori=1Tok
_____(5)_____
Nexti
Form1.Print"原始字符串";x
Form1.Print"重新组合的字符串";y
EndSub
三、程序阅读题(24%,每小题4分)
1.下列程序运行时单击Command1后,写出文本框Text1和Text2中Text的值。
【程序】
PrivateSubCommand1_Click()
DimxAsInteger,nAsInteger
n=1:
x=1
DoWhilex<20
n=n+1
x=x*(x+1)
Loop
Text1.Text="n="&n
Text2.Text="x="&x
EndSub
2.下面程序运行时,单击窗体后,请写出窗体上显示的结果。
【程序】
PrivateSubForm_Click()
DimA(4)AsInteger,nAsInteger
n=3
A
(1)=1
Fork=0Ton-1
Forj=1Tok+1
x=k+1
A(x)=A(x)+A(x-1)
IfkPrintA(x);
Ifj=k+1ThenPrint
Nextj
Printk
Nextk
EndSub
3.阅读下列程序,单击命令按钮时,写出窗体显示的结果。
【程序】
PublicSubPro(nAsInteger,ByValmAsInteger)
n=nMod10
m=mMod10
EndSub
PrivateSubForm_Click()
DimxAsInteger,yAsInteger
x=89:
y=76
Prox,y
Printx;y
EndSub
4.运行时,设文本框Text1.Text为空,在Text1获得输入焦点后,依次按下列按键:
"1"、"2"、"+"、"3"、"4"、"-"、"5"、"6"、回车键
分别写出文本框中和窗体上的输出结果。
【程序】
PrivateSubText1_KeyPress(kAsInteger)
IfkAsc("9")Then
k=0
PrintText1.Text
EndIf
EndSub
5.下图中放有本题的数据,且“运行”窗体按钮已指定宏excute。
写出单击“运行”按钮后的结果(下图中的数据不需再写出)。
【程序】
Functionage(idAsString)AsInteger
id=Trim(id)
IfLen(id)=18Then
age=Year(Date)-Val(Mid(id,7,4))
Else
age=Year(Date)-Val("19"+Mid(id,7,2))
EndIf
EndFunction
Subexcute()
DimnAsInteger,iAsInteger,yAsString
Cells(1,1).Activate
n=ActiveCell.CurrentRegion.Rows.Count
Cells(1,4)="称谓"
Fori=2Ton
IfCells(i,2)="男"Then
Cells(i,4)=Mid(Cells(i,1),1,1)+"先生"
Else
y=Cells(i,3).Value
Ifage(y)>=30Then
Cells(i,4)=Mid(Cells(i,1),1,1)+"女士"
Else
Cells(i,4)=Mid(Cells(i,1),1,1)+"小姐"
EndIf
EndIf
Nexti
EndSub
6.写出以下“宏”paint运行后,输入数字5后在当前工作表上的结果。
【程序】
Subpaint()
DimnAsInteger,iAsInteger,jAsInteger
n=InputBox("输入行数")
Worksheets
(1).Cells.ClearContents
Fori=1Ton
Forj=1To2*i-1
Ifj<=iThen
Cells(i,n-i+j).Value=j
Else
Cells(i,n-i+j).Value=2*i-j
EndIf
Nextj
Nexti
EndSub
四、程序设计题(30%,每小题10分)
1.在Form_Click()事件中编程。
程序运行后从键盘上输入x值,按下式计算并输出f(x)值,计算结果f(x)输出到Label1控件中。
2.按以下要求完成:
(1)定义自定义函数fact(n)求n的阶乘,返回类型是Double。
(2)在Form_Click()事件中求下式值,其中阶乘计算要求调用
(1)中定义的函数。
3.在EXCEL的工作表1的A1:
A20上随机产生20个两位正整数,将其中的偶数放入B列,奇数放入C列(从B1、C1顺序放入)。
求B列偶数中的最大数,并将它放入已有数据的下一个单元格中;调用EXCEL函数CountIf()求C列奇数中大于平均数的个数,并将它放入已有数据的下一个单元格中。
以上任务在宏名为“Kaoshi”的过程中完成。