二级VB等考(第一阶段)_第1页
二级VB等考(第一阶段)_第2页
二级VB等考(第一阶段)_第3页
二级VB等考(第一阶段)_第4页
二级VB等考(第一阶段)_第5页
已阅读5页,还剩190页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2014年3月等级考试辅导

二级VisualBasic开学前上课安排上午(8:30~11:30)下午(14:30~17:30)周二明理B409思学C303周三明理B409+407思学C303周四明理B409+413周五明理B409+407明理B102周六明理B409+407明理B102QQ群的使用验证信息:姓名+学号网上答疑课件和作业下载本班QQ群号:85105099冲刺等级考试贵在持之以恒!坚持就是胜利!课程安排第一阶段基础铺垫:教材第一章到第十二章第二阶段进阶提高:考点难点+重要算法+控件第三阶段进攻专项:专题+公共基础第一讲认识VB

第1章VB开发环境1

第2章对象及其操作2VB文件类型Vbg工程组文件Vbp工程文件Frm窗体文件Bas标准模块Cls类模块Res资源文件VB程序的运行解释方式(按F5键)编译方式VB对象窗体Form1文本框Text1命令按钮Command1都是对象P6-对象1.对象属性:表示对象的状态VB对象的考察重点为对象的属性、方法、事件。Form1的Caption属性Command1的Caption属性Text1的Text属性给对象属性赋值的两种方法:在属性窗口进行赋值;在代码窗口使用赋值操作

格式为:

对象名.属性名=新设置的属性值P7-对象的常见属性

Name:每个对象都有的属性,标示对象的名称

Caption:大部分对象具有该属性,标示对象的标题

Height、WidthTop、LeftEnabled

VisibleFont

PictureForeColorBackColor对窗体和其它大部分控件适用的属性P6-对象2.对象事件

对象事件是由VisualBasic预先设置好的、能够被对象识别的动作。事件过程是响应某个事件后所执行的操作实现的一段代码。例1PrivateSubCommand1_Click()Text1.Text="欢迎使用VisualBasic"

EndSubP7-对象3.对象方法对象所能够使用的特殊函数和过程称为方法,它是对象所能执行的特定操作。

[对象名].方法名例2Text2.SetFocus课堂练习在名称为Form1的窗体上画两个命令按钮,其名称分别为C1和C2,标题分别为“命令按钮1”和“命令按钮2”,通过属性窗口设计适当的属性,使得程序运行后,“命令按钮2”隐藏。编写适当的事件过程,使得单击“命令按钮1”,则“命令按钮2”出现,“命令按钮1”隐藏;而如果单击“命令按钮2”,则“命令按钮1”出现,“命令按钮2”隐藏。程序的运行情况如图所示。如何设置按钮的Enabled属性?上机教程P18【真题2.2】捷成第9套基本操作题第1题两个命令按钮分别为Command1和Command2,标题分别为“扩大”和“移动”。程序运行后,如果单击Command1命令按钮,则使窗体在高、宽方向上各增加0.2倍(变为原来的1.2倍);如果单击Command2命令按钮,则使窗体向右移动200,向下移动100。?移动对象除用修改Left和Top属性外,还可以怎么做P10-对象的常见方法Move方法

[对象.]Move左边距离[,上边距离[,宽度[,高度]]]作用:用于移动窗体和控件,改变窗体和控件的大小。缺省“对象”为当前窗体。单击Command2命令按钮,窗体向右移动200,向下移动100。窗体NameCaption

Height、WidthTop、LeftEnabledVisibleFont

PictureForeColorBackColorAutoRedrawBorderStyleControlBoxIconMaxButtonMinButtonWindowState对窗体和其它大部分控件适用的属性窗体所特有的属性Form1.Caption="一变"Me.Caption="二变"Caption="三变"VB基础--窗体窗体属性设置的三种方法窗体2.窗体事件Click(单击)单击鼠标左键时发生。单击窗口内的某个位置(该位置不可以有其它的控件)时,执行事件过程Form_Click()。Load(装入)装入窗体,在窗体显示之前执行该事件。一般在该事件中对属性和变量进行初始化。Unload(删除)当窗体从屏幕上删除时发生。当使用Unload语句或窗体右上的关闭按钮关闭该窗体时,此事件被触发。VB特点:VB采用事件驱动的执行机制VB程序没有固定执行顺序?特别注意窗体对象的事件P9第5章常用标准控件(1)标签Label文本控件文本框TextBoxP33-标签Label属性1.Caption

标签中显示的文本,标签中的文本只能用Caption属性来更改。2.AutoSize

为True时,根据Caption内容自动调整标签大小;为False时大小固定。3.BorderStyle

边框情况,取值为0时无边框;为1时加边框。P33-文本框属性(1)Text:文本框中显示的内容。(2)PasswordChar:把文本框设置为口令输入框(3)MultiLine:多行显示。(4)ScrollBars:设置文本框的滚动条。事件和方法(1)Change事件:改变Text属性时,触发该事件(2)SetFocus方法:设置焦点上机例题捷成14-2课堂练习捷成22-2提示:输出用Print方法课后练习:捷成4-2文本框属性(以下选择属性仅在运行时有效)(6)SelLength:当前选中的字符个数。为0表示未选中任何字符。(7)SelStart:当前选择文本的起始位置。其值为从0开始。(8)SelText:当前选择的文本字符串,没有选择时为空串。(9)Locked:文本框是否可被编辑。为True时不可编辑;为False时可编辑(默认)。捷成53-2

