Subsections
教科書のList5-7のプログラムを例にして,サブルーチンについて説明する.以
下のことが,ここでの学習の重要なポイントである.
-5pt
- サブルーチンの呼び出しと呼び出し元に戻る方法を理解する.
- サブルーチンを使うとプログラムが部品化でき,内容が分かりやすくなる.
長いプログラムを,先に示した基本構造だけで作成することは不可能である.技術的には
可能であるが,何が書いてあるか全く分からないプログラムになってしまい.メンテナン
スが不可能である.そのため,プログラムを機能毎に細かく分割して,分かりやすくする
方法がとられる.この機能毎に分割されたプログラムをサブルーチンという.FORTRANで
は,
SUBROUTINEとか
FUNCTIONというものがそれに当たる.ここでは,このサブ
ルーチンをCASL IIで実装する方法をである.
教科書の[例題6]のプログラムの動作内容は,[例題5]と全く同じである.ただし,最大値
を探索する部分をサブルーチンにして,プログラムの内容を分かりやすくしている.
プログラムは,分かりやすく書かなくてはならない.分かりにくいプログラムはメンテナ
ンスが大変である.ここでは,最大値を探す機能をサブルーチンとして分割している.
実際,サブルーチンを作成するとにもっとも気にかけることは,データの受け渡しである
2.
メインルーチンからサブルーチンに,ある処理を依頼するのであるが,そのためにはデー
タが必要である.メイン
サブ,メイン
サブと2通りある.高級
言語ではいろいろな方法があるが,CASL IIでは汎用レジスターを使うのが一般的である.
例題のプログラムを例にすると,
-3pt
- メインルーチンがサブルーチンに依頼している仕事の内容は,データの最大値を
探すことである.
- そのために,メインルーチンはサブルーチンに,GR1を用いて,データの個
数を渡している.
データを取り扱うレジスターやラベルの内容を表
1と同じである.
また,プログラムのフローチャートを図
6に示す..
図 6:
教科書のList5-7のプログラムの構造とフローチャート
|
ホームページ:
Yamamoto's laboratory著者:
山本昌志
Yamamoto Masashi
2006-02-14