Procedury a funkce

Mocnina ; a) procedura bez parametrů, b) procedura s parametry, c) funkce s parametry.

================================================================================


Procedura bez parametrů

program TiskMocninyA;

var

 X,V,A,M : real;

 K,N : integer;

procedure MOCNINA;

var

 I : integer;

begin

 M:=1;

 for I:=1 to N do M:=M*A;

end;

begin

 read(X,K);

 A:=X; N:=K; MOCNINA; V:=M;

 writeln(V)

end.


Procedura s parametry

program TiskMocninyB;

var

 X,V : real;

 K : integer;

procedure MOCNINA(A: real; N: integer; var M: real);

var

 I : integer;

begin

 M:=1;

 for I:=1 to N do M:=M*A;

end;

begin

 read(X,K);

 MOCNINA(X,K,V);

 writeln(V)

end.


Funkce s parametry

program TiskMocninyC;

var

 X,V : real;

 K : integer;

function MOCNINA(A: real; N: integer): real;

var

 M : real;

 I : integer;

begin

 M:=1;

 for I:=1 to N do M:=M*A;

 Mocnina:=M

end;

begin

 read(X,K);

 V:=MOCNINA(X,K);

 writeln(V)

end.


================================================================================

Pro všechny tři případy program pro výpočet hodnoty výrazu .

================================================================================


Procedura bez parametrů

program Vyraz1;

var

 X,Y,V1,V2,V3,A,M : real;

 K,N : integer;

procedure MOCNINA;

var

 I : integer;

begin

 M:=1;

 for I:=1 to N do M:=M*A;

end;

begin

 read(X,K);

 A:=X+1; N:=K; MOCNINA; V1:=M;

 A:=X; N:=5; MOCNINA; V2:=M;

 A:=2; N:=K-1; MOCNINA; V3:=M;

 Y:=V1+V2-V3;

 writeln(Y)

end.


Procedura s parametry

program Vyraz2;

var

 X,Y,V1,V2,V3 : real;

 K : integer;

procedure MOCNINA(A: real; N: integer; var M:real);

var

 I : integer;

begin

 M:=1;

 for I:=1 to N do M:=M*A;

end;

begin

 read(X,K);

 MOCNINA(X+1,K,V1);

 MOCNINA(X,5,V2);

 MOCNINA(2,K-1,V3);

 Y:=V1+V2-V3;

 writeln(V)

end.


Funkce s parametry

program Vyraz3;

var

 X,Y : real;

 K : integer;

function MOCNINA(A: real; N: integer): real;

var

 M : real;

 I : integer;

begin

 M:=1;

 for I:=1 to N do M:=M*A;

 Mocnina:=M

end;

begin

 read(X,K);

 Y:=MOCNINA(X+1,K)+MOCNINA(X,5)-MOCNINA(2,K-1);

 writeln(V)

end.


================================================================================

Co vytisknou programy?


program TESTPAR1;

var Y:integer;

procedure P(X:integer);

begin

 Y:=5;

 write(X);

 X:=9

end;

begin

 Y:=7;

 P(Y);

 write(Y)

end.

 

 

program TESTPAR2;

var A,B:integer;

procedure PROC(var O1:integer; H:integer; var O2:integer);

begin

 O1:=O1+1;

 H:=H-1;

 O2:=HODN

end;

begin

 A:=5;

 PROC(A,A,B);

 writeln(A,B);

 PROC(A,A-3,A);

 writeln(A)

end.