上机练习上机练习5-225-353-2第二讲VB语言基础

第3章数据类型及运算1计算的结果是多少?字符串(String,$)特点:放在一对双引号中P14-数据类型关键字,类型说明符

Text1.Text="欢迎使用VisualBasic"字符串Text属性Text3.Text=Text1.Text+Text2.Text字符串+

字符串?P18-算术运算符基本运算运算符优先级示例乘方^92^8表示28负号-8-3表示负3乘法*7a*b表示a乘以b除号/75.2/2计算结果为2.6整除\69.5\2计算结果为5求余数Mod517mod3计算结果为2加法+4a+b表示a加b的和减法-4a-b表示a减去b的差字符串连接运算符&“1”&“1”→“11”“1”

&11&1+→“11”→“11”“1”+“1”→“11”“1”

+11+1→2→21+1=11是因为字符串和字符串连接如何实现1+1=2呢?将字符串转化成数字!P14-数据类型整型(Integer,%):表示范围[-32768,32767]长整型(Long,&):4个字节存储单精度(Single,!):4个字节存储双精度(Double,#):8个字节存储整数实数(带小数的数)字符串转化成数值的方法:1、用数值的变量存储2、用函数转换P15-变量1.变量命名规则:(1)名字由字母开头后跟字母、数字、下划线;(2)不能用VisualBasic的保留字作变量名,但可以把保留字嵌入变量名中;(3)在VisualBasic中变量名不区分大小写,即大、小写是等价的。

标识符(变量名、数组名、过程名)命名规则同上P15-变量2.变量的类型和定义(1)用类型说明符来标识:x%

(2)在定义变量时指定其类型:

Declare变量名As类型其中Declare可以是Dim、Static、Public、Private之一。例

Dima,bAsInteger,cAsString,d!,eAsBoolean变体类型逻辑类型P9-3P17-常用内部函数字符串转化成数值的方法:1、用数值的变量存储2、用函数转换转换函数:ValText3.Text=Val(Text1.Text)+Val(Text2.Text)P15-常量文字常量符号常量字符串常量数值常量由除双引号和回车符之外的字符组成整型数货币型数浮点数有3种形式,即十、八,十六进制,其中八进制数以&O开头,十六进制数以&H开头也称定点数,小数位为0~28又称实数,分单精度和双精度值不可变的量,定义格式为:Const常量名=表达式常量名的命名规则与变量的命名规则相同常量长整型数例

ConstPI=3.14,COUNTRY$="China"P17-常用内部函数一、数学函数

1.三角函数(了解,注意格式)

Sin(x)、Cos(x)、Tan(x)、Atn(x)2.取整函数(掌握Int)

Int(x):求不大于x的最大整数。

Cint(x):把x的小数部分四舍五入变为整数。

Fix(x):去掉x的小数部分,保留整数部分。

3.随机函数:Rnd(x)(参数x一般省略)产生[0,1)的随机数。

4.其它数学函数平方根函数Sqr(x)、绝对值函数Abs(x)、对数函数Log(x)、符号函数Sgn(x)、指数函数Exp(x)产生[a,b]内随机数x=Int(Rnd*(b-a+1)+a)+a考点3常用内部函数二、字符函数1.删除空白字符函数

Ltrim$(字符串):去掉“字符串”左边的空白字符

Rtrim$(字符串):去掉“字符串”右边的空白字符

Trim$(字符串):去掉“字符串”左右两边的空白字符2.字符串长度测试函数

Len(字符串)Len(变量名)测试字符串中字符的个数测试变量所占字节大小考点3常用内部函数3.大小写转换函数

Lcase$(字符串)‘转换为小写

Ucase$(字符串)‘转换为大写4.字符串截取函数

Left$(字符串,n)

Mid$(字符串,位置[,L])Right$(字符串,n)【例】捷成44-3

程序运行时,在文本框中每输入一个字符,则立即判断:若是小写字母,则把它的大写形式显示在标签Label1中,若是大写字母,则把它的小写形式显示在Label1中,若是其他字符,则把该字符直接显示在Label1中。输入的字母总数则显示在标签Label2中,如图所示。上机真题课堂练习第3章:历年真题和真题练习P25-Print方法Print方法可以在窗体上显示文本字符串和表达式的值,并可在其他图形对象或打印机上输出信息。其一般格式为:[对象名称.]Print[表达式表][,|;]窗体(Form)、图片框(PictureBox)、打印机(Printer),也可以是立即窗口(Debug),省略时默认为当前窗体。可以是一般表达式,也可以是常数或变量在两个表达式之间可以加“,”、“;”或“空格”用于控制和下一Print输出间的关系无符号表示换行加“,”表示按标准格式加“;”表示按紧凑格式Format函数将数值按指定格式输出。Format(数值表达式,格式字符串)P26-与Print方法有关的函数2004年9月选择题19题执行如下两条语句,窗体上显示的是_________。

a=9.8596PrintFormat(a,"$00,00.00")(A)0,009.86(B)$9.86(C)9.86(D)$0,009.86P27-InputBox函数InputBox函数可产生一个对话框,这个对话框作为输入数据的界面,等待用户输入数据,并返回所输入的内容。InputBox(prompt,[,title][,default])对话框中显示的提示信息对话框标题栏显示的信息对话框的输入默认值P27-InputBox函数InputBox函数可产生一个对话框,这个对话框作为输入数据的界面,等待用户输入数据,并返回所输入的内容。注意:1)InputBox的返回值是字符串;2)InputBox一次只能输入一个值,要输入多个值时则需多次调用该函数。InputBox(prompt,[,title][,default])P30-考点4MsgBox函数和MsgBox语句MsgBox函数1.格式2.返回值

