欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    第8章过程电子课件 中职 高教版 Visual Basic程序设计(第4版).pptx

    • 资源ID:90819749       资源大小:341.13KB        全文页数:34页
    • 资源格式: PPTX        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    第8章过程电子课件 中职 高教版 Visual Basic程序设计(第4版).pptx

    第8章 过 程电子课件 中职 高教版 Visual Basic程序设计(第4版)单元八单元八单元八单元八 过过过过 程程程程 在在VB程序程序设计中,除中,除进行界面行界面设计和算法和算法设计外,主外,主要工作是要工作是编写程序代写程序代码,而,而编写代写代码时根据根据应用的复用的复杂程度,往往要将程度,往往要将应用按功能及其他目的划分用按功能及其他目的划分为若干个模若干个模块,而,而对每个模每个模块按照情况按照情况还可以可以继续细分分为子模子模块,通通过VB提供的自定提供的自定义过程将模程将模块定定义为一个个一个个过程,供程,供事件事件过程多次程多次调用。用。在前面的各章在前面的各章节中,我中,我们已多次使用了已多次使用了事件事件过程程,这样的的过程构成了程构成了VB应用程序的主体。而用用程序的主体。而用户自定自定义的的过程(也称程(也称为通用通用过程程),可以),可以单独建立,供事件独建立,供事件过程程或其他或其他过程程调用。用。在在VB中根据中根据过程是否有返回程是否有返回值,可把,可把通用通用过程程分分为两两类,即,即子子过程程和和函数函数过程程。单元八单元八 过过 程程事事事事 件件件件 过过过过 程程程程 1 1 1 1子子子子 过过过过 程程程程 2 2 2 2函函函函 数数数数 过过过过 程程程程 3 3 3 3过程间参数的传递过程间参数的传递过程间参数的传递过程间参数的传递 4 4 4 4过程的嵌套与递归过程的嵌套与递归过程的嵌套与递归过程的嵌套与递归 5 5 5 5常常常常 用用用用 算算算算 法法法法 实实实实 例例例例 6 6 6 68.1 事件过程1.事件过程的运行机制 事件事件过程由程由VB自行声明,用自行声明,用户不能增加或不能增加或删除。当用除。当用户对某个某个对象象发出一个出一个动作作时,Windows会通知会通知VB产生了一个事件,生了一个事件,VB会自会自动地地调用与用与该事件相关的事件事件相关的事件过程。即当程。即当对象象对一个事件的一个事件的发生做出生做出认定定时,VB便自便自动用用相相应于事件的名字于事件的名字调用用该事件的事件的过程。由于名程。由于名字在字在对象和代象和代码之之间建立了建立了联系,所以系,所以说事件事件过程是依附于窗体和控件上的。程是依附于窗体和控件上的。2.事件过程的语法格式 控件事件控件事件过程的程的语法格式法格式为:Private Sub控件名控件名_事件名事件名(形参表形参表)语句句组 End Sub 窗体事件窗体事件过程的程的语法法为:Private Sub Form_事件名事件名(形参表形参表)语句句组 End Sub返回目录8.2 子过程 当有几个不同的事件当有几个不同的事件过程需要程需要执行相同的操作行相同的操作时,为了了简化程序,可以将公共化程序,可以将公共语句放入分离开句放入分离开的子的子过程(通用程(通用过程)中,并由事件程)中,并由事件过程来程来调用用它。它。这样不必重复不必重复编写代写代码,维护程序也程序也较容易。容易。子子过程不与任何特定的事件相程不与任何特定的事件相联系,只能由系,只能由别的的过程来程来调用,它可以存用,它可以存储在窗体或在窗体或标准模准模块中。中。8.2.1 子过程的程序设计实例分分别计算算阶乘乘5!,6!,8!,以及它,以及它们的和的和5!+6!+8!。Sub fact(m As Integer,total As Long)Dim i As Integer total=1 For i=1 To m total=total*i Next iEnd SubPrivate Sub Command1_Click(Index As Integer)Dim a As Integer,b As Integer,c As Integer,s As Long,tot As Long n=Index Select Case n Case 0 a=5 Call fact(a,tot)Label1.Caption=a&!=&tot Case 1 a=6 Call fact(a,tot)Label1.Caption=a&!=&tot Case 2 a=8 Call fact(a,tot)Label1.Caption=a&!=&tot Case 3 a=5:b=6:c=8 Call fact(a,tot)s=tot Call fact(b,tot)s=s+tot Call fact(c,tot)s=s+tot Label1.Caption=a&!+&b&!+&c&!=&s End SelectEnd Sub8.2.2 子过程程序设计的相关知识1.建立子过程的两种方法 (1)使用使用“添加添加过程程”对话框框。打开代打开代码编辑窗口,窗口,单击“工具工具”菜菜单“添加添加过程程”命令,打开命令,打开“添加添加过程程”对话框。在框。在“名称名称”文本文本框中框中输入入过程名程名“fact”,从,从“类型型”组中中选中中“子子程序程序”项,从,从“范范围”组中中选中中“公有的公有的”项,单击“确定确定”按按钮。(2)在在“代代码”编辑窗口中窗口中输入入。Private|Public Static Sub过程名程名(形参表形参表 )语句句组 Exit Sub 语句句组 End Sub2.调用子过程的两种方法(1)使用使用Call语句句Call过程名程名(实参表参表 )(2)直接使用直接使用过程名程名过程名程名实参表参表 例如,下面两个例如,下面两个语句都句都调用用fact子子过程:程:Call fact(5)fact 5返回目录8.3 函数过程 函数是函数是过程的另一种形式,当程的另一种形式,当过程的程的执行要行要返回一个返回一个值时,使用函数,使用函数过程更方便。程更方便。VB中包中包含了含了许多内部函数,如多内部函数,如Int、Sqr等。用等。用户在在编写程序写程序时,只需写出一个函数名并,只需写出一个函数名并给定参数就能定参数就能得出函数得出函数值。但是,如果在程序中需要多次用到。但是,如果在程序中需要多次用到某一公式或要某一公式或要处理某一函数关系,而又没有理某一函数关系,而又没有现成成的内部函数可用的内部函数可用时,可以自己,可以自己编写写Function(函(函数)数)过程。程。8.3.1 函数过程的程序设计实例利用函数利用函数过程,求程,求1!+2!+3!+4!+5!+6!Function fact(x As Integer)As Long Dim p As Long,i As Integer p=1 For i=1 To x p=p*i Next i fact=p End FunctionPrivate Sub Command1_Click()Dim sum As Long,i As Integer For i=1 To 6 sum=sum+fact(i)Next i Label2.Caption=sum End Sub8.3.2 函数过程程序设计的相关知识1.定义函数过程的两种方法 (1)使用使用“添加添加过程程”对话框框。打开打开“添加添加过程程”对话框,在框,在“类型型”中中选择“函数函数”,单击“确定确定”按按钮。(2)在在“代代码”编辑窗口窗口输入入。Private|Public Static Function函数名(形参表 )As 类型 语句组 函数名=表达式 Exit Function 语句组 函数名=表达式End Function2.调用函数过程的两种方法 (1)直接调用 在表达式中直接写上它的名字。例如,已在表达式中直接写上它的名字。例如,已编有有计算算圆面面积的函数的函数过程程cir(),调用方法用方法为:MsgBox 圆面面积为:&cir(10)(2)用Call语句调用利用下面的代利用下面的代码都都调用同一个函数用同一个函数过程:程:Call cir(10)area 103.调用无参函数的方法 函数可以没有参数,在函数可以没有参数,在调用无参函数用无参函数时不不发生虚生虚实结合。合。调用无参函数得到一个固定的用无参函数得到一个固定的值,如下述无参函数:如下述无参函数:Function a a=ABCDEnd Function 可如下可如下调用:用:Print a返回目录8.4 过程间参数的传递8.4.1 参数的基本概念1.参数的分参数的分类 在在VB中根据参数所在的中根据参数所在的过程,将参数分程,将参数分为形式参数和形式参数和实际参数。参数。形式参数是在子形式参数是在子过程和函数程和函数过程的定程的定义中出中出现的的变量名;量名;实际参数参数则是在是在调用子用子过程和函数程和函数过程程时,传送送给子子过程和程和函数函数过程的常数、程的常数、变量、表达式或数量、表达式或数组。在在VB中,通常把形式参数叫做中,通常把形式参数叫做“形参形参”,把,把实际参数叫参数叫做做“实参参”。2.形参表形参表形参表中的各个形参表中的各个变量之量之间用逗号分隔,表中的用逗号分隔,表中的变量可以是:量可以是:(1)后面跟有左、右后面跟有左、右圆括号的数括号的数组名。名。(2)除定除定长字符串之外的合法字符串之外的合法变量名。量名。3.实参表 实参表中的各参表中的各项用逗号隔开,用逗号隔开,实参可以是:参可以是:(1)常量;常量;(2)表达式;表达式;(3)合法的合法的变量名;量名;(4)后面跟有左、右括号的数后面跟有左、右括号的数组名。名。4.形参与实参的对应关系 实参参调用过程:Call ts(50,avrg(),hello,a,b)定义过程:Sub ts(n As Integer,a()As Single,b As rectype,c As String,d As Single)形参形参 8.4.2 传址与传值1.传址 (1)传址就是址就是让过程根据程根据变量的内存地址去量的内存地址去访问实际变量的内容,即形参与量的内容,即形参与实参使用相同的参使用相同的内存地址内存地址单元,元,这样通通过子子过程就可以改程就可以改变变量本身的量本身的值。(2)在在传址址调用用时,实际参数必参数必须是是变量,量,常量或表达式无法常量或表达式无法传址。址。(3)系系统缺省按地址缺省按地址传递参数。参数。Sub try(x As Integer,y As Integer)x=x+2 y=y+3 Print x=;x,y=;y End SubPrivate Sub Form_Click()Dim a As Integer,b As Integer a=5 b=6 try a,b Print a=;a,b=;b End Sub2.传值 (1)传值就是通就是通过值传送送实际参数,即参数,即传送送实参的参的值而而不是不是传送它的地址。送它的地址。(2)当要求当要求变量按量按值传送送时,可以用下面的方法:,可以用下面的方法:把把变量量变成一个表达式。把成一个表达式。把变量量转换成表达式的成表达式的最最简单的方法就是把它放在括号内。例如把的方法就是把它放在括号内。例如把变量用括号量用括号括起来,把它括起来,把它变为一个表达式,如一个表达式,如“(a)”。定定义过程程时用用ByVal关关键字指出参数是按字指出参数是按值来来传递的,例如:的,例如:Sub PostAc(ByVal x As Integer)x=x+2End SubSub try(ByVal x As Integer,ByVal y As Integer)x=x+2 y=y+3 Print x=;x,y=;y End SubPrivate Sub Form_Click()Dim a As Integer,b As Integer a=5 b=6 try a,b Print a=;a,b=;b End Sub返回目录 主程序调用 a End Sub a调用 b End Sub bEnd Sub8.5 过程的嵌套与递归8.5.1 过程的嵌套调用 主程序可以调用子过程,在子过程中还可以调用另外的子过程,这种程序结构称为过程的嵌套。输入参数入参数n,m,求,求组合数的合数的值。Private Function fact(x)p=1 For i=1 To x p=p*i Next i fact=p End FunctionPrivate Function comb(n,m)comb=fact(n)/(fact(m)*fact(n m)End FunctionPrivate Sub Command1_Click()m=Val(Text1.Text)n=Val(Text2.Text)If m n Then MsgBox 输入数据不正确!入数据不正确!,0,请检查!Exit Sub End If Label2.Caption=组合数是:合数是:&comb(n,m)End Sub 8.5.2 过程的递归利用利用递归调用用计算算n!,。,。Private Function fact(n)As Double If n 0 Then fact=n*fact(n-1)Else fact=1 End IfEnd FunctionPrivate Sub Text1_KeyPress(KeyAscii As Integer)Dim n As Integer,m As Double If KeyAscii=13 Then n=Val(Text1.Text0)If n 20 Then MsgBox(非法数据!非法数据!):Exit Sub m=fact(n)Text2.Text=Format(m,!)Text1.SetFocus End IfEnd Sub返回目录8.6 常用算法实例8.6.1 将常用公式设计为子过程 编写一个计算矩形面积的Sub过程,然后调用该过程计算矩形面积。Sub recarea(rlen,rwid)Sub recarea(rlen,rwid)Dim area Dim area area=rlen*rwid area=rlen*rwid MsgBox MsgBox 矩形的面积是:矩形的面积是:&area&area End SubEnd SubPrivate Sub Form_click()Private Sub Form_click()Dim a,b Dim a,b a=InputBox(a=InputBox(请输入矩形面积的长度:请输入矩形面积的长度:)b=InputBox(b=InputBox(请输入矩形面积的宽度:请输入矩形面积的宽度:)recarea a,brecarea a,b End SubEnd Sub8.6.2 利用过程函数输出特定的图形Private Function stri(n As Integer,f As String)p=For i=1 To n p=p&f Next stri=p End FunctionPrivate Sub Form_Click()Dim f As String*1 f=InputBox(显示的字符显示的字符:,请输入请输入,$)If f=Then f=$Cls Print For n=1 To 7 Print Tab(2*n+2);Print stri(15 2*n,f);Print Spc(8);Print stri(2*n 1,f);Print NextEnd Sub8.6.3 递归问题 有有5个人坐在一起,个人坐在一起,问第第5个人多少个人多少岁?他?他说比第比第4个个人大人大2岁。问第第4个人个人岁数,他数,他说比第比第3个人大个人大2岁。问第第3个人,又个人,又说比第比第2个人大个人大2岁。问第第2个人,个人,说比第比第1个个人大人大2岁。最后。最后问第第1个人,他个人,他说是是10岁。请问第第5个人个人有多大有多大岁数。数。Private Function age(n As Integer)As Integer If n=1 Then age=10 Else age=age(n 1)+2 End IfEnd FunctionPrivate Sub Form_Load()Label2.Caption=答案:第五个人的答案:第五个人的岁数是数是&age(5)End Sub8.6.4 加密、解密问题 实现英英语单词或短或短语的加密的加密解密操作。加密解密操作。加密解密的解密的基本原基本原则是:把英是:把英语单词或短或短语中每个字符的中每个字符的ASCII码加上加上2,使其,使其变为另外一个字符。例如另外一个字符。例如“ABCDE”,每个,每个字符的字符的ASCII码加加2,变为“CEDFG”,从而,从而对原来的原来的单词或短或短语“加密加密”。Function en(inp As String)Dim i As Integer Dim sout As String,scurrent As String,snew As String i=Len(inp)For x=1 To i scurrent=Mid$(inp,x,1)snew=Chr$(Asc(scurrent)+2)sout=sout&snew Next x en=sout End FunctionFunction de(inp As String)Dim i As Integer Dim sout As String,scurrent As String,snew As String i=Len(inp)For x=1 To i scurrent=Mid$(inp,x,1)snew=Chr$(Asc(scurrent)2)sout=sout&snew Next x de=soutEnd FunctionDim sph As StringPrivate Sub Command1_Click()Text1.Text=Text1.SetFocus End SubPrivate Sub Command2_Click()Dim sen As String sen=en(Text1.Text)Label1.Caption=sen End SubPrivate Sub Command3_Click()Dim sde As String sde=de(en(Text1.Text)Label2.Caption=sdeEnd Sub8.6.5 验证哥德巴赫猜想 一个不小于一个不小于6的偶数可以表示的偶数可以表示为两个素数之和。例如:两个素数之和。例如:6=3+3,8=3+5,10=3+7,。Private Sub Prime(m As Long,f As Boolean)f=True If m 3 Then For i=3 To Sqr(m)If m Mod i=0 Then f=False:Exit For Next End IfEnd SubPrivate Sub Command1_Click()Dim n As Long,x As Long,y As Long,p As Boolean n=Val(Text1.Text)If n 6 Or n Mod 2 0 Then MsgBox 对不起!必不起!必须输入大于入大于6的偶数,的偶数,请您重新您重新输入入!Cancel=True Else For x=3 To n/2 Step 2 Call Prime(x,p)If p Then y=n x Call Prime(y,p)If p Then Text2.Text=x&+&y Exit For End If End If Next End If Text1.SelStart=0 Text1.SelLength=Len(Text1.Text)End Sub返回目录结束结束返回目录

    注意事项

    本文(第8章过程电子课件 中职 高教版 Visual Basic程序设计(第4版).pptx)为本站会员(春哥&#****71;)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开