在pascal语言中有function这样的用语吗?还是抄错?是for ction。那具体意思又是什么?

是for ction吗?那具体意思又是什么?

第四章 函数与过程
程序中往往需要把主要任务分成若干个子任务,每个子任务只负责一个专门的基本工作。每个子任务就是一个独立的子程序。Turbo Pascal 可以把函数和过程作为子程序调用。
第一节 函数
Pascal允许用户在程序中自己说明定义所需要的函数并在程序中调用这些函数。
[例4.1]编程找出由键盘任意输入五个整数中的最大整数。
解:设输入的五个整数为n1、n2、n3、n4、n5,为了便于处理,引入一个中间变量t1,按如下步骤处理:
①令t1=n1;
②将t1与n2比较,将两者中较大的数放入t1;
③将t1与n3比较,将两者中较大的数放入t1;
④将t1与n4比较,将两者中较大的数放入t1;
⑤将t1与n5比较,将两者中较大的数放入t1;
⑥经过以上5步处理后,t1即为5个数中最大者。
从上面规划的步骤看来,从步骤②到步骤⑤需处理的目标是相同的,因此我们可以设计一段子程序Max(x1,x2),以找出x1和x2中最大的值并返回。
Pascal程序:
Program Exam41_a;
Var n1,n2,n3,n4,n5,t1 : integer;
Function max(x1,x2 : integer) : integer;
Begin
If x1>x2 then Max := x1
Else Max := x2;
End;

Begin
Write(‘Input 5 numbers : ‘);
Readln(n1,n2,n3,n4,n5);
T1 := n1;
T1 := Max(t1,n2);
T1 := Max(t1,n3);
T1 := Max(t1,n4);
T1 := Max(t1,n5);
Writeln(‘Max number : ‘,t1);
End.
从上例看出,引入函数实际上是将一个复杂的问题划分成若干个易于处理的子问题,将编程化简的一种有效办法,而化简的方法是多种多样的,如前面已经做过求三个数中的最大数,所以可定义一个专门求三个数中最大数的函数(Max)。第一次用这个函数求出n1,n2,n3三个数中的最大数t1;第二次调用这个函数求出t1与n4,n5三个数中的最大数,也就是前三个数的最大数(已在t1中)和后面二个数再求一次,就得到五个数的最大数。因此,需要两次使用“求三个数中的最大数”,步骤如下:
①调用函数Max ( n1, n2, n3), 求出n1,n2,n3中的最大者 t1;
②调用函数Max ( t1, n4, n5 ),求出t1, n4, n5中的最大者t2;
③输出最大数 t2。
Program Exam41_b;
Var n1,n2,n3,n4,n5,t1: integer;

function Max(x1,x2,x3: integer): integer; {自定义函数Max}
Var XX: integer; {函数内部变量说明}
begin {函数体}
if X1>X2 then XX:=X1
else XX:=X2;
if X3>XX then XX:=X3;
Max:=XX
end;

Begin {主程序}
Write('Input 5 numb:');
Readln(n1,n2,n3,n4,n5); {输入五个数}
t1:=Max(n1,n2,n3); {用函数求n1, n2, n3的最大数}
t1:=Max(n4,n5,t1); {用函数求n4, n5, t1 的最大数}
Writeln('Max Number :', t1);
Readln
End.
主程序中两次调用自定义函数。自定义函数的一般格式为:
function 函数名(形式参数表): 类型; {函数首部}
局部变量说明部分;
begin
语句系列; {函数体 }
end;
函数中的形式参数接受调用函数时所传入的值,用来参与函数中的运算。

[例4.2]求任意输入的五个自然数的最大公约数。
解:⑴自定义一个专门求两自然数的最大公约数的函数GCD;
⑵调用自定义函数,第一次求前两个数的最大公约数;从第二次开始,用每次求得的最大公约数与下一个数再求两个数最大公约数,直到最后。本题共四次“求两个数的最大公约数”, 设输入的五个自然数分别是a1,a2,a3,a4,a5,采用如下步骤:
①求a1, a2两个数的最大公约数 → 存入a1;
②求a1, a3两个数的最大公约数 → 存入a1;
③求a1, a4两个数的最大公约数 → 存入a1;
④求a1, a5两个数的最大公约数 → 存入a1;
⑤ 输出 a1,此时的a1已是五个数的最大公约数。
Pascal程序:
Program Exam42;
Var a1,a2,a3,a4,a5: integder;
function GCD(x,y: integer): integer; {自定义函数 }
Var n:integer;
begin
While x mod y <>0 do
begin
n:=x; x:=y; y:=n mod y
end;
GCD:=y
end;

Begin {主程序 }
Write('input 5 Numper:');
readln(a1,a2,a3,a4,a5); {输入五个数}
Write('(',a1,',',a2,',',a3,',',a4,',',a5,')=');
a1:=GCD(a1,a2); {调用函数GCD }
a1:=GCD(a1,a3);
a1:=GCD(a1,a4);
a1:=GCD(a1,a5);
Writeln(a1);
readln
End.
函数的结果是一个具体的值, 在函数体中必须将所得到的运算结果赋给函数名;主程序通过调用函数得到函数的运算结果。调用函数的一般格式为:
函数名 (实在参数表)
调用函数时, 函数名后面圆括号内的参数必须有确定的值, 称为实在参数。调用时即把这些实际值传送给函数形参表中的相应形参变量。函数不是单独的语句, 只能作为运算赋值或出现在表达式中。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-02-08
是函数的意思,function
用法 function ??(函数名称)(a:。。。):。。。
省略号是变量类型,a是变量
第2个回答  2012-02-05
function 定义函数用的保留字(关键字),你不能挪作他用。
第3个回答  2012-02-05
有的,function是自定义函数
相似回答