MsgBox函数的返回值是一个整数,这个整数与所选择的按钮有关。

MsgBox(msg,[,type][,title][,helpfile,context])对话框中显示的提示信息,为一个字符串对话框类型,确定对话框的图标和按钮,为一个整数值对话框标题显示的信息,为一字符串P30-考点4MsgBox函数和MsgBox语句二、MsgBox语句

MsgBoxMsg[,type][,title][,helpfile,context]

MsgBox语句没有返回值,常用于较简单的信息显示。

MsgBox函数语句参数有括号无括号返回值有无P9-31P10-12第三讲选择结构

If选择结构2

关系和逻辑运算符1

单选按钮和复选框3关系运算符

关系运算运算符优先级示例大于>

3100>99结果为True小于<

31.2<-23结果为False大于等于>=3Sin(1)>=0结果为True小于等于<=3Sqr(3)<=0结果为False等于=312=13结果为False不等于<>

312<>13结果为True"a">"c"

结果为?关系运算:结果为逻辑值False09年3月真题以下关系表达式中,其值为True的是()(A)"XYZ">"Xyz"(B)"ViusalBasic"<>"visualbasic"(C)"the"="there"(D)"Integer"<"Int"逻辑运算符逻辑运算运算符优先级示例非(求反)Not2Not(12<>13)结果为False与(并且)And1(23>10)and(30<23)结果为False或(或者)Or0(23>10)or(30<23)结果为True函数运算>算术运算>字符串运算>关系运算>逻辑运算逻辑值参与逻辑运算,结果为逻辑值数值数据参与逻辑运算,结果为数值(按位操作)2006年9月选择题第13题设a=2,b=3,c=4,下列表达式的值是________。Nota<=cOr4*a=b^2

Andb<>a+c(A)-1(B)1(C)True(D)FalseNota<=cOr4*a=b^2

Andb<>a+cNotTrueOrFalseAndTrueFalseOrFalseAndTrueFalse

Or

False(2006年4月)设a=4,b=3,c=2,d=l,下列表达式的值是_____。

a>b+1Orc<dAndbModc

A)TrueB)1C)-1D)0a>b+1Orc<dAndbModcFalseOrFalseAnd1FalseOr0思考:1Or1And0=?第三讲选择结构

If选择结构2

关系和逻辑运算符1

单选按钮和复选框3P62-IF结构评定学生成绩等级。90分及其以上为优秀。DimxAsIntegerx=InputBox(“请输入学生成绩”)If

x>=90

Then

Print“优秀”EndIf1、用变量获得成绩2、判断变量是否满足条件3、满足条件的进行输出P62-IF结构评定学生成绩等级。90分及其以上为优秀,其它为不优秀。不优秀DimxAsIntegerx=InputBox(“请输入学生成绩”)If

x>=90

Then

Print“优秀”EndIfElsePrint“不优秀”不优秀P62-IF结构评定学生成绩等级。90分及其以上为优秀,60分以上为合格,其它为不合格。Ifx>=90

ThenPrint“优秀”ElsePrint“不优秀”EndIfIfx>=60ThenPrint“合格”ElsePrint“不合格”EndifP63-IF结构评定学生成绩等级。90分及其以上为优秀,80~90为良好,60分以上为合格,其它为不合格。Ifx>=90

ThenPrint“优秀”ElseIfx>=80ThenPrint“良好”ElseIfx>=60ThenPrint“合格”ElsePrint“不合格”EndIfP63-IF结构X>=90X>=80X>=60优秀良好合格不合格FFFTTTIfThenElseIfElseIfThenThenElse课堂练习笔试教程P73,选择题1-6第三讲选择结构

If选择结构2

关系和逻辑运算符1

单选按钮和复选框3P37-单选按钮OptionButton属性CaptionEnabledValue事件ClickValue值True为选中False为不选?条件Option1.Value=True还可以写成那些形式P37-复选框CheckBox属性CaptionValue事件ClickValue属性值:1-checked为选中0-Unchecked为不选2-Grayed为禁止操作(灰色)捷成34-3补充几个属性字体属性FontName字号属性FontSize下划线FontUnderline加粗FontBold倾斜FontItalic课堂练习笔试教程P46,选择题23-26上机教程28-33P59-考点2SelectCase语句Case后的表达式形式一组枚举表达式:Case2,5,8表达式1To

