VB+VBA期末考卷城市学院.docx
- 文档编号:6696626
- 上传时间:2023-01-09
- 格式:DOCX
- 页数:11
- 大小:62.87KB
VB+VBA期末考卷城市学院.docx
《VB+VBA期末考卷城市学院.docx》由会员分享,可在线阅读,更多相关《VB+VBA期末考卷城市学院.docx(11页珍藏版)》请在冰豆网上搜索。
VB+VBA期末考卷城市学院
年级:
_____________专业:
_____________________班级:
_________________学号:
_______________姓名:
__________________
…………………………………………………………..装………………….订…………………..线………………………………………………………
诚信应考考出水平考出风格
浙江大学城市学院
2010—2011学年第二学期期末考试试卷
《VB程序设计基础与VBA应用》
开课单位:
计算分院;考试形式:
闭卷;考试时间:
2011年6月28日
所需时间:
120分钟
题序
一
二
三
四
总分
得分
评卷人
得分
一、单选题(本大题共13题,每题2分,共26分。
)
题号
1
2
3
4
5
6
7
8
9
10
11
12
13
得分
二、程序填空题(本大题共1题10空,每空2分,共20分。
)
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
得分
三、程序阅读题(本大题共6题,每题4分,共24分)
第1题:
第2题:
第3题:
第4题:
第5题:
第6题:
得分
四.程序设计题(本大题共3题,每题10分,共30分。
)
第1题:
.
SubForm_Click()
DimyearAsInteger
EndSub
第2题:
.
Functionfact(nAsInteger)AsDouble
EndFunction
SubForm_Click()
DimxAsSingle,sAsSingle
EndSub
第3题:
.
SubCommandButton1_Click()
EndSub
年级:
_____________专业:
_____________________班级:
_________________学号:
_______________姓名:
__________________
…………………………………………………………..装………………….订…………………..线………………………………………………………
浙江大学城市学院
2010—2011学年第二学期期末考试试卷
《VB程序设计基础与VBA应用》
开课单位:
计算分院;考试形式:
闭卷;考试时间:
2011年6月28日
所需时间:
120分钟
一、单选题(36%,每小题2分)
1.函数(Int(46*Rnd)+5)*2的值是在___范围内的偶数?
A.[0,100]B.[0,98]C.[10,100]D.[10,98]
2.哪一条语句执行后将会删除文本框Text1中的文本?
A.Text1.Text=””B.Text1.SelText=””
C.Text1.ClearD.Text1.SelText.Clear
3.下列各组函数中,函数值类型相同的一组是 。
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)
4.判断变量x、y中有且只有一个为0的下列各表达式中,正确的是 。
A.x=0Ory=0andx*y<>0B.x+y=0andx*y<>0
C.x+y<>0andx*y=0D.x=0andy<>0
5.设置EXCEL某个区域的内部颜色,需设置的ColorIndex属性。
A.ForeColorB.BackColorC.InteriorD.Inside
6.若变量i的初值为9,则下列循环语句的循环次数为 次。
DoWhilei<=20
i=i+3
Loop
A.3次B.4次C.5次 D.6次
7.窗体通用部分的语句“OptionBase1”,决定本窗体中数组下标 。
A.下界必须为1 B.缺省的下界为1
C.下界必须为0 D.缺省的下界为0
8.在声明Dimx(0to3,3to4)后,x数组可存放元素 个。
A.4B.6C.8D.12
9.Excel-VBA有多达100个以上的对象,这些对象构建了对象模型。
以下对象哪个所处的层次较高?
A.RangeB.Workbooks
C.WorkSheetsD.Application
10.用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
11.若某过程声明为Subaa(nAsInteger),则以下调用正确的是______。
A.aa(y)B.Callaa()C.aayD.z=aa(y)
12.Sub过程与Function过程最根本的区别是______。
A.前者可以使用Call或直接使用过程名调用,后者不可以
B.后者可以有参数,前者不可以
C.两种过程参数的传递方式不同
D.前者无返回值,但后者有
13.下面子过程语句说明合法的是______。
A.Subf1(ByValn()AsInteger)
B.Subf1(n()AsInteger)AsInteger
C.Functionf1(f1AsInteger)
D.Functionf1(ByValnAsInteger)AsInteger
二、程序填空题(20%,每空2分)
说明:
请在以下题中的__
(1)__、…、__(5)__处填入适当的内容,将程序补充完整。
1.随机产生30个两位正整数并存入数组a中,按从小到大的顺序排序,再将其中互不相同的数按从小到大的顺序在窗体中输出,并统计互不相同数的个数,最后输出互不相同数的个数。
把程序补充完整。
【程序】
PrivateSubForm_Click()
Dima(30)AsInteger,iAsInteger,jAsInteger
DimtempAsInteger,countAsInteger
Fori=1To30
a(i)=______
(1)______
Nexti
Fori=1To29
Forj=______
(2)______
Ifa(i)>a(j)Then
______(3)______
a(i)=a(j)
a(j)=temp
EndIf
Nextj
Nexti
Printa
(1)
______(4)______
Fori=2To30
Ifa(i)<>a(i-1)Then
______(5)______
count=count+1
EndIf
Nexti
______(6)______
EndSub
2.以下程序是一个模拟抽奖的小游戏。
单击“Start”按钮开始抽奖,文本框中轮流显示数据区A2:
A17单元格中的内容(模拟客户姓名),同时命令按钮的Caption属性修改为“Stop”;单击“Stop”按钮时,程序运行结束,文本框中显示获奖人的姓名并在B列的对应单元格填上“T”。
游戏规定每人只能中奖一次,一旦中奖(已标记“T”)则不能再次中奖(下图为三人已中奖过)。
【程序】
PrivateSubCommandButton1_Click()
DimjAsLong
j=Range("A1").CurrentRegion.Rows.Count
IfCommandButton1.Caption="Start"Then
______(7)______
Else
CommandButton1.Caption="Start"
EndIf
DoWhileCommandButton1.Caption="Stop"
i=Int((j-1)*Rnd+2)
IfCells(i,2)=""Then
TextBox1.Text=______(8)______
Cells(i,1).Select
EndIf
DoEvents’该函数返回转让控制权,理解为终止循环
______(9)______
ActiveCell.Offset(0,1).Value=______(10)______
EndSub
三、程序阅读题(24%,每小题4分)
1.下列程序运行时,单击窗体后,请写出窗体上显示的结果。
【程序】
PrivateSubForm_Click()
DimkAsInteger,iAsInteger
k=2
Fori=100To200
IfiMod10=0Then
Printi;
k=k+1
IfkMod5=0ThenPrint
EndIf
Nexti
EndSub
2.下面程序运行时,单击窗体后,请写出窗体上显示的结果。
【程序】
PrivateSubForm_Click()
DimA(5)AsInteger,iAsInteger,jAsInteger
A
(1)=1
PrintA
(1)
Fori=2To5
A(i)=A(i-1)
Forj=i-1To2Step-1
A(j)=A(j)+A(j-1)
Nextj
Forj=1Toi
PrintA(j);
Nextj
Nexti
EndSub
3.阅读下列程序,单击命令按钮时,写出窗体显示的结果。
【程序】
PublicSubPro(nAsInteger,ByValmAsInteger)
DimiAsInteger
n=n+m
m=0
Fori=nTom
m=m+i
Nexti
EndSub
PrivateSubForm_Click()
DimxAsInteger,yAsInteger
x=59:
y=63
Printx;y
Prox,y
Printx;y
EndSub
4.运行时,设文本框Text1.Text为空,在Text1获得输入焦点后,依次按下列按键:
"1"、","、"23"、";"、"45"、"="、回车键
分别写出文本框中和窗体上的输出结果。
【程序】
PrivateSubText1_KeyPress(kAsInteger)
Ifk
k=0
PrintText1.Text
EndIf
EndSub
5.下图中放有本题的数据,对B1:
B5单元格应用“用户定义”函数bi,写出B1:
B5单元格的结果。
【程序】
Functionbi(xAsInteger)AsLong
DimsAsLong,nAsLong
s=0
n=1
DoWhilex<>0
s=s+(xMod2)*n
x=x\2
n=n*10
Loop
bi=s
EndFunction
6.写出以下“宏”paint运行后在当前工作表上的结果。
【程序】
Subpaint()
DimxAsString,iAsInteger,jAsInteger,pAsInteger
x="浙江大学城市学院"
Fori=1To8
Ifi<=4Then
p=5-i
Else
p=i-4
EndIf
Forj=1Top
Cells(i,j)=Mid(x,i,1)
Nextj
Nexti
EndSub
四、程序设计题(30%,每小题10分)
1.在Form_Click()事件中编程。
从键盘输入年份,判断该年份是否为闰年,计算结果输出到Label1控件中。
(判断闰年的条件是:
年份能被4整除但不被100整除,或年份能被400整除。
)
2.按以下要求完成:
(1)定义自定义函数fact(n)求n的阶乘,返回类型是Double。
(2)从键盘输入X,求下式值,直到最后一项绝对值小于10^(-6)。
其中阶乘计算要求调用
(1)中定义的函数,代码写在Form_Click()事件中。
3.在EXCEL的当前工作表中有一批数据需要统计,将超过平均值的数据用红色标注(数据所在的行列范围不定)。
为统计方便,已在该工作表中建立CommandButton1命令按钮。
提示:
工作表上已用区域可用UsedRange属性和行、列属性确定,平均值计算可以使用EXCEL的Average函数,代码写在当前工作表CommandButton1_Click()事件中。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VB VBA 期末 考卷 城市 学院