(工事中)
関数の中である程度複雑な計算をする場合、 変数を使用する必要が生じるでしょうが、 局所的な変数を使用するようにしないと思わぬ副作用が生じます。
次の例は、
局所変数 i と p (初期値として  を代入) を用いて、
階乗
 を代入) を用いて、
階乗  を計算するための関数を定義したものです
(もちろん Mathematica には、階乗を計算する演算子 ! があるので、
こういう関数を作る必要はありませんが)。
 を計算するための関数を定義したものです
(もちろん Mathematica には、階乗を計算する演算子 ! があるので、
こういう関数を作る必要はありませんが)。
| 
  fact[n_]:=Module[{i,p=1}, For[i=1, i<=n, i++, p=p*i]; p]
 | 
C言語だったら次のように書くところです。
| 
int fact(int n)
{
  int i, p = 1;
  for (i = 1; i <= n; i++)
    p *= i;
  return p;
}
 | 
桂田 祐史