表达式2

:Case10To20比较范围:CaseIs<10SelectCasexCase90to100y="优秀"Case80to89y=“良好“

Case60to79y=“合格"CaseElsey="不合格"EndSelectSelectCasexCaseIS>=90y="优秀"CaseIS>=80y=“良好“

CaseIS>=60y=“合格"CaseElsey="不合格"EndSelect思考:某班学生成绩:90分以上优秀,80分以上良好,

60分上合格,60分以下不合格。P73选择题21以下Case语句中错误的是______。(A)Case0To10(B)CaseIs>10(C)CaseIs>10AndIs<50(D)Case3,5,Is>10注意:1、SelectCase后不能跟多个变量2、不能在条件中出现变量3、不能在条件中出现逻辑表达形式P59例32006年4月选择题20题在窗体上画1个命令按钮和1个文本框PrivateSubCommandl_lick()x=Val(Text1.Text)SelectCasex Case1,3 y=x*x CaseIs>=10,Is<=-10 y=x Case-10To10 y=-xEndSelectEndSub程序运行后,在文本框中输入3,然后单击命令按钮,则以下叙述中正确的是

B)执行y=-xC)先执行y=x*x,再执行y=-xD)程序出错Select从前往后判定,当出现第1个满足的条件,执行该部分语句,并且Select结构结束A)执行y=x*x上机教程P27【上机真题3.3】捷成48-4已知出租车行驶不超过4公里时一律收费10元。超过4公里时分段处理,具体处理方式为:15公里以内每公里加收1.2元,15公里以上每公里收1.8元。SelectCase判断课堂练习笔试教程P74,选择题7、8、9上机练习上机教材P22-3315-414-419-467-350-3评讲P30-2P46-23上机14-4VB中存在多种解释的符号1、+字符串连接:字符串+字符串算术加:其他情况2、&Long类型:与前一数据(常量或变量)连写字符串连接:与前后数据隔开3、=赋值:=为独立语句关系运算:为其他某语句的一部分第四讲循环结构

For循环1

列表框2

其它循环结构3For

循环变量=初值To

终值[step

步长]

循环语句块

[ExitFor]Next[循环变量]P65-For循环控制结构For循环的应用累加阶乘sum=0Fori=1To100

sum=sum+iNextifact=1Fori=1To100

fact=fact*iNexti累加和变量置初值0可省略累乘积变量置初值1不可省1+1!+2!+3!+…+100!1+1/1!+1/2!+1/3!+…+1/100!2005年4月选择题第23题[真题]执行以下程序段:DimiAsInteger,xAsInteger

x=0

Fori=20To1Step-2

x=x+i\5

NextPrintx后,x的值为______。(A)16(B)17(C)18(D)19在窗体上画一个名称为Text1的文本框和一个名称为Command1的命令按钮,然后编写如下事件过程:PrivateSubCommand1_Click() Fori=0To50 i=i+3 n=n+1 Ifi>10ThenExitFor Next Text1.Text=Str(n)EndSub程序运行后,单击命令按钮,在文本框中显示的值是()(A)5(B)4 (D)22006年9月选择题第19题(C)3在窗体上画一个命令按钮,其名称为Command1,然后编写如下事件过程:PrivateSubCommand1_Click()

DimiAsInteger,xAsInteger

Fori=1To6

Ifi=1Thenx=1

Ifi<=4Then

x=x+1

Else

x=x+2

EndIf

Nexti

Printx

EndSub程序运行后,单击命令按钮,其输出结果为______。(A)92005年4月选择题第21题(B)6(C)12(D)15课堂练习P76选择题12、14、15、16P83选择题34~40P86填空题1~5、11第四讲循环结构

For循环1

列表框2

其它循环结构3P38-列表框ListBox常用属性List:列出表项的内容ListCount:读出列表框中表项的总数

ListIndex:设置/读出被选中表项的序号Text:选中表项的文本P38-列表框ListBox常用属性(多选)MultiSelect:设置多选属性。Selected:列出表项的选择状态。SelCount:读出被选中表项的总数。上机教程P95-练习7.3捷成15-4程序运行后,如果多次单击列表框中的项,则可同时选择这些项。而如果单击“显示”按钮,则在窗体上输出所有选中的列表框(如图所示)。事件和方法含义Click/DbClick列表框的单击/双击事件AddItem向列表框插入一行文本Clear清除列表框中所有项目RemoveItem用于清除指定表项内容列表框名.AddItem字符串[,下标]列表框名.Clear列表框名.RemoveItem下标P38-列表框ListBox上机教程P86-真题7.1【例】捷成26-3

界面如下图所示,如果单击“添加项目”命令按钮,则从键盘上输入要添加到列表框中的项目(内容任意,不少于三个);如果单击“删除项目”命令按钮,则从键盘上输入要删除的项目,将其从列表框中删除。设在窗体中有一个名称为List1

的列表框,其中有若干个项目(如图)。要求选中某一项后单击Command1按钮,就删除选中的项,则正确的事件过程是:

(A)Private

SubCommand1_Click()List1.ClearEnd

Sub(B)Private

Sub

