これまで main で行なっていた処理を関数として分離する指針

段階的詳細化をうまく行なった場合、はじめから、関数に分離されているので、
このような作業は必要でないかも知れない。

現実に起こり得る(起こった)以下のようなことで、この作業は必要である。

1.段階的詳細化がいつも一度でうまくいくとは限らない
  (はじめは単純な処理と思ってはじめたが、そうではなかった)

2.すでにあるプログラムを改造する

3.この演習の手順として、手続き(関数)の概念を後で説明した。

分離する時に考えること、すること。 (列挙しているだけであってこの順にというわけではない) 1. 独立した関数にするあるまとまった処理をの部分を切り出して、 形式上別の関数にする。 すなわち、 a)その部分を切り出して、{} で括ってブロックにする b)関数名を考えて関数 a) のブロックを関数定義にする。 c)もとの部分に関数呼び出しを書く。 d)処理のために必要な変数定義部分をブロックに入れる。 2. 関数と呼び出し側のデータの受渡しの方法を決める。 戻す値はいくつか ( 0 1 複数 ) 3. 元の関数(呼び出し側)で、不要な変数宣言を取り除く。 分離した処理と、呼び出し側に残す処理に共通の変数に注意 これらは、無関係のものを同じ変数で共同利用していたかも知れないし、 あるいは、パラメタとしてデータの受渡しが必要なものかも知れない。
戻る