Subsections

5 [例題7]繰り返し処理とサブルーチン

教科書のList5-7のプログラムを例にして,サブルーチンについて説明する.以 下のことが,ここでの学習の重要なポイントである. -5pt

5.1 サブルーチンが必要な理由

長いプログラムを,先に示した基本構造だけで作成することは不可能である.技術的には 可能であるが,何が書いてあるか全く分からないプログラムになってしまい.メンテナン スが不可能である.そのため,プログラムを機能毎に細かく分割して,分かりやすくする 方法がとられる.この機能毎に分割されたプログラムをサブルーチンという.FORTRANで は,SUBROUTINEとかFUNCTIONというものがそれに当たる.ここでは,このサブ ルーチンをCASL IIで実装する方法をである.

5.2 教科書の例

教科書の[例題6]のプログラムの動作内容は,[例題5]と全く同じである.ただし,最大値 を探索する部分をサブルーチンにして,プログラムの内容を分かりやすくしている.

5.3 サブルーチン

プログラムは,分かりやすく書かなくてはならない.分かりにくいプログラムはメンテナ ンスが大変である.ここでは,最大値を探す機能をサブルーチンとして分割している.

実際,サブルーチンを作成するとにもっとも気にかけることは,データの受け渡しである 2. メインルーチンからサブルーチンに,ある処理を依頼するのであるが,そのためにはデー タが必要である.メイン $ \rightarrow$ サブ,メイン $ \leftarrow$ サブと2通りある.高級 言語ではいろいろな方法があるが,CASL IIでは汎用レジスターを使うのが一般的である.

例題のプログラムを例にすると, -3pt

5.4 プログラムの構造とフローチャート

データを取り扱うレジスターやラベルの内容を表1と同じである. また,プログラムのフローチャートを図6に示す..
図 6: 教科書のList5-7のプログラムの構造とフローチャート
\includegraphics[keepaspectratio, scale=0.8]{flow_chart/REI5-7.eps}



ホームページ: Yamamoto's laboratory
著者: 山本昌志
Yamamoto Masashi
2006-02-14


no counter