Command1_Click()List1.Clear

List1.ListIndexEnd

Sub(C)Private

Sub

Command1_Click()List1.Removeltem

List1.ListIndexEnd

Sub(D)Private

Sub

Command1_Click()List1.RemoveltemEnd

Sub2007年9月选择题第19题上机真题【例】捷成44-1在标题为“列表框”、名称为Form1的窗体上画一个名称为List1列表框,通过属性窗口输入四个列表项:“数学”、“语文”、“历史”、“地理”,列表项采用“复选框形式”,如图所示。列表框的宽为1100,高不限。Style属性上机练习8-326-344-134-4第四讲循环结构

For循环1

列表框2

其它循环结构394P67-考点4While-Wend循环

格式:

While条件

语句块

Wend

说明条件:是布尔表达式或数值如何选择循环结构?问题1求1~1000能被3整除的数的个数。问题2求比1000小的最大三个能被3整除的数。Fori=1To1000Nexti=1000:n=0Whilen<3

i=i-1Wend为计算1+3+5+……+99的值,某人编程如下

k=1

s=0

While

k<=99

k=k+2

s=s+k

Wend

Print

s在调试时发现运行结果有错误,需要修改。下列错误原因和修改方案中正确的是()(A)

While

…Wend循环语句错误,应改为For

k=1

To

99

…Next

k(B)

循环条件错误,应改为Whlie

k<99(C)

循环前的赋值语句k=1错误,应改为k=0(D)

循环中两条赋值语句的顺序错误,应改为s=s+k

:

k=k+22007年4月选择题27题解题思路:1.查找出错位置①检查前1个数和后1个数是否参加运算;②有无多余的数参加运算。2.确定修改方案①直接确定法②按选项提示修改法P68-Do循环控制结构2007年4月选择题27题设有如下程序:PrivateSubCommand1_Click()DimcAsInteger,dAsIntegerc=4d=InputBox("请输入一个整数")DoWhiled>0Ifd>cThenc=c+1EndIfd=InputBox("请输入一个整数")LoopPrintc+dEndSub程序运行后,单击命令按钮,如果在输入对话框中依次输入1、2、3、4、5、6、7、8、9、0,则输出结果是______。(A)12(B)11(C)10(D)9课堂练习For:P77选择题16、15,P86填空题1While:P78选择题19,P87填空题6DoLoop:P79选择题24、25,P88填空题9上机评讲8-3上机真题上机教程[P153]练习11.1界面如右图所示,运行时,单击“计算”按钮,则找出小于18000的最大的素数,并显示在Text1中;单击“存盘”按钮,则把Text1中的计算结果存入out5.txt文件中。输入一个数,判断该数是否是素数Fori=2Ton-1NextiIfnModi=0Thenprint“不是素数”elseprintn;“是素数”EndIfFori=2Ton-1NextiIfnmodi=0thenExitforEndifIf

ThenPrintn;“是素数“Elseprintn;“不是素数”EndIfi>n-1或i=n[2,sqr(n)][2,n\2]?上机练习1-52-5

多重循环第四讲循环结构For的循环嵌套Fori=1To5Forj=1To5

x=x+1Nextj

NextiFori=1To5Forj=1Toi

x=x+1Nextj

Nextix=1x=1考点6多重循环For的循环嵌套Fori=1To5Forj=1To5

x=x+1Nextj

NextiFori=1To5Forj=1Toi

x=x+1Nextj

Nextix=1x=1考点6多重循环For的循环嵌套Fori=1To5Forj=1To5

x=x+1Nextj

NextiFori=1To5Forj=1Toi

x=x+1Nextj

Nextiy=y+1y=y+1考点6多重循环课堂练习P80选择题26-33第五讲数组

数组基础1

控件数组2

最大值算法3动态数组静态数组数组数组数组必须先定义后使用1.数组定义(1)一维数组的定义Dim数组名([下标下界To]下标上界)As类型名称例如:

Dimarr1(1To10)AsInteger

Dimarr1%(1To10)(2)多维数组的定义Dim数组名(下标1,下标2[,下标3……])As类型名称例如:

Dimarr2(1To10,3To20)AsInteger

静态数组静态数组上下界必须是常量动态数组1.动态数组的定义Step1:在窗体层、标准模块或过程中用Dim或Public声明一个没有下标的数组(括号不能省略)Step2:在过程中用ReDim语句定义带下标的数组。2.ReDim语句的格式ReDim[Preserve]数组名(下标)[As数据类型]例如:

Dima()AsInteger

ReDima(1To20)ReDima(1To30)AsInteger动态数组上下界可以是常量或变量ReDimPreservea(1To30)AsInteger可以省略数组类型,如果给定类型,必须与前面类型保存一致数组相关语句及函数OptionBasen语句Lbound、Ubound函数Array函数ForEach…Next语句n只能为0或1使用Array函数对数组初始化满足以下条件:变体类型(Variant)非静态数组(动态数组或数组变量)一维数组循环变量为Variant静态数组动态数组定义方式数组定义是否支持变量可否修改元素个数及维数课堂练习P102:1-4Dima%(1To100)Dima()AsIntegerReDima(1To100)否否Dima()AsIntegern=100ReDima(1Ton)ReDima(1Ton+2)ReDima(n,n)数组真题【笔试教程】P103,选择题6PrivateSubCommand1_Click()Dimm(10)AsIntegerFork=1To10m(k)=12-kNextkx=8

