Example offunction declarations. 

function sqrt(X: Real): P '.31; { Newton's method} var XO, Xl: Real; begin Xl := X; X > 1, Newt :1' S method} repeat XO := Xl; Xl: (XO + X/XO)*O.5 until abs(X1 - XO) < Ep * Xl; sqrt := XO end { sqrt } ; function Max(A: Vector; N: Integer): Real; {Return the maximum value of elements All], .. . ,AIN].} var X: Real; I: Intege begin X := A[l]; for I := 2 to N do begi: { X = Max ( A I 1], ... , ,\ l 1-1) ) } if X < A[I) then X .- ~[I) end; { X = Max ( A I 1), ... , A :; J ) Max := X end { Max } ; function GCD(M, N: Naturao): Natural; begin if N = 0 then GCD := M ELse GCD := GCD(N, M mod N) end; function Power(X: Real; 1: Natural): Real; var W, Z: Real; I: Natlal; begin W := X; Z:= 1; 1:= 1· while I > 0 do begin { (W ** I) if odd (I) then Z := Z . W; I : = I di v 2; W := sqr(W) end; { Z = X ** Y } Power := Z end { Power } X ** y } 

## 11.3 Parameters 

Parameters allow each activation of a procedure or function to operate on entities (values, variables, procedures, functions) that are specified 

