第6章 过程 2Word格式文档下载.docx

上传人:b****3 文档编号:14420785 上传时间:2022-10-22 格式:DOCX 页数:14 大小:77.95KB
下载 相关 举报
第6章 过程 2Word格式文档下载.docx_第1页
第1页 / 共14页
第6章 过程 2Word格式文档下载.docx_第2页
第2页 / 共14页
第6章 过程 2Word格式文档下载.docx_第3页
第3页 / 共14页
第6章 过程 2Word格式文档下载.docx_第4页
第4页 / 共14页
第6章 过程 2Word格式文档下载.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

第6章 过程 2Word格式文档下载.docx

《第6章 过程 2Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《第6章 过程 2Word格式文档下载.docx(14页珍藏版)》请在冰豆网上搜索。

第6章 过程 2Word格式文档下载.docx

×

3.事件过程只能在事件发生时由系统调用,不能在程序中使用代码直接调用。

4.使用Static关键字定义的通用过程中过程级变量都为静态变量。

5.在窗体模块中,不能定义全局通用过程。

6.在函数过程中,如果不给函数名赋值,则函数不返回任何值。

7.定义通用过程时有几个形参,则调用该过程时必须提供几个实参。

8.使用命名参数调用通用过程时,实参的顺序可以不与相应的形参相同。

三、填空题

1.在过程调用中,参数的传递方式可分为按值传递和按地址传递两种,其中按地址传递是默认方式。

使用ByVal关键字来修饰形式参数,可以使之按值传递。

2.以下是一个按钮的Click事件过程与一个函数过程,当单击此按钮时,窗体上显示的是33。

1PrivateSubCommand1_Click()

2Dimint1AsInteger

3int1=8

4PrintSub1(int1,11)+int1

5EndSub

6

7PrivateFunctionSub1(intVar1AsInteger,_

8OptionalintVar2AsInteger=10)AsInteger

9IfintVar2>

10ThenintVar1=intVar2

10Sub1=intVar1+intVar2

11EndFunction

知识点:

●默认情况下,参数按引用传递ByRef

●表达式中对函数的调用

●函数的返回值

●Print语句中表达式的求值顺序

3.阅读下面程序,当Value过程形参前有ByVal关键字时,单击窗体,在窗体上显示的第一行内容是2010,第二行内容是1015。

若将形参表中的ByVal关键字删除,再执行本程序,单击窗体后在窗体上显示的第一行内容是2010,第二行内容是2010。

1PrivateSubValue(ByValmAsInteger,ByValnAsInteger)

2m=m*2:

n=n-5

3Printm,n

4EndSub

5

6PrivateSubForm_Click()

7DimxAsInteger,yAsInteger

8x=10:

y=15

9CallValue(x,y)

10Printx,y

11EndSub

●参数的按值传递ByVal

●通用Sub过程的调用

4.下面是一个按钮的事件过程,过程中调用了自定义函数。

单击按钮在窗体上输出的结果第一行是16,第五行是

526。

2DimxAsInteger,yAsInteger

3DimnAsInteger,zAsInteger

4x=1:

y=1

5Forn=1To6

6z=f1(x,y)

7Printn,z‘此语句改成Printn,x效果一样

8Next

9EndSub

10

11PrivateFunctionf1(xAsInteger,yAsInteger)AsInteger

12DimnAsInteger

13DoWhilen<

=4‘该循环执行了5次

14x=x+y

15n=n+1‘确保不会形成死循环

16Loop

17f1=x

18EndFunction

●数值型变量(n)的默认值

●过程级动态局部变量(n)

●DoLoop循环和For循环

●作为形参的变量与过程级动态局部变量同名的情况(x,y)

5.窗体上有一个按钮Command1和两个文本框Text1、Text2。

下面是这个窗体模块的全部代码。

运行程序,第一次单击按钮时,两个文本框中的内容分别是10和10;

第二次单击按钮,两个文本框中的内容又分别是58和58。

1DimyAsInteger'

模块级变量

2PrivateSubCommand1_Click()

3DimxAsInteger

4x=2

5Text1.Text=f2(f1(x),y)