Printm(2+m(x))EndSub选择题7与变量相同数组真题【笔试教程】P103,选择题5PrivateSubCommand1_Click()DimA1(4)AsInteger,A2(4)AsIntegerFork=0To2A1(k+1)=InputBox("请输入一个整数")A2(3-k)=A1(k+1)NextkPrintA2(k)EndSub数组真题【笔试教程】P95,历年真题7PrivateSubCommand1_Click()Dima(10,10)AsIntegerFori=1To3Forj=1To3a(i,j)=(i-1)*3+jPrinta(i,j);NextjPrintNextiEndSub按矩阵方式输出P107选择题16数组真题【笔试教程】P94,历年真题5PrivateSubCommand1_Click()Dima(3,3)AsIntegerFori=1To3Forj=1To3a(i,j)=i*j+iNextjNextiSum=0Fori=1To3Sum=Sum+a(i,4-i)NextiPrintSumEndSub历年真题6上机教程P52-上机真题5.1【例】捷成38-3:数组求平均值功能是产生20个0~1000的随机整数,放入一个数组中,然后输出这20个整数的平均值。程序运行后,单击命令按钮(名称为Command1,标题为“输出平均值”),即可求出其平均值,并在窗体上显示出来(如图所示)。第五讲数组

数组基础1

控件数组2

最大值算法3P100-控件数组【上机真题】捷成10-3窗体上有一个单选按钮数组,含三个单选按钮;还有一个标题为“显示”的命令按钮(如图所示)。程序的功能是,在运行时,如果选中一个单选按钮并单击“显示”按钮,则在窗体上显示相应的信息,例如若选中“小学生”,则在窗体上显示“我是小学生”。P100-控件数组由一组相同类型的控件组成;共用相同的控件名,即其所有元素的Name属性相同;数组中的每个控件都有唯一的索引(Index)值,即下标;除Name和Index属性外其它属性可以相同也可以不同;共享相同的事件过程,通过Index参数来进行区分。PrivateSubOption1_Click(IndexAsInteger) …EndSub控件数组操作建立控件数组删除控件数组第一种方法,通过改变已有控件名称添加控件数组元素第二种方法,通过复制现存控件添加数组元素改变一个控件的Name属性值,并把Index属性置为空(不是0)第五讲数组

数组基础1

控件数组2

最大值算法3上机练习4-346-432-4P96-求最值算法算法描述求最大值时,假设第一个数为最大值,然后将每个数逐个与最大值相比较,若比最大值大则将该数作为新的最大值,直到数组元素比较完。P96-最值算法Dima(1To10)AsIntegerFori=1To10a(i)=Int(Rnd*10)NextiMax=a(1)Fori=2To10Ifa(i)>MaxThenMax=a(i)EndIfNextiMin=a(1)Fori=2To10Ifa(i)<MinThenMin=a(i)EndIfNexti数组赋值最大值最小值上机教程P64-上机真题6.1【例】捷成41-3:评委打分窗体上有一个标题为“得分”的框架,在框架中有一个名称为Text1的文本框数组,含六个元素;文本框Text2用来输入难度系数。程序运行时,在左边的六个文本框中输入6个得分,输入难度系数后,单击“计算分数”按钮,则可计算出最后得分并在文本Text3中显示(如图所示)计算方法:去掉1个最高分和1个最低分,求剩下得分的平均分,再乘以3,再乘以难度系数。最后保留两位小数,不四舍五入。上机评讲46-4上机评讲3-5第六讲过程变量作用域1

Function过程2

参数传送4Sub过程3课程引入【上机真题3.3】捷成48-4已知出租车行驶不超过4公里时一律收费10元。超过4公里时分段处理,具体处理方式为:15公里以内每公里加收1.2元,15公里以上每公里收1.8元。P120-变量作用域名称作用域声明位置使用语句局部变量过程过程中Dim或Static模块变量窗体模块或标准模块模块的通用声明段Dim或Private全局变量整个应用程序标准模块的声明部分Public或Global将变量声明为静态变量,在程序运行中可保留变量的值2004年9月笔试真题选择题第8题

在窗体上画一个名称为Command1的命令按钮,然后编写如下事件过程:

PrivateSubCommand1_Click()

StaticxAsInteger

Cls

Fori=1To2

y=y+x

x=x+2

Next

Printx,y

EndSub

程序运行后,连续三次单击Command1按钮后,窗体上显示的是

A)42C)1230D)46B)12182002年9月笔试真题选择题26题在窗体上画一个名称为Commandl的命令按钮,然后编写如下程序:

PrivateSubCommand1_Click()

StaticXAsInteger

StaticYAsInteger

Cls

Y=1

Y=Y+5

X=5+X

PrintX,Y

EndSub

程序运行时,三次单击命令按钮Commandl后,窗体上显示的结果为

A)1516C)1515D)56B)156第六讲过程变量作用域1

Function过程2

