Reading — step 1 of 5
Learn
~1 min readProcedures and Arrays
Pascal distinguishes:
- procedure — does work, returns nothing (like
void) - function — returns a value
procedure SayHi(name: string);
begin
WriteLn('Hello, ', name);
end;
function Square(n: integer): integer;
begin
Square := n * n; { assign return value to function name }
end;
In newer FPC you can also use Result := ... instead of the function name:
function Cube(n: integer): integer;
begin
Result := n * n * n;
end;
Declarations go BEFORE the main begin:
program Demo;
function Square(n: integer): integer;
begin
Result := n * n;
end;
begin
WriteLn(Square(7));
end.
Parameters are pass-by-value by default. Use var for pass-by-reference:
procedure Swap(var a, b: integer);
var tmp: integer;
begin
tmp := a; a := b; b := tmp;
end;
Discussion
Ask a question, share an insight, or help someone who’s stuck.
Sign in to post a comment or reply.
Loading…