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

  • 4
  • 0
  • 约7.04千字
  • 约 47页
  • 2018-02-28 发布于浙江
  • 举报
[医学]第四章函数和过程

第四章 函数与过程 掌握自定义函数 掌握过程 掌握作用域 (一)Function函数过程 2、子过程的调用 子过程调用的执行过程: 参数传递 Sub SS(ByVal X%, ByRef Y%, Z%) X = X + 1 Y = Y + 1 Z = Z + 1 End Sub Sub SS(ByVal X%, ByRef Y%, Z%) X = X + 1 Y = Y + 1 Z = Z + 1 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后的运行结果 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 1 2 3 数组参数的传递 VB允许把数组作为实参传送到过程中。例如: Sub s( a() ,b()) …….. End sub 该过程有两个参数,这两个参数都是数组。用数组 作为参数时,应在数组后面加上一对括号。可以用 下面的语句调用该过程: Call s( p (),q()) 把数组p和q传送给a b。当用数组传递时 ,使用传地址方式 10 8 6 4 2 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) = j+1 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 数组作形参 省略维数 例4-9 编制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 d=pd(a,b) print “a=“;a,”b=“;b d=pd(a+b,c) print “a=“;a,”b=”;b End sub 当第一次调用函数pd时,实在参数a 取代形式 参数x,形式参数y 等于实在参数b的地址,即x

文档评论(0)

1亿VIP精品文档

相关文档