参数传送4Sub过程3P124-Function过程[Static][Private|Public]Function

过程名([参数])[As数据类型]

语句块

[过程名=表达式][ExitFunction][语句块]EndFunction返回结果值返回值类型Function过程定义编写1个函数实现累加第一步:确定形式参数。Functionacc(xAsInteger)AsInteger第二步:编写累加算法Functionacc(xAsInteger)AsIntegersum=0Fori=1Tox

sum=sum+i

NextiEndFunction第三步:编写代码“过程名=表达式”,确定返回值acc=sum形式参数Function过程调用说明:调用Function过程要返回一个值,因此可以像内部函数一样在表达式中使用。

在按钮单击事件中调用前例中编写的acc过程。PrivateSubCommand1_Click()DimaAsInteger

a=Val(InputBox(“请输入累加的数”))

Printacc(a)EndSub上机真题【例】捷成36-4在窗体上建立一个命令按钮和一个文本框。程序运行后,单击命令按钮,即可计算出1~1000范围内能被5整除或能被7整除的整数的个数,并在文本框中显示出来。其中计算能被5整除或能被7整除的整数的个数的操作在通用过程Fun中实现。上机练习2-521-5第六讲过程变量作用域1

Function过程2

参数传送4Sub过程3考点2Sub过程一、建立Sub过程[Static][Private|Public]Sub过程名([参数表])

语句块

[ExitSub]

[语句块]EndSub子程序过程例建立1个Sub过程实现两个数的交换第一步:确定形式参数。SubSwap(aAsInteger,bAsInteger)

第二步:编写功能代码。SubSwap(aAsInteger,bAsInteger)DimtAsIntegert=a:a=b:b=tEndSubSub过程的调用由专门的语句完成Call子过程名[(实在参数)]子过程名[实在参数]Sub过程的调用Callswap(x,y)swapx,y(2007年9月选择题第30题)

下面程序的输出结果是________。

Private

Sub

Command1_Click()

ch$=”ABCDEF”

proc

ch

Print

ch

End

Sub

Private

Sub

proc(ch

As

String)

s=""

For

k=Len(ch)

To

1

Step-1

s=s&Mid(ch,k,1)

Next

k

ch=s

End

Sub

(A)ABCDEF

(C)A

(D)F(B)FEDCBA上机教程P103-真题8.1【例】捷成37-5程序运行后,如果单击“读入数据”按钮,则调用题目所提供的ReadData1和ReadData2的过程读入datain1.txt和datain2.txt文件中的各20个整数,分别放入Arr1和Arr2两个数组中;如果单击“计算”按钮,则把两个数组中对应下标的元素相减,其结果放入第三个数组中(即:第一个数组的第n个元素减去第二个数组的第n个元素,其结果作为第三个数组的第n个元素。这里的n为1、2、…、20),最后计算第三个数组各元素之和,把所求得的和在窗体上显示出来;并调用题目中给出的WriteData过程将所得的和存入考生文件夹下的dataout.txt文件中。类似题:19-5第六讲过程变量作用域1

Function过程2

参数传送4Sub过程3形参:过程定义时的参数实参:过程调用时的参数P126-参数传送传地址:①数组参数②形参ByRef声明③形参无声明、实参为变量传值:①形参ByVal声明②形参无声明、实参为常量或表达式PrivateSubCommand1_Click()DimnAsIntegern=100Print"n=";nCallfun(n)Print"n=";nEndSubSubfun(xAsInteger)x=200EndSub100nx(传地址)200内存单元传地址ByRef传地址调用:形参改变,实参发生对应变化形参和实参类型必须一致2003年9月笔试真题选择题23题

设有如下通用过程:

PublicFunctionf(xAsInteger)

DimyAsInteger

x=20

y=2

f=x*y

EndFunction

在窗体上画一个名称为Command1的命令按钮,然后编写如下事件过程:

PrivateSubCommand1_Click()

StaticxAsInteger

x=10

y=5

y=f(x)

Printx;y

EndSub程序运行后,如果单击命令按钮,则在窗体上显示的内容是A)105B)205D)1040C)2040PrivateSubCommand1_Click()DimnAsIntegern=100Print"n=";nCallfun(n)Print"n=";nEndSubSubfun(ByValxAsInteger)x=200EndSub传地址ByValx(传值)n100100200内存单元传值调用:形参改变,不影响实参2004年9月22题改编PrivateSubCommand1_Click()

DimxAsInteger

StaticyAsInteger

x=10

y=5

Printf1(x,y),x,y

EndSub

PrivateFunctionf1(Byvalx1AsInteger,y1AsInteger)

x1=x1+2y1=y1+2f1=x1+y1

EndFunction

程序运行后,单击命令按钮,在窗体上显示的内容是

19

107

传值传地址课堂练习P133-135:10-16Functionf1()AsBooleanSubf2%()Functionf3(ByVala())Functionf4!(ByVala$,ByRefb%)下列过程定义合法的是?

对象参数5

可选参数6第六讲过程考点6对象参数

对象作为参数的格式为:

Sub过程名(形参表)语句块[ExitSub]

……

