Ans:- Procedures and functions both are different in their own sense and both are required the program construct. Procedures and functions are the main part of the logical block and they can be nested to any depth in the code. It has its own declarations like goto labels, constants, types, variables and other defining entity that allow them to keep every function in order.
The ordering of the functions are required to allow the efficient compilation process using the single pass. The example of it is shown below:
program Mine(output);
var i : integer;
procedure Print(var j : integer);
begin
…
end;
begin
…
Print(i);
end