过程VB武科大教学省公共课一等奖全国赛课获奖课件.pptx
《过程VB武科大教学省公共课一等奖全国赛课获奖课件.pptx》由会员分享,可在线阅读,更多相关《过程VB武科大教学省公共课一等奖全国赛课获奖课件.pptx(68页珍藏版)》请在咨信网上搜索。
1、Version 3.0过 程第六章第1页目标目标过程定义和调用参数传递递归变量作用域多窗体与Sub Main过程2 2第2页过程引入过程引入企业年底评先进,全部部门必须依据公共文件:计企业年底评先进,全部部门必须依据公共文件:计算先进人数、评选方法等算先进人数、评选方法等企业经营恪守和使用相关法律、法规、行业规则企业经营恪守和使用相关法律、法规、行业规则在财务管理、进销存、物流等系统中金额必须大写在财务管理、进销存、物流等系统中金额必须大写(代码见试验教程实例)(代码见试验教程实例)3 3第3页过程引入过程引入数据连接、网页顶部和底部怎样结构?以数据连接、网页顶部和底部怎样结构?以ASP.NE
2、T运行为例(以教务系统为例)运行为例(以教务系统为例)4 4第4页过程引入过程引入5 5第5页过程引入过程引入6 6第6页过程引入过程引入分而治之:将复杂问题尽可能地分解成若干分而治之:将复杂问题尽可能地分解成若干个易于处理子问题个易于处理子问题 许多窗体都需要做一样工作,防止代码重复许多窗体都需要做一样工作,防止代码重复 和共享代码,需引入过程。和共享代码,需引入过程。7 7第7页VB应用程序组成应用程序组成 VB应用程序应用程序 (.vbp文件)文件)标标准模准模块块(.bas文件)文件)最少一个窗体最少一个窗体模模块块(.frm文件)文件)Sub过过程程图图片或片或图图 标标事件事件过过
3、程程Sub过程过程VB应用程序组成函数函数过过程程Function()()函数过程函数过程(Function)8 8第8页 定义:定义:将程序分割成较小逻辑部件就能够简化将程序分割成较小逻辑部件就能够简化程序设计任务,称这些部件为程序设计任务,称这些部件为过程。过程作用:压缩重复任务和共享任务。过程作用:压缩重复任务和共享任务。如:数据连接和大小写转换等如:数据连接和大小写转换等 过过 程程 概概 述述9 9第9页过过 程程 概概 述述VB过程分类:过程分类:事件过程:与窗体相关联,发生某个事件时事件过程:与窗体相关联,发生某个事件时调用对应事件过程。调用对应事件过程。通用过程:用户自已确定程
4、序结构通用过程:用户自已确定程序结构(Sub过程、过程、Function过程过程)。1010第10页通用过程和事件过程关系1111第11页事件过程事件过程事件过程:如事件过程:如FORMClick(load)等)等原理:(举例滚动条调字体颜色)原理:(举例滚动条调字体颜色)用户动作对象该对象事件过程Windows操作系统识别通知窗体上相同对象事件过程都不一样,类似于相同岗位在不一样部门做事过程不一样1212第12页通用过程通用过程建立通用过程就相当于创建自己方法或自己建立通用过程就相当于创建自己方法或自己命令动词,该方法(命令)完成一定操作命令动词,该方法(命令)完成一定操作当需要计算机完成这
5、一定操作时,发出自己当需要计算机完成这一定操作时,发出自己命令。我们称之为调用。命令。我们称之为调用。建立通用过程允许带有参数(虚拟参数、形建立通用过程允许带有参数(虚拟参数、形式参数);在调用时对应给予真正参数(实式参数);在调用时对应给予真正参数(实际参数)际参数)包含包含SUB和和Function过程过程1313第13页SUB过程过程普通格式以下普通格式以下 Static PrivatePublic Sub过程名过程名(参数列表列表)语句块语句块 Exit Sub 语句块语句块 End Sub 1414第14页通用(通用(SUB)过程)过程Public 和和Private区分区分Stat
6、ic涵义涵义子过程命名符合变量命名规则子过程命名符合变量命名规则参数列表说明:参数列表说明:BYVA和和ByRef区分区分有始有终:有始有终:-Sub-End Sub过程内语句中能够出现过程内语句中能够出现Exit Sub语句,语句,用于提前退出通用过程用于提前退出通用过程1515第15页静态和动态变量区分静态和动态变量区分Dim t as integer t=t+1 print t换成静态变量:换成静态变量:Static t as integer t=t+1 print t1616第16页SUB过程建立过程建立方法一:快捷方式(利用工具中添加过程:代方法一:快捷方式(利用工具中添加过程:代码
7、窗口)码窗口)1717第17页SUB过程建立和调用过程建立和调用方法二:在窗体或标准模块代码窗口通用段,方法二:在窗体或标准模块代码窗口通用段,输入输入Sub过程名过程名1818第18页SUB过程建立和调用过程建立和调用调用方法调用方法Call 过程名(实参列表)过程名 实参列表调用说明调用说明主程序段调用子过程,程序流自动指向被调用过程被调用时形参和实参在个数、次序、类型要完全一致1919第19页形参加实参形式参数:被调过程中参数。出现在形式参数:被调过程中参数。出现在Sub过过程和程和Function过程中过程中 形式参数能够是变量名和数组名。形式参数能够是变量名和数组名。实际参数:在主调
8、过程中参数。过程调用时实际参数:在主调过程中参数。过程调用时实参数据会传递给形参实参数据会传递给形参 形参表和实参表中对应变量名能够不一样,形参表和实参表中对应变量名能够不一样,但实参和形参个数、次序以及数据类型必须但实参和形参个数、次序以及数据类型必须相同。相同。2020第20页举例举例Sub Dprint(n As Integer)For i=1 To n Print“欢迎进入欢迎进入VB世界世界”Next iEnd SubPrivate Sub Command1_Click()Call Dprint(5)End Sub形式参数形式参数实际参数实际参数2121第21页程序举例程序举例Pri
9、vate Sub Form_Load()Show Call mysub1(30)Call mysub2(1)Call mysub2(1)Call mysub2(1)Call mysub1(30)End Sub Private Sub mysub1(n)Print String(n,*)End SubPrivate Sub mysub2(n)Print*;Tab(30);*End Sub2222第22页例例 编编写写一一个个交交换换两两个个整整型型变变量量值值过过程程SwapSwap,然然后后在在窗窗体体ClickClick事事件件过过程程中中,随随机机产产生生两两个个小小于于10001000正
10、正整整数数,调调用用过过程程SwapSwap完完成成对对其其值值交交换换,并输出交换前后结果。并输出交换前后结果。程序代码以下:程序代码以下:Sub Swap(x As Integer,y As Integer)Dim t as IntegerT=y:y=x:x=tEnd SubSub Form_Click()Dim a As Integer,b As Integera=Int(Rnd*1000)b=Int(Rnd*1000)Print 交换前交换前:Print a=;a,b=;bSwap a,b 或或 Call Swap(a,b)Print 交换后交换后:Print a=;a,b=;bEnd
11、 Sub2323第23页举例举例Sub Pyramid()For i=1 To 5 Print Spc(10-i);For j=1 To 2*i-1 Print*;Next j Print Next iEnd SubPrivate Sub FORM_Click()Call PyramidEnd Sub调用调用建立建立Pyramid过程过程2424第24页程序举例程序举例-计算计算 5!+10!先定义阶乘方法先定义阶乘方法:Private Sub Jc(n As Integer,t As Long)Dim i As Integer t=1 For i=1 To n t=t*i Next i En
12、d SubPrivate Sub Form_Load()Show Dim y As Long,s As Long Call Jc(5,y)s=y Call Jc(10,y)s=s+y Print 5!+10!=;s End Sub2525第25页课堂练习课堂练习计算计算1!+2!+.+10!以下列图型怎样设计:以下列图型怎样设计:*2626第26页 自定义函数过程有两种方法:自定义函数过程有两种方法:(1)利用代码窗口下利用代码窗口下“工具工具”菜单下菜单下“添加过添加过程程”命令命令 定义,生成一个函数框架。定义,生成一个函数框架。(2)利用代码窗口直接定义。利用代码窗口直接定义。Funct
13、ion函数过程2727第27页Function函数过程函数过程函数过程形式:Function 函数名(参数列表)As 类型 局部变量或常数定义 语句块 函数名=表示式 函数体 Exit FunctionEnd Function2828第28页Function函数过程函数过程函数过程名:命名规则同变量名参数列表形式:变量名 As 类型形参仅表示参数个数、类型,无值。函数名=返回值:在函数体内最少对函数名赋值一次。Exit Function :表示退出函数过程。2929第29页Function函数过程与调用函数过程与调用Function过程有返回值,通惯用于完成特定计算过程有返回值,通惯用于完成特
14、定计算过程内语句中能够出现过程内语句中能够出现Exit Function语句,用于语句,用于提前退出函数过程提前退出函数过程过程内语句中必须最少有一条对函数名赋值语句过程内语句中必须最少有一条对函数名赋值语句函数名函数名=表示式表示式调用方法:与标准函数利用完全一样,能够出现调用方法:与标准函数利用完全一样,能够出现在表示式中在表示式中3030第30页Function过程调用直接调用直接调用 像使用像使用VB内部函数一样,只需写出函数名和对内部函数一样,只需写出函数名和对应参数即可。比如:应参数即可。比如:s=Max(a,b)Print Max(s,c)用用Call语句调用语句调用 与调用与调
15、用Sub过程一样来调用过程一样来调用Function过程过程 Call Max(a,b)当用这种方法调用当用这种方法调用Function过程时,将会放弃返过程时,将会放弃返回值。回值。3131第31页举例举例-输入三个数,求出它们最大数输入三个数,求出它们最大数定义求最大值函数定义求最大值函数Function max(m,n)As Single If m n Then max=m Else max=n End If End Function Private Sub Form_click()Dim a As Single,b As Single,c As SingleDim s As Singl
16、ea=Val(InputBox(输入第一个数输入第一个数)b=Val(InputBox(输入第二个数输入第二个数)c=Val(InputBox(输入第三个数输入第三个数)s=max(a,b)Print 最大数是最大数是:;max(s,c)End Sub 函数作为变量使用函数作为变量使用函数作为变量使用函数作为变量使用形式参数形式参数m,n函函数数名名3232第32页举例举例计算计算计算计算1!+2!+.+10!Private Sub Form_Click()Dim i As Integer,s As Double s=0 For i=1 To 10 s=s+f(i)Next i Print 1
17、!+2!+.+10!=;sEnd Sub自定义函数:自定义函数:Public Function f(x As Integer)As Double t=1 For i=1 To x t=t*i Next i f=tEnd Function3333第33页举例举例Function nFactor(n As Integer)As Long T=1 For i=1 To n T=T*i Next i nFactor=TEnd FunctionPrivate Sub FORM_Click()s=0 For i=1 to 10s=s+nFactor(i)Next I Print“1!+2!+10!=”;s
18、End Sub形式参数形式参数实际参数实际参数函数名函数名3434第34页Fabonacci数列数列Option ExplicitPrivate Sub Command1_Click()Dim n As IntegerDo n=Val(InputBox(n=)Loop While n=0Print Fabonacci数列第数列第;n;项项=;f(n)End SubPublic Function f(x As Integer)As Long If x=1 Then f=0:Exit Function If x=2 Then f=1:Exit Function f=f(x-1)+f(x-2)End
19、 Function3535第35页课堂练习课堂练习Private Sub Command1_Click()Dim I As Integer Dim e As Single,F As Long For I=0 To 10 F=Factorial(I)计算计算 I!e=e+1/F Next I Print e=;eEnd Sub返回目录返回目录Function Factorial(X As Integer)As Long Dim I As Integer,T As Long T=1 For I=1 To X 计计算算 X!T=T*I Next I Factorial=TEnd Function 计
20、算阶乘函数过程3636第36页总结总结-sub 和和function过程比过程比较较(1)过程申明关键字不一样过程申明关键字不一样(2)子过程无返回值,函数过程有返回值子过程无返回值,函数过程有返回值(其返回值类型要定义)。(其返回值类型要定义)。(3)Sub 过程中没有对过程名赋值语句,过程中没有对过程名赋值语句,而而Function过程中一定有对函数名赋值语句过程中一定有对函数名赋值语句。3737第37页总结总结-sub 和和function过程比过程比较较(4)调用方式不一样,子过程是一条独立语调用方式不一样,子过程是一条独立语句,可用句,可用Call子过程名或省略子过程名或省略Call
21、直接以子过直接以子过程名调用;函数过程不是一条独立语句,是程名调用;函数过程不是一条独立语句,是一个函数值,必须参加表示式运算。一个函数值,必须参加表示式运算。(5)普通来说,一个函数过程能够被一个子普通来说,一个函数过程能够被一个子过程代替,代替时只要改变函数过程定义形过程代替,代替时只要改变函数过程定义形式,并在子过程形参表中增加一个地址传递式,并在子过程形参表中增加一个地址传递形参来传递结果。形参来传递结果。3838第38页参数传递参数传递按值传递 和和 按地址传递(VB默认数据传递方式)ByVal 传值 Byref传址实参暂时单元实参形参形参3939第39页按值传递 和和 按地址传递P
22、rivate Sub xyz(ByVal n As Integer)n=n+5End SubPrivate Sub abc(ByRef n As Integer)n=n+5End SubPrivate Sub Command1_Click()Dim x As Integer x=3 Call xyz(x)x值传给值传给n,相当于,相当于n=3 Print x x依然操持原有值依然操持原有值 Call abc(x)x值传给值传给n,相当于,相当于n=3 Print x 因为在执行因为在执行abc过程中过程中n=8了,了,x同时变为同时变为8End Sub单击单击Command1后,打印出:后,打
23、印出:384040第40页数组作为参数值传递方式数组作为参数值传递方式数组参数只能按地址传递在实参和形参中无需说明数组维数数组上界和下界可用Lbound()和Ubound()函数测出返回目录返回目录 4141第41页3.数组参数 在在一一个个通通用用过过程程中中使使用用数数组组作作为为参参数数时时,除除遵遵照照参参数数基基本本标标准准外外,还还须注意以下几点须注意以下几点:数数组组作作形形参参时时,普普通通不不申申明明大大小小,但但括括号号不不能能省省略略,方方便便与与普普通通变量混同。变量混同。数数组组作作形形参参时时,只只能能采采取取按按地地址址传传送送方方式式,即即在在定定义义数数组组时
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 过程 VB 武科大 教学 公共课 一等奖 全国 获奖 课件
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【a199****6536】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【a199****6536】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。