第5章 関数と手続き

第5章の構成
5-1 モジュール (1) -2つのボタンからなるプログラム-
5-2 モジュール (2) -1つのボタンですます-
5-3 モジュール (3) -押せないボタンはいらないのか-
5-4 モジュール (4) -構造のはっきりしたプログラム-
5-5 モジュール (5) -Button1 と Button2 は本当にいらないのか-
5-6 モジュール (6) -プログラムの構造-
5-7 モジュール (7) -モジュールを作ろう-
5-8 関数 (1) -値を返すモジュール-
5-9 関数 (2) -絶対値関数を使う-
5-10 関数 (3) -関数を使う-
5-11 関数 (4) -Random関数-
5-12 ローカル変数とグローバル変数
5-13 メソッド

【学習内容とねらい】

今、あるテストの成績処理プログラムを作成する場合を考えましょう。前章の制御命令をマスターしていれば、基本的にこのプログラムを作成することはできます。しかし、「まずデータをファイルから読み込む部分を作って、それから平均値と標準偏差を計算しよう。おっと平均値を計算するには、得点の総合計と受験者総数が必要だから、それらを先に求めておかないと…。そうそう、標準偏差を計算するには偏差の2乗の和を求めておかなければならなかった…。」等々と、必要になる処理を逐一思いつくままに書き連ねて行くとミスも多く、また全体構造が分かりづらいプログラムになってしまいます。

そこで、以下のように2段階に分けてプログラミングできたらどうでしょうか?

I. このプログラムは以下の処理から成る。 II. 各処理の詳細は以下の通り。
(1) 成績データの読み込み
(2) 統計量(平均値と標準偏差)の計算
(3) 成績順の並べ替え(ソート)
(4) 結果の表示
(1) …
(2) …
(3) …
(4) …

こうしておけば、I を見ればプログラム全体の流れが分かります。また、もしソート結果が一部間違っていたとすると、II の(3)の部分のみを点検すればよく、エラーの発見や修正が容易になります。また、のちに、偏差値も計算することになった場合には、II の(2)の部分に計算部分を追加するだけですみ、拡張が容易になります。

この(1)〜(4)のような部分処理を「モジュール」といいます。Delphi では、モジュールとして「関数」と「手続き」がありますが、本章では「関数」と「手続き」の用い方の学習を通じ、全体のプログラムを「モジュールの組み合わせ」という形で (上の例のように) 作成する術を学びます。

プログラミング学習の成果は、ある処理を自分でモジュールに分割できるかどうか、にかかっていると言われています。その意味で本章はプログラミング入門編の集大成になります。