6.4 繰り返し構文

計算機のプログラムで広い意味の繰り返しは重要である。それを実現するた めに、再帰的関数(手続き)定義や、繰り返しの構文が用意されている。 ここでは繰り返しの構文の紹介をする。
Do 関数
使い方は “Do[statement, iterator]”. Fortran の do 文、C の for 文、BASIC の FOR NEXT 構文、Pascal の for 文に似ている。 iterator (繰り返し指定) で指定しただけ statement (文) を繰り返して 実行する。
Do[Print[i!], {i,5}] i=1,2,3,4,5
Do[Print[2^i], {i,0,5}] i=0,1,2,3,4,5
Do[Print[I^i], {i,0,10,3}] i=0,3,6,9
r=1; Do[r=1/(1+r), {100}]; r 100回
Do[Print[i], {i,2a,4a,a}] i=2a,3a,4a
Do[Print[r], {r,0.0,3.5}] r=0.0,1.0,2.0,3.0
Do[Print[{i,j}], {i,3}, {j,i}] do i=1,3
      do j=1,i
          Print {i,j}
      end do
  end do
While 関数
使い方は “While[test, statement]”. C や Pascal の while 文に似ている。test が真である間だけ statement を 繰り返す。
  i=1; While[i <= 10, Print[i]; i++]
この例では “i <= 10” が test, “Print[i]; i++” が statement になっている。
For 関数
使い方は “For[statement1, test, statement2, statement]”. C の for 文に似ている。
  For[i=1, i <=10, i++, Print[i, " ", i^2]]
繰り返しの指定
Do 文で使われている iterator は、あちこちで使われる。 和 $ \sum$ を計算する Sum[] や 乗積 $ \Pi$ を計算する Product[]、 表 (値を並べたリスト) を作る Table[] など。
Sum[i, {i,1,10}] $ i=1,2,\cdots,10$
Product[x-i, {i,0,5}] $ i=0,1,\cdots,5$
Product[e, {e,x,x-5,-1}] $ e=x,x-1,x-2,x-3,x-4,x-5$
Table[i!, {i,5}] $ i=1,2,3,4,5$

Print[] の結果は表示されるだけで、後には残らないので、 残して解析したい場合は、 Table[] を使うのがお勧めである (このあたりは C 言語のプログラミングの発想とは異なる)。



桂田 祐史