モデル化されたデータに対する操作(処理)のことを計算という.この計算を行う場合,必
要なことを考えよう.
教科書では,数を数える方法について,2通りの方法を示している.取り出し型と
分割型である.これらの2つの方法が計算方法の全てというわけではない--ことに
注意が必要である.
ここでの問題は,袋があってその中の玉の数を調べることである.さあ,諸君ならどうやっ
て数えるか? いろいろな方法を想像せよ.
袋から玉を一つずつ取り出し,数える.袋に玉が無くなったら,数える
のを止める.これを,もう少し情報の講義らしく記述すると,教科書のように,次のよう
になる.
<
玉の数>
をゼロにする.
- 袋に玉が無くなるまで,以下の処理を繰り返す.
袋の中に玉が大量にある場合を考える.このようなとき,何人かで手分けし
て数えることがあるだろう.このように自分では手に負えない仕事を,他の人--教科
書では下請け--に依頼し,各々の合計を答えとする方法を,分割型と言う.下請けは,
さらに下請けに仕事を依頼することができる.究極には,末端の下請けは一つの玉を受け
取りそれを数え,一つ上の元請けに「1個です」と報告する.次のようにする.
- 袋がからならば
<
玉の数>
をゼロ,袋のなかに玉が一つならば<
玉
の数>
は1
- そうでなければ
- 袋を分割し,玉を数える仕事を下請けに
<
玉の数>
は,下請けが数えた和
計算を行うためには,次のようなことが必要である.ほとんどすべてのプログラミング言
語では,これらの機能が用意されている.
- 変数
- 計算につかうデータを記憶するために,変数を使う.変数には変数名をつけて,それぞ
れの値を区別する.「代入により」と呼ばれる操作により,変数に関連づけ
られている値を変えることができる.
- 条件判断
- 計算の状態により,処理の順序を変更する.
- 繰り返し
- 同じような計算を,繰り返し行う.ある条件に達したら,繰り返しの処
理をやめる.
- 添え字付き変数
- プログラミング言語では,配列(array)として実装されていることが多い.
データの記憶領域は,変数名と整数でアクセスできる.
意味が付属していないデータに意味を与える.
- 自然科学の分野では,単位によりデータ(数値)に意味を与える.
- プログラミング言語では,コンピューター内のデータの取り扱い方法を直接指定
するために,整数型や実数型,文字型などがある.
- ある計算を定義するときに,それ自身を使うことがある.このような定義を再帰
的(recusive)と言う.丁度,数学の漸化式に似ている.
ホームページ: Yamamoto's laboratory
著者: 山本昌志
Yamamoto Masashi
平成19年12月14日