EndSub"形参表"中形参的类型通常为Control或Form。注意,在调用含有对象的过程时,对象只能通过传地址方式传送。因此在定义过程时,不能在其参数前加关键字ByVal。只能是传地址形式考点6对象参数一、窗体参数当形参表中的形参的类型为Form时,是把窗体作为函数的参数,它通常用在对一批窗体进行相同的属性设置。二、控件参数当形参表中的形参的类型为Control时,是把控件作为函数的参数,它通常用在对一批控件进行相同的属性设置。(2004年9月选择题第21题)设一个工程由两个窗体组成,其名称分别为Form1和Form2,在Form1上有一个名称为Command1的命令按钮。窗体Form1的程序代码如下:PrivateSubCommand1_Click()

DimaAsInteger

a=10

Callg(Form2,a)EndSubPrivateSubg(fAsForm,xAsInteger)

y=IIf(x>10,100,-100)

f.Show

f.Caption=yEndSub

运行以上程序,正确的结果是______。(A)Form1的Caption属性值为100(B)Form2的Caption属性值为-100(C)Form1的Caption属性值为-100(D)Form2的Caption属性值为100(2006年4月选择题第28题)窗体上有名称分别为Textl、Text2的2个文本框,要求文本框Textl中输入的数据小于500,文本框Text2中输入的数据小于1000,否则重新输入。

PrivateSubText1_LostFocus()CallCheckInput(Text1,500)EndSubPrivateSubText2_LostFocus()CallCheckInput(Text2,1000)EndSubSubCheckInput(tAs?,xAsInteger)IfVal(t.Text)>xThenMsgBox”请重新输入!"EndIfEndSub(A)Text(B)SelText(D)Form(C)Control上机教程P117-上机练习8.7捷成68-4上机教程P110-真题8.5捷成71-3窗体上有名称为Label1、标题为“标签”控件的标签;有一个名称为Command1、标题为“命令按钮”的命令按钮。单击上述两个控件中任一控件,则在标签Label2中显示所单击控件的标题内容(标题内容有“单击”二字),下图是单击命令按钮后的窗体外观。

可选参数在参数名前有Optional关键字声明P129-5第七讲文件

顺序文件1

随机文件2P194-顺序文件

顺序文件特点:

文件中的记录一个接一个地存放。

打开读/写关闭OpenCloseP194-顺序文件的打开例1:Open"in5.txt"ForInputAs#1例2:OpenApp.Path+"\in5.txt"ForInputAs#1√Open文件名[For模式]As[#]文件号P194-顺序文件的打开Open文件名[For模式]As[#]文件号ForOutput:顺序文件替换写ForInput:顺序文件读Input方式打开,要求被读取文件必须存在ForAppend:顺序文件追加方式写文件号:1~511,在操作时用于指代打开的文件P195-文件的关闭文件的关闭文件的读写操作结束后,必须将文件关闭,这一操作将缓冲区的内容写入文件。语句格式

Close[#]文件号,[#]文件号……Close关闭所有已打开的文件关闭指定编号文件P195-文件的操作语句和函数重要函数1.LOF(文件号)

返回文件的长度(字节数)2.EOF(文件号)

如果当前文件指针指向文件末尾,则返回True,否则返回False3.Seek#文件号,位置定位文件指针P196-顺序文件的写操作

Print#语句Print#文件号,[[Spc(n)|Tab(n)][表达式表][;|,]]2005年4月选择题第33题1.在窗体上画一个名称为Command1的命令按钮和一个名称为Text1的文本框,在文本框中输入以下字符串:MicrosoftVisualBasicProgramming,然后编写如下事件过程:PrivateSubCommand1_Click()Open"d:\temp\outf.txt"ForOutputAs#1Fori=1ToLen(Text1.Text)c=Mid(Text1.Text,i,1)Ifc>="A"Andc<="Z"ThenPrint#1,LCase(c)EndIfNextiCloseEndSub程序运行后,单击命令按钮,文件outf.txt中的内容是__。2005年4月选择题第33题1.在窗体上画一个名称为Command1的命令按钮和一个名称为Text1的文本框,在文本框中输入以下字符串:MicrosoftVisualBasicProgramming,然后编写如下事件过程:PrivateSubCommand1_Click()Open"d:\temp\outf.txt"ForOutputAs#1Fori=1ToLen(Text1.Text)c=Mid(Text1.Text,i,1)Ifc>="A"Andc<="Z"ThenPrint#1,LCase(c)EndIfNextiCloseEndSub程序运行后,单击命令按钮,文件outf.txt中的内容是__。mvbp顺序文件的读操作1.Input#语句格式:Input#文件号,变量表功能:把读出的每个数据项分别存放到所对应的变量

Open“out.txt"ForInputAs#1

Input#1,a,b,cClose

Open“out.txt"ForInputAs#1

WhilenotEof(1)Input#1,aWendClose读出一个或几个记录读出所有记录顺序文件的读操作2.LineInput#语句格式:LineInput#文件号,字符串变量功能:读一行到变量中,主要用来读取文本文件。

Open“out.txt"ForInputAs#1WhileNotEOF(1)LineInput#1,aWendClose顺序文件的读操作3.Input$函数格式:Input$(n,#文件号)功能:从“文件号”所指

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论