电大电大VISUALBASIC 形成性考核册参考答案.docx
《电大电大VISUALBASIC 形成性考核册参考答案.docx》由会员分享,可在线阅读,更多相关《电大电大VISUALBASIC 形成性考核册参考答案.docx(33页珍藏版)》请在冰点文库上搜索。
电大电大VISUALBASIC形成性考核册参考答案
《VisualBasic程序设计》形成性考核册作业及答案
2012年
《VisualBasic程序设计》形成性考核册作业及答案
作业1
一、选择题
1、在设计应用程序时,可以查看到应用程序工程所有组成部分的窗口是(D)。
?
?
A、窗体设计?
?
?
B、代码?
?
?
?
?
C、属性?
?
?
D、工程资源管理器窗口
2、窗体的load事件的触发时机是(B)。
?
A、用户单击窗体时?
B、窗体被加载时?
?
C、窗体显示之后?
?
D、窗体卸载时
3、与传统的程序设计语言相比,VisualBasic最突出的特点是(C)。
?
A、结构化程序设计?
B、程序开发环境?
C、事件驱动编程机制?
?
D、程序调试技术
4、VB6.0集成开发环境的主窗口中不包括(C)。
?
?
A、标题栏?
?
?
B、菜单栏?
?
?
C、状态栏?
?
?
D、工具栏
5、如果对象的名称为Mytext,而且对象有一个属性Text,那么在代码中引用该属性的正确格式是(B)。
?
?
A、text.Mytext?
?
?
?
B、Mytext.Text?
?
?
C、Mytext.(Text)?
D、Mytext*Text
6、下列可以激活属性窗口的操作是(D)。
?
?
A、用鼠标双击窗体的任何部位?
?
?
B、执行“工程“菜单中的”属性窗口“命令
?
?
C、按Ctrl+F4?
?
?
?
?
?
?
D、按F4
7、假定已在窗体上画了多个控件,并有一个控件是活动的,为了在属性窗口中设置窗体的属性,预先应执行的操作是(A)。
?
?
A、单击窗体上没有控件的地方?
?
?
?
?
B、单击任一个控件?
?
?
?
C、不执行任何操作?
D、双击窗体的标题栏
8、如果要在文本框键入字符时,只显示某个字符,如果(*),应设置文本框的(B)属性。
?
?
A、Caption?
?
?
B、PasswordChar?
?
C、Text?
?
?
D、Char
9、如果想要在文本框中的内容在运行时不能编辑,需要文本框的(A)属性设置为True.
ALocked?
?
?
?
?
?
?
?
?
B、MultiLine?
?
?
?
?
C、TabStop?
DVisible
10对于定时器(Tiner)控制,设置其定时是否开启的属性是(C)
A、Index?
?
?
?
?
?
?
?
?
B、Tag?
?
?
?
?
?
?
?
?
?
?
C、Enabled?
D、Left
11、要在窗口体Fornl内显示“myfrm”使用的语句是(C)
A、Form.caption=“myfrm”B、Fornl.caption=“myfrm”
C、forml.print“myfrm”D、form.print“myfrm”
12、对象的性质和状态特征称为(C)
A、事件?
?
?
?
?
?
?
?
B、方法?
?
?
?
?
?
?
?
?
?
C、属性?
?
?
?
?
?
D、类
13、下列正确的赋值语句是(B)
A、x+y=20?
?
?
?
?
?
B、y=x+20?
?
?
?
?
?
?
?
?
C、3x=y?
?
?
?
D、s=
14、当使用上下文相关的帮助时,选择要帮助的内容,然后按(D)键,就可出现MSDN窗口直接显示所需的帮助信息。
?
?
A、Help?
?
B、F10?
?
?
?
C、Ese?
?
?
?
?
D、F1
15、将调试通过的工程经“文件”菜单的“生成.exe文件“编绎成名.exe后,将该可执行文件放到其它机器上不能运行的主要原因是(D)。
A、运行的机器上无VB系统?
?
?
?
?
B、缺少.frm窗体文件?
?
?
C、该执行文件有病毒?
?
?
D、以上原因都不对
二、填空题
1、当进入VB集成开发环境后,发现没有显示“工具箱”窗口。
应选择视图菜单的?
?
?
?
?
?
?
?
?
?
?
?
?
?
工具箱选项,使“工具箱”窗口显示。
2、在VB中,事件过程名由对象名和?
事件名?
构成。
3、工程文件的扩展名是?
vbp,窗体文件扩展名是?
frm?
。
4、对象时代码和数据的集合,例如,VisualBasic中的?
窗体、?
按钮、
?
文本框?
?
等都是对象。
5、对象的方法用于?
实施某种操作功能?
。
当方法不需要任何参数并且也没有返回值,调用对象的方法的格式为?
对象名.方法名?
?
。
例如对窗体Forml使用Show方法,应写成?
form1.show?
?
。
6、要使文本框显示滚动条,需要将其ScrollBars?
属性设置为?
3?
。
7、欲设置定时的时间间隔为4秒,则属性Interval的值为?
4000。
8、要使标签框的大小随Caption属性做自动调整,应将AutoSize?
属性设置为?
True?
。
9、通过?
窗体布局窗口?
可以在设计时直观地调整窗体在屏幕的位置。
10、要想在代码中给名为txtshow的文框赋予文本:
GOODWORK!
时,应当编写的语句是?
txtshow.text=”GOODWORK!
”?
。
11、若命令按钮的名称为Cmdopen,程序要求单击以上命令按钮,打开一个窗口frml,请对以下事件过程填空。
PrivateSubCmdopen?
?
?
?
click()?
?
Frm1.show?
EndSud
12、事件就是对象上所发生的事情,VisualBasic中的事件如单击?
、?
装入?
、
?
鼠标移动等。
一个对象响应的事件可以有?
多个,用户不能建立新的事件。
事件过程是指?
响应某个事件后所执行的代码?
。
假设某一事件过程如下:
PrivateSubcmd1_Click()
?
Form1.Caption=”VB示例”
EndSub
则响应过程的对象名是?
cmd1?
,事件名是?
Click?
。
?
?
?
?
?
13、对象的方法用于在对象上实施某种操作功能?
。
当方法不需要任何参数并且也没有返回值,调用对象的方法格式为?
对象名.方法名?
,例如,对窗体Form1使用Show方法,应写成?
Form1.Show?
。
14、为了在编写代码时能自动语法检查,必须执行工具?
?
菜单中的?
选项?
?
?
命令,打开?
选项?
对话框,然后选择“编辑器”选项卡中的自动语法检测。
15、定时器(Timer)控件可识别的事件是Timer,了生该事件的时间间隔定时由定时器的?
Interval属性设置,其单位为毫秒。
?
?
三、问答题
1、什么是可视化编程和事件驱动?
?
?
?
?
?
?
?
?
?
?
?
答:
可视化编程是指无须编程,仅通过直观的操作方式即可完成界面的设计工作的这种编程方式。
当VB的应用程序运行后,系统处于等待状态,当某个事件发生后,程序就去执行此事件的事件过程,当这个事件过程执行完后,系统又处于等待另一个事件发生的状态,这就是事件驱动程序方式。
2、对象、属性、事件和文件之间的关系如何?
答:
对象是代码和数据的封装体。
对象的操作通过与该对象有关的属性、事件、方法来描述。
属性是一个对象的基本特性,每个对象都有它自己的属性。
方法是对象要执行的动作。
事件是在对象上所发生的事情。
3、简述事件驱动机制与传统编程方式的不同。
答:
传统的面向过程的应用程序中,应用程序自身控制了执行那一部分代码按何种顺序执行代码,程序从第一行代码开始执行并按应用程序中预定的路径执行,用户无法改变程序的执行流程。
而事件驱动机制则由用户来决定执行的路线。
这就是两者的不同。
4、简述事件驱动的工作过程。
答:
事件驱动的工作过程如下:
(1)启动应用程序,装载和显示窗体。
(2)窗体或窗体上的控件等待事件的发生。
(3)当某个事件发生后,执行其对应的事件过程代码。
(4)重复执行
(2)和(3),直到遇到END语句或单击“结束”按钮停止程序的运行。
四、程序设计题
1、在窗体上添加一个文本框和两个命令按钮,并把两个命令按钮的标题分别设置为“隐藏文本框”和“显示文本框”。
当单击第一个命令按钮时,文本框消失;而当单击第二个命令按钮时,文本框重新出现,并在文本框中显示“VB程序设计”(字体大小为16)。
程序运行界面如图所示。
图1
解:
“隐藏文本框”按钮中的代码为:
Text1.Visible=False
“显示文本框”按钮中的代码为:
Text1.Visible=True
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
Text1.Text=”VB程序设计”
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
Text1.FontSize=”16”
2、设计一个计算程序。
该程序用户界面如图2所示,由四个文本框:
文本框1(text1)、文本框2(text2)、文本框3(text3)、文本框4(text4),和三个按钮:
命令按钮1(command1)、命令按钮2(command2)、命令按钮3(command3)组成。
程序运行后,用户按清除按钮,则清除文本框中显示的内容,按计算按钮,则计算三科平均成绩。
单击退出按钮则退出。
解:
command1中的代码为:
text1=””:
text2=””:
text3=””:
text4=””
command2中的代码为:
text4=(val(Text1)+val(Text2)+val(Text3))/3
command2中的代码为:
End
3、编写一收款计算程序。
要求用户输入商品的“单价”、“数量”和“折扣”后,单击“计算”按钮显示“应付款”,单击“清除”按钮,清除文本框中所有的数据。
程序运行界面如图3所示。
答:
“计算”按钮的代码:
text4=val(Text1)*val(Text2)*val(Text3)/100
“清除”按钮的代码:
text1=””:
text2=””:
text3=””:
text4=””
作业2
一、选择题
1.按照变量的作用域可将变量划分为(B?
?
)。
A、公有、私有、系统?
?
?
?
?
?
?
?
B、全局变量、模块级变量、过程变量
C、动态、常数、静态?
?
?
?
?
?
?
?
D、Public、Private、Protected
2.可获得字符的ASCII码的函数是( C )。
A、Val B、Fix C、Asc?
?
?
?
D、Chr
3、要退出Do….Loop循环,可使用的语句的( D )语句。
A、Exit?
?
B、Exit?
For?
?
C、EndDo?
?
D、ExitDo
4.把数值型转换为字符串型需要使用的函数是(B )。
A、Val?
?
?
B、Str?
?
C、Asc?
?
?
D、Chr
5.关于语句行,下列说法正确的是( B )。
A.一行只能写一条语句 B.一条语句可以分多行书写
C.每行的首字符必须大写 D.长度不能超过255个字符
6.表达式6+10Mod4*2+1的值是( A ).
A.9 B.11 C.1 D.3
7.以下可以作为VisualBasic变量名的是(B).
A.SIN?
?
?
?
?
B.CO1?
?
?
C.COS(X)?
D.X(-1)
8.表达式Abs(-5)+Len(“ABCDE”)的值为(C).
A.5ABCDE B.-5ABCDE?
?
?
?
?
C.10?
?
?
?
D.0
9.在代码编辑器中,如果一条语句太长,无法在一行内写下(不包括注释),要折行书写,可以在行末使用续行字符(A),表示下一行是当前行的继续.
A.一个空格加一个下划字符(_) B.一个下划字符(_)
C.直接回车 ?
?
?
?
?
?
?
?
?
?
D.一个空格加一个字符(-)
10.Sub过程与Function过程最根本的区别是(D).
A.Sub过程可以使用Call语句或直接使用过程名调用,而Function过程不可以.
B.Function过程可以有参数,Sub过程不可以.
C.两种过程参数的传递方式不同.
D.Sub过程的过程名不能返回值,而Function过程能够通过过程名返回值.
11."X是小于80的非负数",用VB表达式表示正确的是(C).
?
A..0≤X<80?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
B.0<=X<80
?
C.0<=xandx<80?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
D.0<=xOrx<80
12.在设计菜单时,如果要在菜单中加入一个菜单分隔条,则菜单分隔条的标题必须设置为(B)
A.加号(+)?
?
?
?
?
B.减号(-)?
?
?
?
C.星号(*)?
?
D.感叹号(!
)
13.如果要在程序中显示一个弹出式菜单,那么要调用VisualBasic中提供的方法是(D).
?
A.Print?
?
?
?
?
?
?
?
B.Move?
?
?
?
?
?
C.Refresh?
?
D.PopupMenu
14.下列可以用来存储图像供其他对象使用的控件是(C).
?
A.ToolBar?
?
?
?
?
B.StatursBar?
?
?
C.ImageList?
?
D.TreeView
15.当单击工具拦上的按扭时,会触发的事件是(A).
?
A.ButtonClick?
?
?
B.Change?
?
C.Load?
?
?
?
?
?
?
D.KeyPress
16.要利用公用对话框控件来显示”打开文件”对话框,需要调用控件的(B)方法.
?
A.ShowPrinter?
?
B.ShowOpen?
?
C.ShowSave?
?
?
D.ShowColor
17.对于窗体级变量,下列说法中错误的是(C).
A.所在窗体的各子程序都可以访问
B.其他窗体的子程序不能访问
C.所在窗体发子程序不能访问用Private定义的窗体级变量
D.一定要在所在窗体的通用区内定义
18.从一个字符串中的第3个字符开始,获取5个字符,应使用(B)
?
A.Len函数?
?
B.Mid函数?
?
C.Left函数?
?
?
?
D.Right函数
19.用下面的语句所定义的数组的元素的个数是(D).
?
DimA(-3To5)As?
Integer
?
?
A.6?
?
?
?
B.7?
?
C.8?
?
?
?
?
?
?
?
D.9
20.有如下程序段:
DimstrlAsString*5
Strl=”VisualBasic”
当该段程序被执行完时,变量strl的值为(B).
?
A.”Visual”?
?
?
B.”Visua”?
?
C.”V”?
?
D.”Visual?
Basic”
二、填空题
1.菜单一般有_下拉式_和_弹出式__两种基本类型。
2.通用对话框控件可显示的常用对话框有__打开_、_保存_、__颜色_、__字体_、__打印_。
3.组合框具有__文本框_和__列表框_两种控件的基本功能。
4.要使数组的默认下标从“1开始,则应在窗体或标准模块代码的声明部分使用语句__OptionBase1_。
5.调用Sub过程时,使用__call__语句,语句用于把程序控制传送到一个VisualBasic的Sub过程。
6.若已建立了Form1和Form2两个窗体,默认启动窗体为Form1。
通过_工程_菜单__属性_命令的_通用_选项卡,可将启动窗体设置为Form2。
在程序中若要显示Form1窗体,则执行_Form1.show_语句。
7.列表框中项目的序号是从_0_开始的。
8.Sub过程与Function过程最根本的区别是_Sub过程名无返回值,Function过程名有返回值。
9.VB的代码存储在模块中。
在VB中提供了三种类型的模块:
_类模块_、_窗体模块__和_标准模块_。
10.使用Hide方法会隐藏被调用的窗体,但是在调用Hide方法之后不会把窗体__卸载_,被调用的窗体中的属性等已处于_内存中_。
11.将下列数学式子写成VisualBasic表达式。
?
⑴?
答:
2*cos(a)*sin(a)/(2*a)
?
⑵答:
sqr(s*(s-a)*(s-b)*(s-c))
?
⑶sin45°:
sin(45*2*3.1415/360)_
12.将下列数学式子各条件写成VisualBasic逻辑表达式。
?
⑴1≤x<12:
1<=xandx<12
?
⑵A+B≥C或a-c≤c:
(A+B)>=COR(a-c)<=c
?
⑶a和b都为正整数或同为负数:
(a>=0andb>=0)or(a<=0andb<=0)
13.设A=2,B=3,C=4,D=5。
表达式NotA<=COr4*B^2AndB<>A+C的值为_False_。
14.在VisualBasic语言中有三种形式的循环结构。
其中,若循环的次数可以事先确定,可使用_For…next__循环;若要求先判断循环进行的条件,可使用_Dowhile…loop_循环或_while…Wend_循环。
15.以下语句的输出结果是__3_。
a%=3.14159
Printa%
三、阅读下列程序,写出程序运行结果。
1、PrivateSubForm_Click()
?
?
?
?
?
?
?
StaticSumAsInteger
?
?
?
?
?
?
?
ForI=1to100
?
?
?
?
?
?
?
?
Sum=Sum+I
?
?
?
?
?
?
?
NextI
PrintSum
EndSub
程序运行结果为:
1+2+…….+99+100=5050
2、privateSubForm_Click()
?
?
?
?
A=10:
b=15:
c=20:
d=25
?
?
?
?
PrintA;Spc(5);b;Spc(7);c
?
?
?
?
PrintA;Spc(8);b;Space$(5);c
?
?
?
?
Printc;Spc(3);”+”;Spc(3);c+d
?
?
EndSub
10(5个空格)15(7个空格)20
10(8个空格)15(5个空格)20
20(三个空格)+(三个空格)45
3、PrivateSubForm_click()
?
?
?
?
Fori%=1to3
?
?
?
?
?
?
Forj%=1toi
?
?
?
?
?
PrintLTrim(Str(i%))+“*”+LTrim(Str(j%))+“=”;i%*j%;
?
?
?
?
?
?
?
?
?
Nextj%
?
?
?
?
?
?
?
Print
Nexti%
EndSub
1*1=1
2*1=2?
2*2=4
3*1=3?
3*2=6?
3*3=9
?
4、PrivateSubCommand1_Click()
?
Dima,bAsInteger
?
?
A=3.4
B=3.4
Text1.Text=a
Text2.Text=b
EndSub
Text1显示3、4
Text2显示3
5、PrivateSubForm_Click()
?
?
?
?
ForI=1to5
?
?
?
?
?
?
?
PrintTab(11–I)
?
?
?
?
?
ForJ=1ToI*2–1
?
?
?
?
?
?
?
?
?
?
?
?
?
Print“*”;
?
?
?
?
?
?
?
Next
?
?
?
?
?
?
Nexti
EndSub
?
?
?
?
?
?
?
?
?
?
?
?
?
?
*
?
?
?
?
?
?
?
?
?
?
?
?
?
***
?
?
?
?
?
?
?
?
?
?
?
?
*****
?
?
?
?
?
?
?
?
?
?
?
*******
?
?
?
?
?
?
?
?
?
?
*********
?
四、程序设计题
1、购物优惠程序。
某商场为了加速促成商品流通,采用购物打折的优惠办法,每位顾客一次购物
(1)在100元以上者,按九五折优惠;
(2)在200元以上者,按九折优惠;(3)300元以上者,按八折优惠;(4)500元以上者按七折优惠。
在窗体上添加两个文本框和一个命令按钮,要求在Text1中输入购物商品总金额,单击命令按钮,在Text2中输入优惠后的价格。
程序运行结果如图解所示。
?
IfVal(text1)>=500thentext2=Val(text1)*0.7
ElseifVal(text1)>=300thentext2=Val(text1)*0.85
?
ElseifVal(text1)>=200thentext2=val(text1)*0.9
?
Elseifval(text1)>=100thentext2=val(text1)*0.95
Endif
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
2、输出100~200之间不能被3整除的的数,要求用Do语句的一种形式来实现,程序运行结果如图5所示。
窗体的装入事件中加入如下代码:
Dimaasinteger
A=100
Dowhilea<=200
If(amod3)<>0then
List1.additenstr(a)
Endif
A=a+1
loop
3、编写程序,打印如下的乘积表:
DimI,jasinteger
Print”*”:
space(5):
Fori=3to12step3
?
Printstr(i);space(5);
Nexti
Print
ForI=15to18
Printstr(i);space(3);
Forj=3to12step3
Printstr(i*j);space(4);
Nextj
Print
Nextj
?
4、设计一个计算程序。
该程序用户界面如图7所示。
要求程序运行后,用户选中单击选按钮,则程序作10和2的相应计算,并把计算结果在文本框中显示出来。
如用户选中加法单选按钮,则程序作10和2的相加,计算结果12在文本框中显示出来。
按结束,则退出。
乘法单选按钮的单击事件中添加如下代码:
Text1=10*2
除法单选按钮中添加如下代码:
Text1=10/2
加法单选按钮中添加如下代码:
Text1=10+2
减法单选按钮中添加如下代码:
text1=10-2
结束按钮中代码:
end或unloadme
5、编写输入一个0~6数字,显示汉字对照输出星期的Function过程。
程序运行结果如图8所示。
文本框的change事件中代码如下:
Selectcaseval(text1)
Case0
Label1.caption=”星期天”+chr(13)+”(Sunday)”
Case1
Label1.caption=”星期一”+chr(13)+”(monday)”
Case2
Label1.caption=”星期二”+chr(13)+”(Tuesday)”
Case3
Label1.caption=”星期三”+chr(13)+”(wednesday)”
Case4
Label1.caption=”星期四”+chr(13)+”(thursday)”
Case5
Label1.caption=”星期五”+chr(13)+”(firday)”
Case6
Label1.caption=”星期六”+chr(13)+”(saturday)”
Endselect
?
6、编写一个程序,当鼠标移到Picturel控件时,鼠标指针改变形状;当在Picturel控件上单击鼠标右键时,通过消息框显示“Youpressedrightbutton”,并再次改变鼠标指针的形状。
Picture1_mouseup
Ifbutton=2then
I=1
Msgbox”youpressedrightbutton”
Endif
Endsub
7、列表框应用程序。
要求从文本框中输入姓名,然后按“添加”按钮,把姓名添加到