17.26.構造化に基づくプログラム |
構造化に基づくプログラムまず、「ストラクチャード定理」を予め学習しておいてください。 フローチャートNSチャート参考記事:ストラクチャード定理 NSチャート NSチャートをRPGで表現してみる
@SUM
2001-6-30 上の表で、無意味な行がありました。削除させていただきました。 全手順(DOWEQ)構造化の例 BALLR6
もう、特に説明なしでも、分かりますね。ここからからは、補足、または老婆心で書き留めます。 DO-ENDのENDは、ENDDOと表記することも、ENDと表記することもできます。ENDDOやENDIFといった命令語は、後からサポートされたものです。 キーブレイクは、2つのフィールドW1OLDCとCOLORの中の値が、同じか違うかで行います。COLORは読み込みファイルBALLPのフィールドで、W1OLDCは、プログラム内部で定義されています。この2つは、名前は違いますが、同じ属性でなくればなりません。文字なら文字同士で、5桁なら5桁同士で、比較するのが、原則です。 *LIKE DEFNというのは、コンパイル時に、フィールドの属性を、指定した別のフィールドから取り込む(言ってみれば、属性をコピーしている感じかな)というものです。上の例では、W1OLDCというフィールドを定義したいときに、 MOVE COLOR W1OLDC 5 などと、直接指定しないで、間接的に別に定義しています。この場合、BALLPの中の、COLORという5バイトの文字フィールドの属性をW1OLDCにコピーしています。こうしておくと、将来、COLORというフィールドの桁数が変わっても、リコンパイル(再度コンパイルすること)すれば、コンパイラが再び、そのときのBALLPのCOLORの属性を取り出して、W1OLDCにコピーしてくれます。もしそうでないと、いちいち、COLORというフィールドを探し出して、一行一行調べて、修正しなくてはなりません。もし、プログラムが100本あったら、大変ですよね。この手間を省くことが、なんというか、重要なんですよ。開発コストを下げるというか、ハ−ドコードでは無くて、すべてが一つの定義を参照して、無駄の無いシステムを作る精神に貢献するというのか、... 起立、礼、着席 2000/1/4 |
You are at K's tips-n-kicks of AS/400
|
SEO | [PR] 爆速!無料ブログ 無料ホームページ開設 無料ライブ放送 | ||