As a simple example, here are two functions f and g, where f uses an if-then style and g uses a functional style:
f[n_] := If[IntegerQ[n],
If[n > 0,
n*f[n - 1], 1]];
g[0] = 1;
g[n_Integer; n >= 0] := n*g[n - 1];
Prove that f computes factorial. Now do the same for g... /2