next up previous
Next: 8.2 関数定義 Up: 8.1 基本的なプログラミング機能、特に制御構造 Previous: 8.1.3 条件判断による分岐

8.1.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 言語のプログラミングの発想とは異なる)。


next up previous
Next: 8.2 関数定義 Up: 8.1 基本的なプログラミング機能、特に制御構造 Previous: 8.1.3 条件判断による分岐
Masashi Katsurada
平成16年7月21日