COBOLのレベル番号とは?01〜77の役割と変数宣言を初心者向けに解説!
生徒
「COBOLで変数を使うとき、'01'とか'77'とかの数字がついているのを見たんですけど、これは何ですか?」
先生
「良いところに気づきましたね。これは『レベル番号』と呼ばれるもので、COBOLでは変数やデータの構造を表すために使います。」
生徒
「どんな風に使われるんですか?難しそうでよくわかりません…」
先生
「それでは、COBOLのレベル番号の役割と、変数の書き方について、やさしく解説していきましょう!」
1. レベル番号とは?COBOLで変数を定義するための重要な数字
COBOL(コボル)では、変数を定義するときに「レベル番号(レベルばんごう)」という数字を使います。これは、データの「構造(かたち)」や「階層(かいそう)」を表すものです。レベル番号は、主に 01
から 49
、そして 77
や 66
などが使われます。
プログラミング初心者の方は、「レベルって何?構造ってどういうこと?」と戸惑うかもしれませんね。ここでは、難しい専門用語を使わず、やさしく説明していきます。
2. レベル番号の使い方をイメージで理解しよう!
レベル番号は、タンスの引き出しのように考えるとわかりやすいです。
- 01レベル:タンス本体(データの最上位)
- 05・10レベル:タンスの引き出し(中の項目)
- 77レベル:引き出しではなく、単独で使う小物入れのような変数
このように、レベル番号はデータをまとめるための箱のような役割を持っています。
3. 01レベルとその中の項目:グループ項目を作ろう
01レベルは、グループ項目(まとめて扱うデータ)を定義するために使います。中に入れる個別の項目は、05や10などのレベル番号を使って記述します。
例として、名前や年齢、住所をまとめたデータ構造を見てみましょう。
DATA DIVISION.
WORKING-STORAGE SECTION.
01 PERSONAL-DATA.
05 NAME PIC X(20).
05 AGE PIC 9(3).
05 ADDRESS PIC X(50).
ここでのポイント:
01 PERSONAL-DATA
は、グループ全体の名前05
は、グループの中の「子ども」のような項目PIC(ピクチャ)
は、データの型(形)を表します
4. 77レベルとは?単独の変数を宣言したいときに使おう
77レベルは、グループ構造を使わずに、単独で変数を定義するためのものです。
こちらは、簡単な変数をひとつだけ用意したいときに使います。
DATA DIVISION.
WORKING-STORAGE SECTION.
77 TOTAL-AMOUNT PIC 9(5)V99.
77 CUSTOMER-NAME PIC X(30).
このように、77レベルは他の変数と入れ子(ネスト)にならないので、シンプルなデータ管理に便利です。
5. 実際にDISPLAY文で変数を使ってみよう
それでは、実際に変数を定義して、DISPLAY
文で画面に表示してみましょう。
IDENTIFICATION DIVISION.
PROGRAM-ID. SAMPLE-LEVELS.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 PERSONAL-INFO.
05 FULL-NAME PIC X(20) VALUE "山田 太郎".
05 AGE PIC 9(2) VALUE 28.
77 COUNTRY PIC X(10) VALUE "日本".
PROCEDURE DIVISION.
DISPLAY "名前: " FULL-NAME
DISPLAY "年齢: " AGE
DISPLAY "国籍: " COUNTRY
STOP RUN.
実行結果:
名前: 山田 太郎
年齢: 28
国籍: 日本
6. レベル番号の一覧と使い分けをまとめて覚えよう
COBOLでよく使うレベル番号と、その用途を以下にまとめます。
- 01:グループの先頭。大きな箱。
- 02〜49:01の中に入る小さな箱(入れ子構造が可能)。
- 66:リネーム項目(別名をつけたいとき)。※初心者は今は使わなくてOK
- 77:単独で使うシンプルな変数。
- 88:条件名を定義するときに使う特殊なレベル。※別記事で解説予定
最初は 01 と 77 を覚えれば十分です!
7. プログラミング初心者がレベル番号を学ぶときのポイント
初心者がCOBOLを学ぶとき、いきなり多くのレベル番号を覚えようとせず、まずは基本の構造を理解しましょう。
- 01レベルは「データのまとまり」を作るときに使う
- 77レベルは「単独で変数」を定義するときに使う
- 05、10などは、01レベルの中に入れる「項目の部品」
紙に書いて図にすると、データの入れ子構造が見えてきますよ。
8. レベル番号を使った変数宣言を身につけよう!
COBOLでは、データの構造をはっきりさせてプログラムを書くのが特徴です。レベル番号はそのための「目印(めじるし)」のようなものです。
しっかりと変数を宣言しておくと、後の計算処理やデータ出力もスムーズになります。まずは、01レベルと77レベルを使い分けて、自分で変数宣言ができるようになりましょう。