VB程序设计复习资料.docx
《VB程序设计复习资料.docx》由会员分享,可在线阅读,更多相关《VB程序设计复习资料.docx(33页珍藏版)》请在冰豆网上搜索。
![VB程序设计复习资料.docx](https://file1.bdocx.com/fileroot1/2023-1/4/919ec746-1465-419b-89e8-ac566adb0794/919ec746-1465-419b-89e8-ac566adb07941.gif)
VB程序设计复习资料
《VB程序设计基础》复习资料
班级:
12机械设计制造及其自动化工本
教学大纲
一、课程的性质与目的和任务
VisualBasic是可视化编程的、面向对象的、由事件驱动的结构化程序设计语言,具有简单易学、直观形象、功能丰富、使用灵活等多方面的优点。
通过该课程的学习,掌握面向对象的程序设计方法,培养学生利用计算机解决实际问题的能力。
教学目的和任务:
掌握用VB编制应用程序的基本方法。
熟悉VB的常用控件,以及常用控件的常用属性,能熟练地阅读、理解、编制简短的VB程序,并上机调试。
掌握掌握面向对象程序设计的方法和编程技巧,能够灵活的使用VB编制解题程序。
二、课程的教学内容和基本要求
第一章VisualBasic6.0概述
教学内容:
编制VB应用程序的基本步骤;VB集成环境;VB的术语及相关概念;实例。
基本要求:
熟悉VB开发环境以及菜单、工具箱、工具栏、窗体、工程窗口和属性窗口的使用。
掌握应用程序(一个工程)的开发过程,如:
添加窗体、模块,保存工程。
了解面向对象程序设计、可视化编程、事件驱动等基本概念。
第二章基本数据类型与表达式
教学内容:
数据类型、常量与变量;运算符、表达式、常用内部函数;InputBox函数和MsgBox函数。
基本要求:
了解不同类型数据(常量、变量)的定义和使用方法;在熟悉常用函数的基础上,能够根据数学式、关系式写出VB表达式。
第三章顺序结构与常用控件
教学内容:
Print语句、赋值语句;建立控件,命令按钮控件,标签框控件,文本框控件。
基本要求:
熟悉以上控件的常用属性、方法,能够使用命令按钮或文本框控件用于编程(所谓常用属性、方法,是指教材中着重介绍或在例题中多次使用的属性、方法)。
第四章选择结构与常用控件
教学内容:
选择结构;单选按钮控件,复选框控件,框架控件。
基本要求:
掌握选择结构(行If、块If、SelectCase),控件的常用属性、方法,根据解题需要正确地选择控件、编制控件的相应事件过程。
第五章循环结构
教学内容:
for循环,当循环,do循环,多重循环
基本要求:
正确使用循环结构(For/Nex、ExitFor、Do/Loop、ExitDo、While/Wend)
第六章数组和基他控件
教学内容:
数组,数组的应用举例,控件数组,列表框和组合框控件,滚动条控件,定时器控件。
基本要求:
熟练掌握数组的定义、表示与使用;要求熟悉数组的选择排序(分类)或冒泡法等常用算法;以上控件的常用属性、方法,利用已学的控件建立控件数组。
根据解题需要正确地选择控件、编制控件的相应事件过程。
第七章过程
教学内容:
函数过程与SUB过程。
基本要求:
掌握Sub过程的定义与调用、Function函数过程的定义与调用;理解参数传递规则;变量和常量的作用域及生存期,包括相关的声明语句或关键字。
第八章图形控件与图形方法
教学内容:
VB坐标系,图片框控件,影像框控件,形状控件和直线控件,图形方法
基本要求:
以上控件的常用属性、方法;改变VB坐标系;画点、线(矩形)、圆(弧与椭圆);正确地使用颜色。
第九章对话框与菜单
教学内容:
通用对话框控件,菜单设计
基本要求:
通用对话框控件的建立和使用(如何打开不同对话框?
对话改变了控件的属性是什么?
);用菜单编辑器创建菜单;掌握菜单的常用属性;掌握菜单的Click事件。
第十章文件
教学内容:
与文件操作有关的控件,直接调用外部可执行文件的Shell方法,数据文件的操作。
基本要求:
理解文件的概念;熟练掌握驱动器列表框、目录列表框和文件列表框的功能和综合作用;顺序文件的基本操作。
第十一章数据库的应用
教学内容:
数据库的基本知识;数据控件
基本要求:
会建立简单的数据库,并会使用常用的数据控件。
三、学习进度
四、课程考核方式及题型本课程采用一页开卷考试,题目类型见五套样卷,题型和样卷一致。
五、教材
省教育厅重点教材《VisualBasic6.0程序设计》,2007年8月浙江大学出版社,张健等编。
VB练习题
(一)
一、判断题(每题1分,共10分)
()1.由VisualBasic语言编写的应用程序有解释和编译两种执行方式。
()2.文本框控件的MaxLength属性值为0时,在文本框内不可以输入任何字符。
()3.要使输入文本框的字符始终显示“#”,则应修改其PasswordChar属性为“#”。
()4.在一个窗体中不能使用Unload来卸载本窗体,即一个窗体只能由其它窗体卸载。
()5.VB的Double类型数据,可以精确表示其数值范围内的所有实数。
()6.在图片框中添加的控件,其Top和Left属性值是相对图片框而言的,与窗体无关。
()7.命令按钮不但能响应单击事件,而且还能响应双击事件。
()8.在自定义函数过程中,函数名必须被赋值。
()9.文本框控件只能响应KeyPress、KeyDown、KeyUp、Change事件。
()10.如果一个菜单项的Visible属性为False,则它的子菜单也会显示。
二、单选题(每题2分,共20分)
()11.要改变控件的高度,应修改控件的_______属性。
A、TopB、LeftC、HeightD、Width
()12.VB算术运算符乘或除、整除、求余的优先级,从高到低依次为_______。
A、乘或除、求余、整除B、乘或除、整除、求余
C、整除、求余、乘或除D、整除、乘或除、求余
()13.下列哪个属性用来表示标签(Label)的内容和窗体(Form)的标题_______。
A、CaptionB、TextC、LeftD、Name
()14.判断整型变量m能否被n整除的VB表达式为_______。
A、nModm=0B、m/n*n=mC、mModnD、m\n*n=m
()15.选中复选框控件时,Value属性的值为_______。
A、TrueB、FalseC、0D、1
()16.在窗体Form1的一个事件过程中,使用_______来清除窗体上所绘制的图形的方法是不正确的。
A、Form1.ClsB、Form.ClsC、Me.CLSD、Cls
()17.设计动画时通常用时钟控件_______属性来控制动画速度。
A、IntervalB、TimerC、MoveD、Enabled
()18.使用Circle方法不可以绘制的图形是_______。
A、圆角矩形B、椭圆C、圆饼图D、扇形
()19.运行时组合框控件Comb1中所选择的表项,可以表示为_______。
A、Comb1.TextB、Comb1.ListIndexC、Comb1.ListD、Comb1.ListCount
()20.若i的初值为9,则下列循环语句的循环次数为_______次。
DoWhilei<=20
i=i+3
Loop
A、3次B、4次C、5次D、6次
三、程序填空题(每空2分,共20分)
1.【程序说明】以下程序产生30个两位随机整数、并按从小到大的顺序存入数组a中,再将其中的奇数按从小到大的顺序在窗体中用紧凑格式输出。
PrivateSubForm_Click()
Dima(30)Asbyte,iasByte,jAsByte,mAsByte
Fori=1To30
a(i)=(21)
Nexti
Fori=1To29
Forj=(22)
Ifa(i)>a(j)Thenm=a(i)
(23)
a(j)=m
Nextj
Nexti
Fori=1To30
If(24)Then(25)
Nexti
EndSub
(21)(22)
(23)(24)(25)
2.【程序说明】下列程序运行时,单击Command1(0)后,图片每秒自动左移1毫米,单击Command1
(1)停止移动(当图片尾部移出窗体后,图片从窗体右端进入窗体)。
界面设计如下图1所示。
图1程序2的界面设计
【程序】
PrivateSubCommand1_Click(IndexAsInteger)
IfIndex=0Then(26)ElseTimer1.Enabled=False
EndSub
PrivateSubForm_Load()
Timer1.Interval=(27)
Form1.ScaleMode=6
(28)
EndSub
PrivateSubTimer1_Timer()
Picture1.Left=(29)
IfPicture1.Left+Picture1.Width<=Form1.ScaleLeftThen_
(30)=Form1.ScaleLeft+Form1.ScaleWidth
EndSub
(26)(27)
(28)(29)(30)
四、程序阅读题(每小题5分,共20分)
程序31、请写出单击窗体三次后,窗体上的显示结果。
PrivateSubForm_Click()
StaticaAsInteger
DimbAsInteger
b=a+b+2
a=a+b
Form1.Print"a=";a,"b=";b
EndSub
程序32、请写出单击窗体后,窗体上的显示结果。
PrivateSubForm_Click()
Fori%=1To7
PrintSpc(7-i);
Forj%=1To(2*i%)-1:
Print"M";:
Nextj%
Print
Nexti%
EndSub
程序33、写出程序运行时,单击Option1
(2)后,窗体上的显示结果。
PrivateSubForm_Load()
Option1(0).Value=False
Option1
(1).Value=False
Option1
(2).Value=False
EndSub
PrivateSubOption1_Click(IndexAsInteger)
IfOption1(Index).Value=TrueThen
SelectCaseIndex
Case0
Check1(0).Value=1:
Check1
(1).Value=0
Case1
Check1(0).Value=0:
Check1
(1).Value=1
Case2
Check1(0).Value=1:
Check1
(1).Value=1
EndSelect
IfCheck1(0).Value=1ThenPrint"您好"
IfCheck1
(1).Value=1ThenPrint"欢迎使用VisualBasic!
"
EndIf
EndSub
程序34、设Text1.Text为"abcdef",运行时连续单击3次控件HScroll1右侧箭头后,分别写出组合框控件中的第1项、第2项及第3项的内容。
PrivateSubForm_Load()
HScroll1.SmallChange=1:
HScroll1.Max=5
HScroll1.Min=1:
HScroll1.Value=1
Combo1.Clear
EndSub
PrivateSubHScroll1_Change()
Combo1.AddItemLeft(Text1.Text,HScroll1.Value),0
EndSub
五、程序设计题(每题10分,共30分)
35.编制事件过程Command1_Click,执行该过程时输入n以及n个数,计算这n个数的和并在文本框控件Text1中显示。
(10分)
36.编制通用函数过程fsum,计算Single类型一维数组所有元素的和。
(10分)
37.在窗体上建立命令按钮“Command1”(显示)和“Command2”(退出)。
运行时,“Command2”按钮始终显示“退出”;单击“显示”按钮后窗体上显示“欢迎使用VisualBasic!
”同时标题改为“清除”,再单击“清除”按钮后,界面恢复窗体装入时的初态。
(10分)
VB练习题
(一)参考答案
试题一、判断题(每小题1分,共10分)
1.√2.×3.√4.×5.×6.√7.√8.√9.×10.×
试题二、单选题(每小题2分,共20分)
11.C12.B13.A14.D15.D16.B17.A18.A19.C20.B
试题三、程序填空题(每空2分,共20分)
21.Int(Rnd*90)+1022.i+1To3023.a(i)=a(j)24.a(i)Mod2<>025.Printa(i);26.Timer1.Enabled=True27.100028.Timer1.Enabled=False29.Picture1.Left-130.Picture1.Left
试题四、程序阅读题(每小题5分,共20分)
31.a=2b=2
a=6b=4
a=14b=8
32.M
MMM
MMMMM
MMMMMMM
MMMMMMMMM
MMMMMMMMMMM
MMMMMMMMMMMMM
33.您好
欢迎使用VisualBasic!
34.abcdabcab
试题五、程序设计题(每小题各10分,共30分)
35.编制事件过程Command1_Click,执行该过程时输入n以及n个数,计算这n个数的和并在文本框控件Text1中显示。
PrivateSubCommand1_Click()
DimsAsSingle,nAsInteger,xAsSingle
n=InputBox("输入n")
Fori=1Ton
x=InputBox("x="):
s=s+x
Nexti
Text1.Text=s
EndSub
36.编制通用函数过程fsum,计算Single类型一维数组所有元素的和。
PrivateFunctionfsum(a()AsSingle,nAsSingle)AsSingle
DimiAsInteger
Fori=1Ton
fsum=fsum+a(i)
Nexti
EndFunction
37.在窗体上建立命令按钮“Command1”(显示)和“Command2”(退出)。
PrivateSubCommand1_Click()
IfCommand1.Caption="显示"Then
Print"欢迎使用VisualBasic!
":
Command1.Caption="清除"
Else
Form1.Cls:
Command1.Caption="显示"
EndIf
EndSub
PrivateSubCommand2_Click()
End
EndSub
PrivateSubForm_Load()
Form1.Cls:
Command1.Caption="显示"
EndSub
VB练习题
(二)
一、判断题(每题1分,共10分)
()1.VB是以结构化的Basic语言为基础、以事件驱动作为运行机制的可视化程序设计语言。
()2.用DIM定义数值变量时,该数值变量自动赋初值为0。
()3.移动框架时框架内控件也跟随移动,因此框架内控件的Left和Top属性值也随之改变。
()4.列表框和文本框一样均没有Caption属性,但都具有Text属性。
()5.图片框可以通过Print方法来显示文本。
()6.语句“FontName="宋体"”与“Form1.FontName="宋体"”的作用完全相同,无一例外。
()7.SetFocus方法是把焦点移到指定对象上,使对象获得焦点,该方法适用于所有控件。
()8.由于定时器控件在运行时是不可见的,因此在设置时可任意地将其放在任何位置。
()9.表示各控件对象的变量名的属性为Caption。
()10.决定对象是否可见的属性是Visible属性,决定对象可用性的属性是Enabled属性。
二、单选题(每题2分,共20分)
()11.下列哪个属性用来表示各对象(控件)的位置_______。
A、TextB、CaptionC、LeftD、Name
()12.List1.Clear中的Clear是_______。
A、方法B、对象C、属性D、事件
()13.将文本框控件的_______属性设置为True,可正常显示文本但不可编辑。
A、LockedB、EnabledC、MultiLineD、Visible
()14.取字符串Ax从第1个非空格符开始的连续5个字符,写作表达式_______。
A、Mid(Ax,1,5)B、Left(Trim(Ax),5)
C、Left(Ax,5)D、Mid(Trim(Ax),5)
()15.数学式(x+5)1/3写成VB表达式是_______。
A、(x+5)^1/3B、(x+5)^(1\3)C、(x+5)^1\3D、(x+5)^(1/3)
()16.要使Shape控件以实心方式填充,应该设置其_______属性。
A、FillColorB、FillStyleC、BackStyleD、Shape
()17.将命令按钮Command1设置为不可见,应修改该命令按钮的_______属性。
A、VisibleB、ValueC、CaptionD、Enabled
()18.将变量x、y中的最大数赋值给变量a,正确的表示为_______。
A、a=Ify>xThenyElsexB、Ify>xThena=y:
a=x
C、a=x:
Ify>xThena=yD、Ify>xThena=yElsea=xEndIf
()19.文本框控件Text4的Text属性默认值为_______。
A、Text4B、"Text4"C、LockedD、Name
()20.描述以(1000,1000)为圆心、以400为半径画1/4圆弧的语句,正确的是_______。
A、Circle(1000,1000),400,0,3./2
B、Circle(1000,1000),,400,0,3./2
C、Circle(1000,1000),400,,0,3./2
D、Circle(1000,1000),400,,0,90
三、程序填空题(每空2分,共20分)
1.【程序说明】利用一个计时器、一个标签框和二个命令按钮制作一个动态秒表,如图1所示。
单击“开始”命令按钮,秒表开始计时,单击“结束”命令按钮,秒表结束计时,并在标签框显示运行时间,如“运行了0小时2分10秒”。
(假设对象的属性都在程序代码中设定)
图1动态秒表
程序代码如下:
DimxAsLong
DimhAsInteger,mAsInteger,sAsInteger
PrivateSubForm_Load()
Form1.Caption="动态秒表(小时:
分:
秒)"
Command1.Caption="开始"
Command2.Caption="结束"
Label1.Alignment=”Center”
Label1.Caption="0:
0:
0"
Timer1.Interval=(21)
Timer1.Enabled=False
x=0
EndSub
PrivateSubCommand1_Click()
(22)
EndSub
PrivateSubCommand2_Click()
Timer1.Enabled=False
x=(23)
Label1.Caption="运行了"+Str(h)+"小时"+Str(m)+_
"分"+Str(s)+"秒"
EndSub
PrivateSubTimer1_Timer()
(24)
h=x\3600
m=(xMod3600)\60
s=(25)
Label1.Caption=Str(h)+":
"+Str(m)+":
"+Str(s)
EndSub
(21)(22)
(23)(24)(25)
2.【程序说明】本程序将1个大于100的偶数n分解为2个素数之和。
其中nflag逻辑型函数用于判断自然数x是否为素数。
PrivateSubForm_Click()
DimnAsInteger,xAsInteger,yAsInteger
n=Val(InputBox(”请输入1个大于100的偶数”,”输入数据”,100))
Forx=3Ton\2Step2
Ifnflag(x)Then
y=(26)
Ifnflay(y)Then
Form1.Printn;”=”;x;”+”;y:
ExitFor
EndIF
EndIf
(27)
EndSub
Functionnflag(xAsInteger)
DimflagAsBoolean
k=2:
m=Int(Sqr(x))
flag=(28)
DoWhilek<=m
IfxModk=0Thenflag=False
(29)
Loop
nflag=(30)
EndFunction
(26)(27)
(28)(29)(30)
四、程序阅读题(每小题5分,共20分)
程序31、写出程序运行时单击窗体后,Form1上的输出结果。
PrivateSubForm_click()
Dimxasstring
Dimiasinteger,nasinteger
Form1.cls
x=”ABCDEFG