カテゴリ: COBOL 更新日: 2025/06/18

COBOLのSTOP RUNとGOBACKの違いを徹底解説!初心者でも理解できる終了処理の基本

STOP RUNとGOBACKの違いを理解しよう
STOP RUNとGOBACKの違いを理解しよう

先生と生徒の会話形式で理解しよう

生徒

「COBOLでプログラムの最後に使うSTOP RUNってなんですか?」

先生

「STOP RUNは、COBOLプログラムの実行を完全に終了させる命令なんですよ。」

生徒

「じゃあ、GOBACKっていうのも見たことがあるんですが、それはSTOP RUNと何が違うんですか?」

先生

「それでは、STOP RUNとGOBACKの違いを初心者にもわかりやすく説明していきましょう!」

1. STOP RUNとは?COBOLでプログラムを終了させる基本命令

1. STOP RUNとは?COBOLでプログラムを終了させる基本命令
1. STOP RUNとは?COBOLでプログラムを終了させる基本命令

COBOLのSTOP RUN文は、プログラムを完全に終了させるための命令です。
たとえば、ひとつのCOBOLプログラムを単独で実行しているとき、最後にこの命令を使うことで、そのプログラムの処理が終了します。

パソコンで言えば、「シャットダウンボタン」を押して電源を切るようなものです。処理が終わったら、そこでストップして、次の命令には進みません。

基本的な使い方はとてもシンプルです。


DISPLAY "プログラムを開始します。"
DISPLAY "処理を実行中です。"
STOP RUN

この例では、「プログラムを開始します。」→「処理を実行中です。」という表示のあと、STOP RUNが実行されると、そこでプログラムの動きが終わります。

2. GOBACKとは?呼び出し元に戻るためのCOBOL命令

2. GOBACKとは?呼び出し元に戻るためのCOBOL命令
2. GOBACKとは?呼び出し元に戻るためのCOBOL命令

GOBACK文は、STOP RUNに似ていますが、意味が少し違います。

GOBACKは、呼び出し元のプログラムに戻るための命令です。もしそのプログラムがほかのプログラムから呼び出されている場合、GOBACKを使うと元のプログラムに戻ります。

たとえば、「おつかいに行ってきて」と言われて用事が終わったあと、家に帰って報告するようなイメージです。
逆にSTOP RUNを使ってしまうと、おつかいから戻らず、そのまま帰ってこないのと同じになります。

GOBACKの使用例は以下のとおりです。


DISPLAY "このプログラムは別のプログラムから呼ばれています。"
GOBACK

このコードでは、呼び出し元に戻って処理が続くのがポイントです。
STOP RUNではなくGOBACKを使うことで、「戻ってくることを前提にした流れ」が作れます。

3. STOP RUNとGOBACKの違いを初心者向けに簡単に説明

3. STOP RUNとGOBACKの違いを初心者向けに簡単に説明
3. STOP RUNとGOBACKの違いを初心者向けに簡単に説明

ここで、STOP RUNGOBACKの違いを、初心者にもわかりやすく、表にまとめてみましょう。

命令 意味 例え どんなとき使う?
STOP RUN プログラム全体の終了 パソコンの電源を切る 単体プログラムの終了時
GOBACK 呼び出し元に戻る おつかいから帰宅する 呼び出されたプログラムから戻るとき

このように、似ているようでまったく用途が異なる2つの命令です。

4. STOP RUNとGOBACKの使い分けを実際の例で体験

4. STOP RUNとGOBACKの使い分けを実際の例で体験
4. STOP RUNとGOBACKの使い分けを実際の例で体験

ここでは、STOP RUNとGOBACKの違いがよりはっきりわかるように、2つのプログラムを連携させて、使い分けの実例を見てみましょう。

プログラムA(メイン)からCALLプログラムBを呼び出します。

▼ プログラムA(メイン)


CALL "PROGRAM-B"
DISPLAY "プログラムBから戻ってきました。"
STOP RUN

▼ プログラムB(サブ)


DISPLAY "プログラムBの処理を開始します。"
GOBACK

実行結果


プログラムBの処理を開始します。
プログラムBから戻ってきました。

このようにGOBACKを使うことで、プログラムBの処理が終わったあとにプログラムAに戻って、処理が続いています。

一方で、もしプログラムBの最後をSTOP RUNにしてしまうと、次のようになります。

▼ プログラムBの変更(STOP RUN版)


DISPLAY "プログラムBの処理を開始します。"
STOP RUN

実行結果


プログラムBの処理を開始します。

このように、プログラムAには戻らず、処理が強制終了してしまいます。呼び出し元の処理はスキップされるため、思った通りに動かない場合があります。

5. STOP RUNとGOBACKの選び方のコツ

5. STOP RUNとGOBACKの選び方のコツ
5. STOP RUNとGOBACKの選び方のコツ

COBOLを勉強している初心者の方にとって、STOP RUNとGOBACKの使い方は少し混乱するかもしれません。

でも大丈夫。次のように使い分けを覚えておきましょう。

  • 単体で動くプログラムなら → STOP RUN
  • 他のプログラムに呼ばれているなら → GOBACK

最初はわからなくても、何度もプログラムを書いていくうちに、自然と身についてきます。

カテゴリの一覧へ
新着記事
COBOLの変数名の付け方を解説!初心者でもわかる命名規則とコツ
C#のbreakとcontinueの使い方!ループ制御の基本テクニック
COBOLのFILLERの使い方とは?未使用領域を上手に管理する基本テクニック
C#のforeach文の基本!配列やコレクションを簡単に繰り返し処理する方法
人気記事
No.1
Java&Spring記事人気No1
COBOLのDISPLAY文の使い方を完全ガイド!初心者でもわかる出力方法
No.2
Java&Spring記事人気No2
C#のwhile文の使い方!条件付きループを基礎から学ぼう
No.3
Java&Spring記事人気No3
C#で型を調べる方法!GetType()・typeof演算子の違いと使い方
No.4
Java&Spring記事人気No4
C#のfor文の基本!繰り返し処理をわかりやすく解説