6Text2.Text=f1(x)

7EndSub

8

9PrivateFunctionf1(xAsInteger)AsInteger

10x=x+y:

y=x+y

11f1=x+y

12EndFunction

13

14PrivateFunctionf2(xAsInteger,yAsInteger)AsInteger

15f2=2*x+y

16EndFunction

●参数的按引用传递ByRef

●模块级变量与形参同名

●函数的嵌套调用

6.阅读下面程序,当单击窗体时,窗体上显示内容的第一行是

23;

第二行是47。

1PrivateSubForm_Click()

2Test2

3EndSub

4

5PrivateSubTest(xAsInteger)

6x=x*2+1

7Ifx<

6Then

8CallTest(x)

9EndIf

10x=x*2+1

11Form1.Printx

12EndSub

●函数的递归调用

7.下面程序在窗体上显示的两行内容分别是6612与

61010。

如果在sub1过程的第二个形参y前加byVal,则在窗体上显示的内容是9615与6410。

1PrivateSubForm_click()

2DimxAsInteger,yAsInteger,zAsInteger

3x=1:

y=2:

z=3

4Callsub1(x,x,z)

5Callsub1(x,y,y)

6EndSub

7

8PrivateSubsub1(xAsInteger,yAsInteger,zAsInteger)

9x=3*z

10y=2*z

11z=x+y

12Printx,y,z

13EndSub

●参数按引用传递ByRef

●参数按值传递ByRef

8.假设下面程序中的4条语句:

语句①~语句④,每次只使用其中的一条语句。

运行程序并点击按钮Command1,则当使用语句①时,输出的内容是4;

当使用语句②时,输出的内容是

5;

当使用语句③时,输出的内容是7;

当使用语句④时,输出的内容是5。

2DimxAsInteger

3Printa(x)*2'

语句①

4Printx+a(x)*2'

语句②

5Printx+a(x)+a(x)'

语句③

6Printx+a(a(x))'

语句④

9PrivateFunctiona(yAsInteger)AsInteger

10y=y+1

11a=y+1

●Print语句中表达式的求值顺序(从右往左)

9.弦截法求方程x-2sinx=0的根。

如图6.8所示,弦截法的原理为:

对于方程,找一个单调有根区间[x1,x2],连接和两点,连线与横轴交点的横坐标为:

反复使用r取代x1或x2来缩小有根区间。

当或时(e为给定的精度),即认为r是方程的数值解。

完善下面程序。

2Dimx1AsSingle,x2AsSingle

3DimeAsSingle:

DimrAsSingle

4e=0.000001

5x1=Val(Text1.Text)

6x2=Val(Text2.Text)

7Iff(x1)*f(x2)>

0Then

8Text3.Text="

请重新选取两点"

9ExitSub

10EndIf

11Do

12r=(24)

13IfAbs(f(r))<

eOrAbs(x2-x1)<

eThen

14(25)

15ElseIff(r)*f(x1)<

16(26)

17ElseIff(r)*f(x2)<

18(27)

19EndIf

20Loop

21Text3.Text=r

22EndSub

23

24PrivateFunctionf(xAsSingle)AsSingle

25(28)

26EndFunction

四、编程题

1.编写递归函数求1+2+3+……+n的值。

2.编写判断某年是否为闰年的函数。

该函数有一个整型参数表示年份,返回值为逻辑型,当该年份是闰年时,函数返回值为True,否则返回False。

3.编写程序调用例6.4中的函数过程Fib,计算Fibonacci数列中从第几项开始起数列项的值超过10000。

4.编写一个首部为C(mAsInteger,nAsInteger)AsInteger的函数,函数的返回值为:

(其中n≥0,m≥n,m>

0,设0!

=1)

5.编写函数S(mAsInteger,nAsInteger)AsLong,此函数返回m+mm+mmm+…+m…m(n个m)的值。

比如S(2,5)的返回值为2+22+222+2222+22222的值。

6.一小球从100米高处自由落下,落到水平面上后又反弹,每次反弹的高度是前一次高度的一半。

编写函数T(nAsInteger)AsSingle,返回值为第n次反弹到

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1