过程和函数都为子程序,但也有区别:
5、调用方式不同。函数的调用出现在表达式中,过程调用,由独立的过程调用语句来完成。
6、过程一般会被设计成求若干个运算结果,完成一系列的数据处理,或与计算无关的各种操作;而函数往往只为了求得一个函数值。
全程变量的作用域分为两种情况:
①在全程变量和局部变量不同名时,其作用域是整个程序。
②在全程变量和局部变量同名时,局部变量屏蔽了全程变量。
(1)形参:在函数或过程定义中,没有加VAR 说明的参数,在调用函数或过程时,调用程序将实参
的值直接传递给形参,起着赋值作用。
(2)变量形参:在函数或过程定义中,加有VAR 说明的参数,在调用函数或过程时,调用程序将实
参的变量地址传递给变量形参,因此当过程或函数处理中,改变变量形参的值,则实参的变量值也随之改
变。(共享同一个存储单元)
小结形参和变量形参的区别:
①形参传值:为形参分配存贮单元,将实参的值赋给形参,过程体内对形参的操作不影响实参的值。
一旦过程体执行完毕,系统将收回形参所占用的存贮单元,形参的值也就不复存在。
②变量形参传地址:将实参的地址传给对应的变量形参,即变量形参与实参共享实参的地址,因此对
变量形参的操作就是对实参的操作。一旦过程体执行完毕,系统将收回变量形参所占用的存贮单元,但运
算结果已保留在对应的实参中。
形参变量是地址,形参是实际值。
一个过程也分为三部分,1:过程的首部。过程必须以PROCEDURE开头,过程名
的取名规则和函数名一样,括号里面是形式参数,如形参不止一种,则中间用“;”隔开,同类形参如不
止一个,则中间用“,”隔开。另:有时侯过程不用加参数。2:过程的说明部分,用VAR开头,它只能
对过程中的变量进行说明,同样是局部变量。另:如果过程不用变量,则可将说明部分省略。3:过程体。
它是过程的执行部分。