2.函数
函数是有返回值的子程序。函数可以分为:标准函数和自定义函数。
标准函数也称为内部函数,是系统内部已经定义好的函数,可以直接使用。本节重点介绍自定义函数。
2.1自定义函数的定义
自定义函数的语法格式:
Function <函数名>[(<形参表>)]: 返回类型; [声明部分] Begin [<语句>] End;
说明:
-
书写时注意返回类型前面的冒号和后面的分号
-
函数可以没有形参,但必须有返回值
-
与过程类似,函数体语句必须写在begin ... end之间,end后面也有分号
-
将函数名书写在赋值语句左侧时,可以在函数执行结束后将结果返回到调用程序
-
在Delphi中,也可以使用隐含变量Result进行结果的返回
自定义函数的书写位置与自定义过程的书写位置遵循相同的规则,这里不再赘述。
2.2自定义函数的创建和使用
示例:实现两个整数的n次方的和。界面如下图:
显然,从题目中发现,对两个整数的n次方运算是一个可以自定义的函数,当然,我们在这里不使用标准函数来实现,使用自定义函数来实现,代码如下:
Function MiOfN(n: Integer; m: Integer): Integer; var i: Integer; begin Result := n; for i := 1 to m - 1 do Result := Result * n; end; Function SumOfMi(n1: Integer; m1: Integer; n2: Integer; m2: Integer): Integer; var sum: Integer; begin sum := MiOfN(n1, m1); sum := sum + MiOfN(n2, m2); SumOfMi := sum; end; procedure TForm1.Button1Click(Sender: TObject); var n1, m1, n2, m2: Integer; begin // 计算 n1 := StrToInt(Edit1.Text); m1 := StrToInt(Edit2.Text); n2 := StrToInt(Edit3.Text); m2 := StrToInt(Edit4.Text); Edit5.Text := IntToStr(SumOfMi(n1, m1, n2, m2)); end;
在上面的代码中,自定义函数MiOfN,通过隐含变量Result返回函数值,SumOfMi函数通过函数名返回函数值。