版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1 本周六下午2:30在计A321-1以班级为单位,购买VB习题集(自愿),3元1份。通 知2第4、5、6三章需要完全掌握的例题 例 4-4、4-6、4-7、4-13、4-17、4-18、4-19、 4-21、4-23 例 5-2、5-3、5-4、5-6、5-7、5-8、 5-10、5-11 例 6-1、6-3、6-4、6-5、6-10、6-17、 6-18、6-19、6-22、6-23 其中感觉有困难的一定要想办法弄懂,一看就有思路的不妨写一写,或换种方法重新编写。3复习上节课内容1. Sub子过程的定义及调用2. Function函数过程的定义及调用3. 例6-1求组合数 例6-5求孪生素
2、数 分别用子过程和函数来写。46.4 参数的传递 在调用一个有参数的过程时,首先进行的是“形实结合”,实现调用程序与被调用的过程之间的数据传递。1、形参和实参2、按值传递和按地址(引用)传递 区别标志:形参前加“ByVal”关键字时是按值传,否则为按地址传.51、形参与实参(1)形参: 为变量, 实参: 可以是变量、常量、 表达式、数组元素;(2)形参: 为数组, 实参: 一定是数组。62、按值传递与按地址传递 按值传递Private Sub Form_Click( ) 事件过程 Dim m As Integer, n As Integer m = 15: n = 10 Print 调用过程T
3、est前; m=; m, n=; n Call test(m, n) Print 调用过程Test后; m=; m, n=; nEnd SubSub test(ByVal x As Integer, ByVal y As Integer) x = x + 5 : y = x + 2 * y Print 形参的值; x=; x, y=; yEnd Sub通用过程-自定义子过程7按值传递参数的程序结果8Private Sub Form_Click( ) 事件过程 Dim m As Integer, n As Integer m = 15: n = 10 Print 调用过程Test前; m=; m
4、, n=; n Call test(m, n) Print 调用过程Test后; m=; m, n=; nEnd SubSub test(x As Integer, y As Integer) x = x + 5 : y = x + 2 * y Print 形参的值; x=; x, y=; yEnd Sub通用过程-自定义子过程2、按值传递与按地址传递 按地址传递9按地址传递参数的程序结果10 (1)使用按地址传递的形参,对应的实参要求同类型的变量(或数组元素)。若实参是常量或表达式,则按传值方式传递,若和形参类型不一致,则系统自动对实参进行类型转换,将转换后的值送给形参。说明P16911 (
5、2)将变量转变为表达式的方法为将变量加括号。 例6-8 参数的数据类型转换说明P16912 若在应用程序中用“Private Sub Sub1(x As Integer,y As Single)”定义了子程序Sub1,主调程序中的变量I,J均为Integer型,则正确调用子程序Sub1的Call语句是 。Call Sub1(I,J) Call sub1(“245”,”231.5”) CallSub1(3.14,234) Call Sub1(3.1415,I)Call Sub1(3.1415,(I)) Call Sub1(“245abv”,”231.5”)练习:133、 数组参数的传递 数组按地
6、址方式传递。 形参数组的语法格式: 形参数组名( ) As 类型143、 数组参数的传递 形参数组的语法格式: 形参数组名( ) As 类型注意:(1)对应的实参必须是数组,且类型 与形参类型一致。 (2)实参数组直接放在实参表中,忽 略维数的定义,圆括号可以省略。15 (3)如果被调过程不知道实参数组的上下界,可用LBound和UBound函数确定实参数组的下界和上界。 LBound和UBound函数格式: L|UBound(数组名,维数) 示例:3、 数组参数的传递16数组参数的传递示例:Private Sub Printarr( a( ) As Integer ) Dim i As In
7、teger For i=LBound(a) To UBound(a) Print a(i);Next IEnd Sub Private Sub Form_Click( ) Dim a(1 to 4) As Integer, b(2 To 5) As Integer . a ,b 数组元素数据输入,处理 Call Printarr( a( ) ): Call Printarr( b )End Sub形参数组实参数组17 (4)在过程中不能用Dim语句对形参数组进行声明。但如果实参数组是动态的,则可以在过程中用Redim语句来改变数组的大小,被调用以后,实参数组的维界也会随之变化。 例题:3、 数
8、组参数的传递18累乘积问题 例6-9 Private Sub Command1_Click() Dim a%(1 To 5) , b%(3 To 8) , i% , t1# , t2# for i=1 to 5 a(i)=i next i for i=3 to 8 b(i)=i next i t1=tim(a() : t2=tim(b) print “t1=”,t1, “t2=”,t2 end subFunction tim(a() As Integer) Dim t#, i% t=1 For i=LBound(a) To UBound(a) t=t*a(i) Next i tim=tEnd
9、Function19例6-10 选择法排序分析:P195 21(1)(千万不能晕) 例题:20 对于可变参数的过程,在调用时,传递的实参的个数和类型可以是任意变化的。 其格式为: Sub 过程名(ParamArray 数组名() 例6-114、可变参数(了解)21 对象参数:将窗体或控件作为通用过程的参数,其用法与数据类型作为参数一样。 在形参表中如果是窗体参数,则用As Form来定义,如果是控件参数,则用As Control来定义。 如果实参为对象,则只能按地址传递。 例6-125、对象参数(了解)22已知有下面过程Private Sub procl(a%,b$,Optional x As
10、 Boolean) End Sub正确调用此过程的语句是 Call procl(5) Call procl 5, ”abc”, false procl(12, ”abc”, True) procl 5, ”abc” end of 6.46、可选参数 看一个例题236.5 变量、过程的作用域 变量、过程可被访问的范围称为变量、过程的作用域。1、变量的作用域2、过程的作用域241、变量作用域 它决定了哪些子过程或函数过程可能访问该变量。 分为:局部变量、窗体/模块级变量、全局变量。251、变量作用域(1)局部变量 :过程中 Dim|Static 变量名 As 类型, .(2)窗体/模块级变量:窗体
11、/模块通用声明Dim|Private 变量名 As 类型, .(3)全局变量:窗体/模块的通用声明 Public 变量名 As 类型,.26在“过程内”用Dim或Static声明的变量只能在本过程中使用, 别的过程不可访问Dim|Static 变量名 As 类型,变量名 As 类型.局部静态变量局部变量(1) 局部变量27 Dim:定义的变量,只在执行期间存在,过程执行结束,变量内容自动消失,每次调用重新对变量进行初始化;(1) 局部变量28 Static:定义的变量,在程序的整个运行过程中可保留变量的值,直到结束程序的运行,即每次调用过程时,静态变量保持原来的值,而不被重新初始化。 例如:(
12、1) 局部变量29 在一个窗体/模块的任何过程外 即在“通用声明”处。 可被本窗体/模块的任何过程访问。Dim|Private 变量名 As 类型,变量名 As 类型.(2)窗体/模块级变量30在窗体或标准模块的任何“过程或函数”外 即在“通用声明”处,用Public语句声明的变量。Public 变量名 As 类型, 变量名 As 类型.(3)全局变量31(3)全局变量作用域: 整个应用程序,可被应用程序的任何过程访问. 其值在整个程序中保留, 直到整个程序运行结束,才会消失.32变量作用域总结:对不同作用范围的3种变量声明及使用规则作用范围局部变量窗体模块级变量全局变量窗体标准模块声明方式被其它模块过程存取被本模块的其他过程存取声明位置Dim,Static不能不能在过程中Dim,Private不能能窗体模块的“通用声明”段Public能,但在变量名前加窗体名能窗体/模块的“通用声明”段能33过程的作用域分为(1)窗体/模块级(2)全局级。2、过程的作用域34(1)窗体
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 物流行业工作计划范文
- 低保科工作计划
- 酒店销售部工作总结及计划范文
- 2025年部门销售主管工作计划范文
- 医院信息中心工作计划范文
- 政研室工作计划
- 《E芯片试产报告》课件
- 《大学有机化学》课件
- 合同 条款 内部逻辑
- 投标合同条款
- 安徽省合肥市包河区2023-2024学年三年级上学期语文期末试卷
- 【MOOC】新媒体文化十二讲-暨南大学 中国大学慕课MOOC答案
- 2024-2025学年二年级数学上册期末乐考非纸笔测试题(二 )(苏教版)
- 2024年度智能制造生产线改造项目合同
- 2024年度食堂档口承包合同(含菜品研发)3篇
- DB32T 4578.2-2023 丙型病毒性肝炎防治技术指南 第2部分:患者管理
- 护理轮科心得
- 英语期末复习讲座模板
- 9《作息有规律》(说课稿)2024-2025学年统编版(2024)道德与法治一年级上册
- 北京市西城区2023-2024学年六年级上学期语文期末试卷
- 2025年蛇年年会汇报年终总结大会模板
评论
0/150
提交评论