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を理解するための良いスタートになります。
【関連記事】
0 件のコメント:
コメントを投稿
注: コメントを投稿できるのは、このブログのメンバーだけです。