电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

[医学]第四章函数和过程

47页
  • 卖家[上传人]:tia****nde
  • 文档编号:70633758
  • 上传时间:2019-01-17
  • 文档格式:PPT
  • 文档大小:441.31KB
  • / 47 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、第四章 函数与过程,掌握自定义函数 掌握过程 掌握作用域,例,在处理具体问题的程序设计时,常常会遇到需要多 次执行能够完成一个或几个功能的程序段或多次按 某一规律计算某一类数值的问题。,过程是用来执行一个特定任务的一段程序代码。 VB应用程序(又称工程或项目)由若干过程组成。,过程分两类:,事件过程:当发生某个事件(click)时,对该事件做 出响应的程序段。,通用过程:当多个 不同的事件过程可能需要使用 一段相同的程序代码,可以把这一段代码独立出, 作为一个过程。,通用过程,(一)Function函数过程,VB提供了许多内部函数,如Sin(N),Sqr(N)等, 在编写程序时,只需写出函数名和相应的参数,就 可得到函数值。同内部函数一样,函数过程也有一 个返回值。,1、函数(Function)的定义 函数过程的定义方法也有以下两种。 (1)利用“工具”菜单下的“添加过程”命令定义,Public|PrivateStaticFunction 函数名()As 函数名=表达式 Exit Function End Function,(2)用代码窗口直接定义,(1) Public声明该自定义函数

      2、可以在所有模块的任何 子程序中使用。 Private 声明该函数可以在定义它的模块的任何子 程序中使用。 若无public 和private,则系统默认为public;,Static 表示在该函数内所定义的变量在函数结束时使 用的变量值将保留到下次该函数被访问时。如果省略, 则每次执行该自定义时该区域的变量都重新置初值。,说明:,(2)函数名:命名规则与变量名规则相同。但不能与系统的内部函数或其它通用子过程同名,也不能与已定义的全局变量和本模块中模块级变量同名。 (3)在函数体内,函数名可以当变量使用,函数的返回值就是通过对函数名的赋值语句来实现的,在函数中至少要对函数名赋值一次。 (4)AS类型:是指函数返回值的类型,若省略,则函数返回变体类型值(Variant)。,()Exit Function:表示退出函数过程,常常是与选择结构(If或Select Case语句)联用,即当满足一定条件时,退出函数过程。 ()参数列表:形式参数通常简称“形参”,仅表示形参的类型、个数、位置,定义时是无值的,只有在被调用时,与实参结合后才获得相应的值。,参数的定义形式: ByValByRef变量名(

      3、 )As 类型,, ByVal表示当该过程被调用时,参数是按值传递的;在过程中的变化不会返回到主程序。 缺省或ByRef表示当该过程被调用时,参数是按地址传递的,即参数值在过程中的任何变化都返回主程序。,例:下面的全局函数MyAbs计算给定数的绝对值,Public function MyAbs(dbl1 as Double) as Double,If dbl1=0 Then MyAbs =dbl1 Else MyAbs=-dbl1 End if,End function,函数值表达式,Fac = F,函数=返回值,例:用函数求阶层,填空。,2、函数的调用,调用形式如下: 变量名函数名(实参列表) 其功能是求得函数的返回值。 说明: 在调用时实参和形参的数据类型、顺序、个数必须匹配。 函数过程不能作为单独的语句加以调用,必须作为表达式或表达式的一部分。,变量名 = 函数名(参数列表),下面的语句调用上例中的MyAbs函数。,int1 =MyAbs(-5) Sng1=sin(2*MyAbs(3)-MyAbs(-2),【例】编一个求n!的函数过程,然后调用它计算 7!+11!-10!。,调用

      4、过程的语句为:,jch(7),jch(11),jch(10),例43 显示11000之间的素数。要求编制函数 过程,用于判断1个整数是否是素数,例44 计算a数组中的最大值与b数组中最大值之差,(二)sub过程(子过程),1、子过程的定义形式如下: Public|PrivateStatic Sub 子过程名(形参表) 语句组 Exit Sub 语句组 End Sub,说明: 1)定义的关键字是sub 和end sub 2)无返回值,亦即无s类型 3) 中可以有多个形参,它们之间用逗号“,”隔开。也可以无形式参数,同时括号也应无.,Public Sub Swap( X As Integer, Y As Integer) Dim Temp As Integer Temp=X X=Y Y=Temp End Sub,例:编一个交换两个整型变量值的子过程。,2、子过程的调用,(1) 用Call语句调用Sub过程 格式:Call 过程名(参数列表) 例如: Call swap(a,b),(2) 把过程名作为一个语句来使用 格式: 过程名参数列表 与第一种调用方法相比,这种调用方式省略了关键字Cal

      5、l,去掉了“参数列表”的括号。 例如: swap a,b,子过程调用的执行过程:,Private Sub CmdOK() Call Swap(a,b) Swap a,b End Sub,Private Sub Swap(x%,y%) Dim temp% Temp=X X=Y Y=Temp End Sub,【例】编一个求n!的子过程,然后调用它计算7!+11!-10!。,sub过程与function函数过程的区别,区别: (1)子过程以关键字Sub开始,函数以关键字Function开始。 (2)子过程没有返回值,没有类型; 函数有返回值,有类型。 (3)调用时,子过程是一条独立的语句; 但函数不能作为独立的语句加以调用,必须参与表达式运算。,例47 将数组中各元素按值从大到小排序,要求 将数组排序编写为sub过程,参数传递,在调用过程时,一般主调过程与被调过程之间有 数据传递,即将主调过程的实参传递给被调过程 的形参,完成实参与形参的结合,然后执行被调 过程体。,主调过程:调用函数语句所在的母体,被调过程:调用语句中的过程,如:Form_click()为主调过程,jch()为被调过程,形

      6、式参数(简称”形参“)是指在定义sub子过程或 Function函数中后面圆括号内的参数。它用来接收 传送给过程的数据。,Public Function psqr(a1 as Integer,b1 as Integer) as Integer psqr=Sqr(a12+b12)+a1*b1 End Function,形参,实际参数,实际参数(简称“实参”)是指在调用sub或Function 时,写入子过程名或函数名后面圆括号内的参数。 它将它们的数据(数值或地址)传送给sub或Function 与其对应的形式参数。 实参可以是常量、表达式、有效的变量名、数 组名等。,Sub form_click() . . x=psqr(1,2) End sub,(1)传值 传值的参数传递过程是:当调用一个过程时,系统将实参的值复制给形参,之后实参与形参便断开了联系。被调过程对形参的操作是在形参自己的存储单元中进行,当过程调用结束时,这些形参所占用的存储单元也同时被释放。因此在过程中对形参的任何操作都不会影响到实参。,形参加ByVal.,两种方式:传值和传地址,(2)传址 传址的参数传递过程是:当调用

      7、一个过程时,它将实参的地址传递给形参。因此在被调过程体中对形参的任何操作都变成了对相应实参的操作,因此实参的值就会随形参的改变而改变。当参数是字符串或数组时,使用传址传递直接将实参的地址传递给过程,会使程序的效率提高。,形参加ByRef。,若省略,则按地址传递。,Private Sub Command1_Click() a% = 10 b% = 20 Swap1 a, b print a,b End Sub,Sub Swap1(ByVal x%, ByVal y%) t% = x: x = y: y = t End Sub,传值(形参前有ByVal说明) 实参的值不随形参的值变化而改变,Private Sub Command2_Click() a% = 10 b% = 20 Swap2 a, b print a, b End Sub,Sub Swap2(x%, y%) t% = x: x = y: y = t End Sub,传址(形参前有ByRef说明) 实参的值随形参值的改变而改变,例:单击Command1后的运行结果,Sub SS(ByVal X%, ByRef Y%, Z%)

      8、X = X + 1 Y = Y + 1 Z = Z + 1 End Sub,Private Sub Command1_Click() Dim A%, B%, C% A = 1 B = 2 C = 3 Call SS(A, B, C) Print A; B; C End Sub,1 3 4,注意: 如果在调用时该形参对应的实参是常量或者表达式,则按值传递方式调用过程。,Private Sub Command1_Click() Dim A%, B%, C% A = 1 B = 2 C = 3 Call SS(A, 2, C+1) Print A; B; C End Sub,Sub SS(ByVal X%, ByRef Y%, Z%) X = X + 1 Y = Y + 1 Z = Z + 1 End Sub,1 2 3,数组参数的传递,VB允许把数组作为实参传送到过程中。例如:,Sub s( a() ,b() End sub,该过程有两个参数,这两个参数都是数组。用数组 作为参数时,应在数组后面加上一对括号。可以用 下面的语句调用该过程:,Call s( p (),q(),把数组p和q传送

      9、给a b。当用数组传递时 ,使用传地址方式,p数组,实参数组与形参数组,p(0)=2,a(0)=2,如果在过程中改变了a数 组的值,例如a(4)=2,那么 在执行完过程后,数组p的 第4个元素的值变为20。,a数组,注意: 过程定义时,形参列表中的数组用数组名后的一对空的圆括号表示,维数省略。而在调用时不需要一定要加括号。 用数组作为过程的参数时,进行的不是“值”的传递,而是“址”的传递。,例:输入一维数组,对数组中的值进行求积,用函数实现。,Private Sub form_Click() Dim a(3) As Integer Dim k As Integer, j As Integer End Sub,For j = LBound(a) To UBound(a) a (j) = j1 Next j,k = tim(a( ) Print k,Private Function tim(n( ) As Integer) Dim t%, i% t = 1 For i = LBound(n) To UBound(n) t = t * n(i) Next i tim = t End Function,例49 编制sub过程,用于在数组中找出最大值、 最小值。,习题:设function pd()是自定义函数;函数被调用多次, 请仔细分析每次调用后有关变量的变化。,Function pd(ByVal x as Integer,y as Integer) As integer Dim m as Integer Dim n as Integer m=x+y : x=x+1 y=y+1: n=x-y print “m=“;m;”x=”;x ;”y=”;y _ ;”n=”;n pd=n End Function,Sub Form_click() Dim a as integer,b as integer Dim c as integer,d as integer a=2:b=3:c=0 d=pd(a,b) print “a=”;a,”b=“;b

      《[医学]第四章函数和过程》由会员tia****nde分享,可在线阅读,更多相关《[医学]第四章函数和过程》请在金锄头文库上搜索。

      点击阅读更多内容
    最新标签
    发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2 2022年小学体育教师学期工作总结 2022年家长会心得体会集合15篇
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.