アプリ版:「スタンプのみでお礼する」機能のリリースについて

コボルのPERFORM構文がわかりません。教えてください。
どのサイトの解説を見ても、本を見てもさっぱり言ってる内容が理解できません。この構文だけは・・・。

手続き1とか何のことかわかりません。
ifとgotoを使った繰り返しのプログラムをPERFORMで書き直すことを目標としています。例題などをまじえてわかりやすく解説をしてくれませんか?パターンが5個くらいありましたが、すべてにおいての解説をよろしくお願いします!

A 回答 (3件)

例を示します。



例1).セクション名
PROCEDURE DIVISION.
.....PERFORM INIT-SEC.
.....PERFORM MAIN-SEC UNTIL FLG-END = '1'.
.....PERFORM FINAL-SEC.
.....GOBACK.(※STOP RUNでも可)
************
* 初期処理
***********
INIT-SEC SECTION.
....OPEN INPUT IN-FILE
..........OUTPUT OUT-FILE.
....PERFORM IN-FILE-READ-SEC.


例2).セクション名無し
PERFORM VARYING IX-1 FROM 1 BY 1 UNTIL IX-1 > 9
....PERFORM VARYING IX-2 FROM IX-1 + 1 BY 1 > IX-2 > 10
........IF ...........
....END-PERFORM.
END-PERFORM.
    • good
    • 0

COBOLといってもいろいろあります。


CODASYLのどの時期に準拠しているかだけでなく、どのメーカーのどのコンパイラのいつのバージョンなのかが分からなければ、具体的なアドバイスはできません。

PERFORM 手続名1 [THRU 手続名2]
PERFORM 手続名1 [THRU 手続名2」 n TIMES
PERFORM 手続名1 [THRU 手続名2」 TEST {AFTER|BEFORE} [VARYING 変数名 FROM 初期値 BY 増分値] UNTIL 条件

など、いろいろな記述方法があります。従来からの外PERFORMに加え、内PERFORMという書き方もあります。

あなたの使用環境を教えてもらえなければ、具体的な回答はできません。
    • good
    • 0

解説や本を見てもわからない人にこの限られたスペースでしかも一方的に説明してわかるはずがありません。



PERFORMは全く異なった数種類の機能をまとめたものです。同じPERFORMと言っても全然機能が違います。
まずは、C とか VB とかの for 文や while 文 do 文を勉強してみてください。これらが理解できるとすこしわかるようになるのではと思います。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!