本文へスキップ
BecomeCoder

COBOLコース · 第2章 はじめてのCOBOLプログラム ― 4つのDIVISION · レッスン11

Hello, World を書いて動かす ― 4つのDIVISIONを通して書く

ブラウザで完結

導入

レッスン6〜10で学んだ4つのDIVISIONを、ついに1つのプログラムとしてつなげます。これがCOBOLでの最初の「Hello, World」です。

説明

      *> hello.cob
       IDENTIFICATION DIVISION.
       PROGRAM-ID. HELLO-WORLD.

       DATA DIVISION.
       WORKING-STORAGE SECTION.
       01  WS-MESSAGE          PIC X(20)   VALUE "Hello, COBOL!".

       PROCEDURE DIVISION.
           DISPLAY "Hello, World!".
           DISPLAY WS-MESSAGE.
           STOP RUN.

上から順に確認しましょう。

  1. IDENTIFICATION DIVISION. / PROGRAM-ID. HELLO-WORLD. … プログラムの名前を HELLO-WORLD と名乗る。
  2. DATA DIVISION. / WORKING-STORAGE SECTION.WS-MESSAGE という変数(20文字分、初期値 "Hello, COBOL!")を用意する。
  3. PROCEDURE DIVISION. … 実際の処理。文字列を直接表示し、続けて変数の中身も表示し、最後に STOP RUN. で終了する。

このプログラムでは ENVIRONMENT DIVISION を省略しています。レッスン8で触れたとおり、外部ファイルを使わない単純なプログラムでは省略が可能だからです。

実行すると、次のように表示されます。

Hello, World!
Hello, COBOL!

試すには

GnuCOBOLをインストール済みなら、次のコマンドで動かせます。

cobc -x -free hello.cob -o hello
./hello

固定形式で保存した場合は -free を付けずにコンパイルしてください。手元に環境がなければ、OnlineGDB に上のコードを貼り付けて「Run」を押すだけで、同じ結果を確認できます。WS-MESSAGE の中身を書き換えて、表示が変わることも試してみましょう。

実際に動かしてみよう

下のエディタにCOBOLを書いて「実行」を押すと、学習用シミュレータが DISPLAY の出力を表示します(本物のGnuCOBOLではなく、教材の範囲を再現した軽量エンジンです)。PICTURE句の桁数・ゼロ詰め・切り捨てなどCOBOLらしい挙動もそのまま体験できます。本文の例を書き換えて動かしてみましょう(ファイル処理やCALLなど一部の機能は対象外です)。

COBOL — ブラウザ内で実行(学習用シミュレータ)

COBOLの教材サブセットを動かす学習用シミュレータを読み込みます(本物のGnuCOBOLではなく、動きを再現した軽量な自作エンジンです)。
スクロールして表示された時点でも自動で読み込まれます。