COBOLのDISPLAY命令で画面出力!初心者向け使い方を解説

2025年4月9日水曜日

COBOL

COBOLを始めたばかりのあなたへ――「画面に出力するだけなのに、なんでこんなに戸惑うんだ!」とモヤモヤしていませんか?

安心してください。DISPLAY命令さえ理解すれば、プログラムの動きを画面にしっかり映し出せます。COBOLの世界では少し地味に見えるかもしれませんが、実はかなり使い勝手の良い命令なんです。今回は、そんなDISPLAY命令について、初心者の方でも迷わずに使えるように、やさしくていねいに解説していきます。

読み終えるころには、きっと「DISPLAY、なんだかんだ便利じゃん」と感じているはずです。COBOLの第一歩、一緒に踏み出しましょう。

この記事で学べること。
・DISPLAY命令の役割と意味
・基本的な書き方と構文のルール
・実際の使い方(サンプルコードつき)
・間違えやすいポイントや注意点

COBOL DISPLAY命令とは?画面出力の基本を理解する

COBOLのプログラムを組み始めたばかりだと、まず「ちゃんと動いてるのかな?」って気になりますよね。そんなとき、画面に結果を表示して確認できたら安心です。

そこで登場するのがDISPLAY命令文字や数値などの情報を実行画面に表示できる命令

です。

例えば、計算結果を確認したいときや、データがちゃんと入っているかを確かめたいときに使います。実際に目で見て動作をチェックできるので、プログラムの理解がグッと深まります。

難しく考える必要はありません。DISPLAY命令は、COBOLにおける「こんにちは、世界!」的な存在です。

まずは文字を出してニヤニヤしてみましょう。それが上達への近道です。

COBOL DISPLAY命令の基本的な書き方(構文)

DISPLAY命令の形はとてもシンプルです。

DISPLAY 〇〇.

〇〇の部分には、出力したい内容を入れます。主に2つのパターンがあります。

  • 直接文字を表示する場合:文字列はシングルクォート ' ' で囲みます
  • 変数の中身を表示する場合:定義してある変数(データ項目)をそのまま書きます

例えば、こんな感じになります。

DISPLAY 'HELLO COBOL'.
DISPLAY WS-NAME.

最初の例では、「HELLO COBOL」という文字を表示します。次の例では、WS-NAMEという変数に入っているデータが表示されます。

ちなみに、「データ項目」って言われると難しく聞こえますが、ただの「変数」だと思ってOKです。つまり、あらかじめ何か値を入れておいた箱ですね。

DISPLAY命令は、特別な文法や設定も不要で、とにかく書けば出ます。まるで「叫べば返事が返ってくる」みたいな感じです。

COBOL DISPLAY命令の使い方①:文字リテラルを画面出力

まずは基本のキ。決まった文字を画面に表示するやり方からスタートです。

「HELLO」や「処理完了」など、プログラムの動きに関係なく、毎回同じメッセージを出すだけなら、とっても簡単です。

ポイントはPROCEDURE DIVISION.の中でDISPLAY命令を書くこと。ここで指示しないと、プログラムは「何をすればいいの?」と迷ってしまいます。

以下のサンプルをそのままコピーして動かせば、画面にちゃんと文字が表示されるはずです。

サンプルプログラムと実行結果(文字リテラル)

IDENTIFICATION DIVISION.
PROGRAM-ID. HELLO-DISPLAY.

DATA DIVISION.

PROCEDURE DIVISION.
   DISPLAY 'HELLO, COBOL WORLD!'.
   STOP RUN.

上のプログラムは、COBOLで書かれた超シンプルな構成です。見どころはここです。

   DISPLAY 'HELLO, COBOL WORLD!'.

文字リテラル(直接表示したい文字)をシングルクォートで囲んで、DISPLAYの後に書くだけでOK。

実行すると、こんなふうに画面に出力されます。

HELLO, COBOL WORLD!

はじめてCOBOLで出力できた瞬間、ちょっとした感動ありますよ。

COBOL DISPLAY命令の使い方②:データ項目(変数)の内容を画面出力

続いてはもう一歩進んで、変数に入っているデータを表示する方法です。

COBOLでは、変数のことを「データ項目」と呼びます。ちょっとお堅い響きですが、やってることは中学生でもわかるレベル。

使い方は次の3ステップ。

  • WORKING-STORAGE SECTIONで、データ項目(変数)を定義する
  • MOVE命令で、変数に値を入れる
  • DISPLAY命令で、その値を画面に表示する

