二级VB考试系统第5次课过程34学时课件_第1页
二级VB考试系统第5次课过程34学时课件_第2页
二级VB考试系统第5次课过程34学时课件_第3页
二级VB考试系统第5次课过程34学时课件_第4页
二级VB考试系统第5次课过程34学时课件_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

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

文档简介

2010年9月等级考试辅导

二级VisualBasic第五讲过程Sub过程2变量作用域1Function过程3数组参数4对象参数5局部变量和全局变量名称作用域声明位置使用语句局部变量过程过程中Dim或Static模块变量窗体模块或标准模块模块的通用声明段Dim或Private全局变量整个应用程序标准模块的声明部分Public或Global定义在过程中的静态变量(static)在每次执行该过程时会保留上次执行的结果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考点2Sub过程一、建立Sub过程[Static][Private|Public]Sub过程名([参数表])

语句块

[ExitSub]

[语句块]EndSub子程序过程调用Sub过程1.用Call语句调用Sub过程

Call过程名[(实际参数)]

2.把过程名作为一个语句来使用

过程名实际参数与第一种方式相比,它有两点不同:(1)去掉关键字Call;(2)去掉"实际参数"的括号。在按钮单击事件中调用前例中的Sub过程PrivateSubCommand1_Click()DimxAsInteger,yAsIntegerx=5:y=15

CallSwap(x,y)'还可以写成Swapx,yPrintx,yEndSub(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文件中。考点3Function过程说明:(1)调用Sub过程相当于执行一个语句,不直接返回值;调用Function过程要返回一个值,因此可以像内部函数一样在表达式中使用。(2)过程定义不可嵌套,因而不能在事件过程中定义通用过程,但可在事件过程内调用通用过程。在按钮单击事件中调用前例中编写的Fun过程。PrivateSubCommand1_Click()DimxAsIntegerx=Val(InputBox("请输入要判断的数"))

Iffun(x)=True

ThenPrintx;"是素数"ElsePrintx;"不是素数"EndIfEndSub过程不可嵌套定义、但可嵌套调用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)2040上机真题【例】捷成36-4在窗体上有一个命令按钮和一个文本框。程序运行后,单击命令按钮,即可计算出1~1000范围内能被5整除或能被7整除的整数的个数,并在文本框中显示出来。在窗体的代码窗口中,已给出了部分程序,其中计算能被5整除或能被7整除的整数的个数的操作在通用过程Fun中实现,请编写该过程的代码。4de(传地址)6a=1:b=2:c=3:d=4Calltest1(a,b,c,d)Printa;b;c;d…PrivateSubtest1(b%,c%,d%,e%)e=b+c+dEndSub‘1236内存单元传地址ByRef传地址调用:形参改变,实参发生对应变化形参和实参类型必须一致2004年9月22题在窗体上画一个名称为Command1的命令按钮,并编写如下程序:

PrivateSubCommand1_Click()

DimxAsInteger

StaticyAsInteger

x=10

y=5

Callf1(x,y)

Printx,y

EndSub

PrivateSubf1(ByRefx1AsInteger,y1AsInteger)

x1=x1+2

y1=y1+2

EndSub

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

A)105B)125C)107D)127

(2006年4月选择题第25题)在窗体上画1个命令按钮,其名称为Commandl,然后编写如下程序:PrivateSubCommand1_Click()Dima(10)AsIntegerDimxAsIntegerFori=lTo10a(i)=8+iNextx=2Printa(f(x)+x)EndSubFunctionf(xAsInteger)x=x+3f=xEndFunction程序运行后,单击命令按钮,输出结果为________。(A)12(B)l5(C)17(D)18(2005年4月选择题29题)

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

PrivateFunctionfun(ByValmAsInteger)

IfmMod2=0Then

fun=2

Else

fun=1

EndIfEndFunctionPrivateSubCommand1_Click()

DimiAsInteger,sAsInteger

s=0

Fori=1To5

s=s+fun(i)

Next

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

(A)6(B)7(C)8(D)9数组参数用数组作为过程的参数时,应在数组名的后面加上一对括号。

1、要把整个数组作参数传递给过程,形参与实参都要使用数组名,但要省略数组的上下界,且保留括号;

2、整个数组作参数传递时,只能传地址;

3、单个数组元素作参数传递给过程时,实参要指明元素的下标;

4、在过程中可以使用LBound()和UBound()函数来确定数组的上下界。(2006年9月选择题第26题)SubsubP(b()AsInteger) Fori=1To4b(i)=2*i NextiEndSubPrivateSubCommand1_Click() Dima(1To4)AsInteger a(1)=5 a(2)=6 a(3)=7 a(4)=8 subPa() Fori=1To4Printa(i) NextiEndSub(A)2(B)5 (C)10(D)出错

4 6 126 7 148 8 16上机教程109-真题8.4【例】捷成26-4数组作为过程参数形参:数组名(),括号不可省,括号内不带下标;实参:可以是数组名或数组名(),若带括号,不带下标。其功能是通过调用过程FindMax求数组的最大值,请装入该文件。程序运行后,在四个文本框中各输入一个整数,然后单击命令按钮,即可求出数组的最大值,并在窗体上显示出来(如图所示)。考点6对象参数

对象作为参数的格式为:

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

……

EndSub"形参表"中形参的类型通常为Control或Form。注意,在调用含有对象的过程时,对象只能通过传地址方式传送。因此在定义过程时,不能在其参数前加关键字ByVal。(2006年4月选择题第28题)窗体上有名称分别为Textl、Text2的2个文本框,要求文本框Textl中输入的数据小于500,文本框Text2中输入的数据小于1000,否则重新输入。

PrivateSubText1_LostFocus()CallChecckInput(Text1,500)EndSubPrivateSubText2_LostFocus()CallCheckInput(Text2,1000)En

温馨提示

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

评论

0/150

提交评论