编程中的function和PROCEDURE(真正高手的进,不要复制的!)

来源:百度知道 编辑:UC知道 时间:2024/05/27 08:19:07
我不要!复制的拿来的那些长篇大论,我要高手用很简单很通俗的语言讲一下pascal中的function与procedure

不要长篇大论!!!

精简,尽量用几句话概括!
我又不是不知道过程和函数...你知道返回值么?二楼弱智!

function是函数,有返回值,它的结果只是一个值,保存在这个函数中,返回到主程序。
procedure是过程,说白了它就是一段程序,用来执行一些操作,如果它不带参数,也可放在主程序或其它函数和过程中。这是我自己理解的,书上的详细介绍:
8.1 过程

1.过程的定义

procedure 过程名(形式参数:参数说明);{也可以不带参数}
var
begin
...
end;

2.过程的调用

过程名(实在参数表);

例1:求n个自然数的最大公约数;

program gcd1;
const maxn=100;

var n,i,gcd:integer;
a:array[1..maxn] of integer;
procedure enter;
begin
write('n=(<100)');readln(n);
for i:=1 to n do
repeat
write('a[',i,']=');readln(a[i]);
until a[i]>0;
end;

procedure find_gcd(x,y:integer);{定义过程}
var r:integer;
begin
r:=x mod y;
while r<>0 do

begin x:=y;y:=r;r:=x mod y; end
gcd:=y;
end;

procedure print;
begin
writeln('GCD=' ,gcd);
end;
begin
enter;
gcd:=a[1];
for i:=2 to n do
find_