以下に、フルセットのサンプルを載せます。

サンプルプログラムと実行結果(データ項目)

IDENTIFICATION DIVISION.
PROGRAM-ID. DISPLAY-NAME.

DATA DIVISION.
WORKING-STORAGE SECTION.
01 WS-NAME PIC X(20).

PROCEDURE DIVISION.
   MOVE 'COBOL初心者' TO WS-NAME.
   DISPLAY 'ユーザー名: ' WS-NAME.
   STOP RUN.

このプログラムでは、WS-NAMEという変数を用意して、MOVE命令で文字を入れた後にDISPLAYで出力しています。

実行すると、こうなります。

ユーザー名: COBOL初心者

こうして変数の中身が見えると、プログラムがちゃんと動いているのが一目でわかります。

DISPLAY命令の活躍はまだまだこれから。ひとまず、文字と変数の出力ができれば、スタートラインは突破です。

COBOL DISPLAY命令の使い方③:複数の項目を連結して画面出力

文字だけ、変数だけの表示に慣れてきたら、いくつかの情報をまとめて1行に出力するやり方も覚えておきたいところです。

たとえば、「計算結果: 1234」みたいに、メッセージと変数の中身をひとまとめに表示するケース。こういうとき、COBOLのDISPLAY命令はスペースで区切って並べるだけでOKです。

連結用の特別な記号や関数はいりません。見たまま並べれば、自動でつながってくれます。

サンプルプログラムと実行結果(複数項目)

IDENTIFICATION DIVISION.
PROGRAM-ID. DISPLAY-MULTI.

DATA DIVISION.
WORKING-STORAGE SECTION.
01 WS-AGE     PIC 99 VALUE 25.
01 WS-NAME    PIC X(20) VALUE 'TANAKA'.

PROCEDURE DIVISION.
   DISPLAY '名前: ' WS-NAME ' 年齢: ' WS-AGE.
   STOP RUN.

このプログラムのポイントは、DISPLAY命令の行。

   DISPLAY '名前: ' WS-NAME ' 年齢: ' WS-AGE.

それぞれの項目をスペースでつなぐだけで、1行にまとまって出力されます。

実行結果はこうなります。

名前: TANAKA 年齢: 25

情報を並べるだけで自然に読みやすくなるので、デバッグにも便利です。

COBOL DISPLAY命令の注意点と押さえるべきポイント

便利なDISPLAY命令ですが、使っていく中で「あれ?」と感じる場面も出てきます。そんなときに慌てないためのチェックポイントをまとめました。

  • 基本的に1回のDISPLAYで1行ずつ改行される
    毎回改行されるため、何度も出力すると行数が増えて見づらくなることがあります。
  • 改行したくない場合は「WITH NO ADVANCING」を使う
    ただしこれは少し応用なので、最初は改行されるものと考えて進めてOKです。
  • 大量データの表示には向いていない
    一覧表のように整った表示が必要なときは、別の手段を検討するほうが無難です。
  • 全角文字の表示は環境によって文字化けすることがある
    特にWindowsとUNIXで表示結果が変わる場合があります。気になるときは半角英数字から試してみましょう。
  • 数字の前にゼロが残って表示される場合がある
    例えばPIC 9(3)なら「007」と出ることも。見た目を整えたいなら、編集記述(編集用の書き方)を学ぶと対処できます。

こうした注意点を知っておくと、「なんでこうなるの?」というストレスがグッと減ります。

【まとめ】COBOL DISPLAY命令で画面出力マスターへ

DISPLAY命令を使えば、文字も変数も、まとめて出力することができます。

書き方はシンプルで、構文もわかりやすく、COBOL学習の中でもつまずきにくいポイントのひとつです。

今回の内容を押さえておけば、メッセージ表示やデバッグがグッとやりやすくなります。

まずは小さな出力から、少しずつ慣れていきましょう。DISPLAY命令は、COBOLを理解するための良いスタートになります。

【関連記事】

>> 今さら聞けない「COBOLとは?」

このブログを検索

  • ()

自己紹介

自分の写真
リモートワークでエンジニア兼Webディレクターとして活動しています。プログラミングやAIなど、日々の業務や学びの中で得た知識や気づきをわかりやすく発信し、これからITスキルを身につけたい人にも役立つ情報をお届けします。 note → https://note.com/yurufuri X → https://x.com/mnao111

QooQ