COBOLのPROCEDURE DIVISIONを徹底解説!初心者でも理解できる処理の流れと構成
生徒
「COBOLって、どこに命令を書くんですか? どこからプログラムが動き出すんですか?」
先生
「いい質問ですね。COBOLの命令は、主にPROCEDURE DIVISION(プロシージャ部)という場所に書きます。ここが処理のスタート地点です。」
生徒
「プロシージャ部って何ですか? 難しそう…」
先生
「安心してください。ひとつひとつ丁寧に説明していきますよ。処理の流れも一緒に見ていきましょう!」
1. PROCEDURE DIVISIONとは?
PROCEDURE DIVISION(プロシージャ部)は、COBOLプログラムの中で実際の「処理の命令」を書く場所です。ここに書かれた命令が、上から順番に実行されます。
例えば、「画面に文字を表示する」「データを入力する」「計算をする」といった命令は、すべてこのPROCEDURE DIVISIONに記述します。
COBOLでは、最初にプログラムのタイトルや使うファイルなどを指定してから、最後にこのプロシージャ部で命令を実行します。
2. PROCEDURE DIVISIONの基本構成
PROCEDURE DIVISIONの構成はとてもシンプルで、以下のようになります。
PROCEDURE DIVISION.
DISPLAY "こんにちは、COBOLの世界!".
STOP RUN.
この例では、1行目でPROCEDURE DIVISION.と書いて、命令のブロックを開始します。
その下にDISPLAY文を使って、画面に文字を表示しています。DISPLAYは「表示する」という意味の命令です。
最後にあるSTOP RUN.は、「プログラムを終了する」という意味の命令です。
こんにちは、COBOLの世界!
3. 処理の流れは「上から下」
COBOLのPROCEDURE DIVISIONに書かれた命令は、基本的に「上から下へ」順番に実行されます。これは、紙に書かれたレシピを順番に読み進めるようなものです。
たとえば、次のようなプログラムでは、順番に3つのメッセージが表示されます。
PROCEDURE DIVISION.
DISPLAY "おはようございます".
DISPLAY "今日は良い天気ですね".
DISPLAY "COBOLの勉強を始めましょう".
STOP RUN.
おはようございます
今日は良い天気ですね
COBOLの勉強を始めましょう
このように、上から順番に命令が実行されていくため、プログラムの流れをイメージしやすく、初心者でもとっつきやすい構造になっています。
4. セクションとパラグラフとは?
COBOLでは、PROCEDURE DIVISIONの中で命令をグループ化するために、「セクション(Section)」や「パラグラフ(Paragraph)」という単位を使うことがあります。
簡単に言うと、これは「見出しをつけた段落」のようなもので、プログラムを読みやすく、整理しやすくするための仕組みです。
PROCEDURE DIVISION.
START-PROGRAM.
DISPLAY "処理を開始します".
PERFORM SHOW-MESSAGE.
STOP RUN.
SHOW-MESSAGE.
DISPLAY "これはパラグラフの例です".
処理を開始します
これはパラグラフの例です
この例では、START-PROGRAM.とSHOW-MESSAGE.という2つのパラグラフがあります。
PERFORMという命令を使うことで、SHOW-MESSAGEというパラグラフを呼び出して実行しています。
「PERFORM」は「実行する」という意味の命令で、特定の処理を呼び出して再利用することができます。
5. PROCEDURE DIVISIONの実例を一緒に見てみよう
それでは、PROCEDURE DIVISIONの理解を深めるために、もう少し実用的な例を見てみましょう。以下は、名前を入力して表示する簡単なプログラムです。
IDENTIFICATION DIVISION.
PROGRAM-ID. HELLO-NAME.
ENVIRONMENT DIVISION.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 USER-NAME PIC A(20).
PROCEDURE DIVISION.
DISPLAY "あなたの名前を入力してください:".
ACCEPT USER-NAME.
DISPLAY "こんにちは、" USER-NAME "さん!".
STOP RUN.
あなたの名前を入力してください:
(ユーザーが入力)
こんにちは、〇〇さん!
ACCEPTという命令で、キーボードから入力を受け取ります。USER-NAMEという変数に入力された名前が入り、それをDISPLAYで表示しています。
このように、PROCEDURE DIVISIONでは、入力、表示、計算など、すべての処理の中心となる部分を記述します。
6. PROCEDURE DIVISIONはCOBOLの心臓部
COBOLのPROCEDURE DIVISIONは、実際にコンピュータへ「これをして」「次にこれをして」と順番を指示する、いわば処理の心臓部です。ここに並んだ命令は上から下へと読み進められ、書いたとおりに実行されます。はじめての人でも、文章を順番に読むのと同じ感覚で動きを追えるため、処理の見通しをつけやすいのが特徴です。難しく考える必要はありません。「表示する」「入力を受け取る」「呼び出す」「終わる」という基本的な部品を、流れに沿って並べれば十分に動きます。
特に初心者がつまずきやすいのは、「どこから始まり、どこで終わるのか」という全体像です。PROCEDURE DIVISIONでは、最初に案内を表示し、必要なら入力を受け取り、まとまった処理(パラグラフ)をPERFORMで呼び出し、最後にSTOP RUNで終了します。たとえるなら、玄関であいさつをして、用件をうかがい、必要な部屋へ案内し、最後にお見送りをする流れです。次の短い見本は、その最小構成をやさしく体験できるサンプルです。
IDENTIFICATION DIVISION.
PROGRAM-ID. HEART-OF-PROCEDURE.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 USER-NAME PIC A(20).
01 WELCOME-MSG PIC X(40).
PROCEDURE DIVISION.
MOVE "ようこそ、COBOLの学習へ" TO WELCOME-MSG.
DISPLAY WELCOME-MSG.
DISPLAY "おなまえを入力してください:".
ACCEPT USER-NAME.
PERFORM GREET-PARA.
STOP RUN.
GREET-PARA.
DISPLAY "はじめまして、" USER-NAME "さん".
この見本では、まずMOVEで文字をWELCOME-MSGに入れ、DISPLAYで画面へ表示します。次にACCEPTがキーボード入力を受け取り、USER-NAMEに格納します。あいさつ文の表示はGREET-PARAというパラグラフに分け、PERFORMで呼び出しています。処理を小さな段落に分けると意味がはっきりし、あとから読み返したときに迷いません。すべての流れが終わればSTOP RUNでプログラムを終了します。上から下へ、ひとつずつ積み重ねるだけで「表示→入力→呼び出し→終了」という自然な流れが完成します。
大切なのは、PROCEDURE DIVISIONに書く命令は「人が読む順番=実行の順番」だということです。まず何を知らせるか、次に何を受け取るか、どの処理をまとめて呼び出すかを意識して並べるだけで、初心者でも落ち着いて組み立てられます。短い見本でも、業務の入り口である案内表示、必要情報の入力、あいさつの出力、終了の合図という一連の流れがはっきりつかめます。ここまでの基本を丁寧に身につければ、この先も同じ考え方で処理を積み上げられるはずです。
まとめ
ここまで読み進めた人なら、COBOLの中で手足のように使われるPROCEDURE DIVISIONという仕組みが、どれほど大切な役割を持っているのかが自然と分かってきたはずです。画面に文字を出す、入力を受け取る、計算を行う、処理を繰り返す、そして最後に終わらせるといった動作が、すべてこの領域に集まっています。ひとつの流れが始まり、ひとつの流れが終わる、その積み重ねが大きな業務処理の基礎になると考えると、非常に分かりやすく、長い歴史の中でも使われ続けてきた理由が少し見えてくるはずです。文字で書かれた命令が上から下へと順番に実行されるので、動きの見通しが良く、初心者でも迷いにくい構造になっています。さらに、パラグラフという仕組みを使えば、ひとまとまりの処理を呼び出して使い回すことができます。この感覚は、文章に見出しをつけて整理するのに似ており、同じプログラムの中で複数の処理を管理したいときにも力を発揮します。プログラムが長くなればなるほど、名前を付けた段落を呼び出しながら進む書き方は理解しやすく、読み返すときの助けにもなります。
例えば、ある部分で入力を受け取り、次の部分で結果を表示し、さらに別の場面で計算を行うという場合でも、処理を組み合わせるだけで自然な流れを作れます。それぞれの命令がつながり、目に見える結果として画面に現れると、プログラムという文字の羅列がひとつの動く仕組みに変わって見えます。習い始めたばかりの生徒が「難しい」と感じていた言語でも、実際に手を動かしてみると感覚が変わる瞬間があります。COBOLは、長い歴史の中で銀行や自治体、保険などの基幹処理を支え続けてきた言語です。データを扱い、帳票を作り、計算を行い、確実に結果を残すという仕事に向いています。その中で、このPROCEDURE DIVISIONが中心となって処理の流れを支えています。
実際の業務では、表示や入力だけでなく、ファイルを読み書きしたり、データを検証したり、場合によっては同じ処理を繰り返したりします。その時にも、パラグラフを用いて呼び出す書き方が役に立ちます。ある処理をひとまとまりの段落にしておけば、必要な場所で呼び出すだけで済み、同じ処理を何度も書かずに済みます。同じ手順を何度も繰り返し書くと間違いが増えますが、この仕組みを使えば命令をひとつの場所で管理できるので、修正や確認もしやすくなります。上から順に命令が実行されるというシンプルな特徴と、必要なときにパラグラフを呼び出せる自由度が合わさることで、柔軟で読みやすい構成を作れるようになります。
実際に文字を表示する例を書いてみると、最初は単純なDISPLAYだけで動きますが、INPUT、計算、条件分岐、繰り返し、ファイル処理などへ少しずつ広げていけます。どんなに複雑な処理でも、基本は「始まりから終わりへ順番に処理が流れる」という点は変わりません。この考え方が理解できていれば、後から新しい命令を覚えるときも迷わずに進めます。たとえプログラムの世界が初めてでも、目の前に書かれた命令がそのまま実行されると考えれば、必要以上に身構える必要はありません。大切なのは、正しい場所に正しい命令を書き、順番に流れるように組み立てることです。
ここでは、振り返りとしてもう一度、簡単なプログラムを書いてみましょう。名前を入力し、挨拶を返すだけの短い例でも、PROCEDURE DIVISIONの役割がはっきり分かります。
IDENTIFICATION DIVISION.
PROGRAM-ID. SAMPLE-NAME.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 USER-NAME PIC A(20).
PROCEDURE DIVISION.
DISPLAY "おなまえを入力してください:".
ACCEPT USER-NAME.
PERFORM HELLO-PARA.
STOP RUN.
HELLO-PARA.
DISPLAY "こんにちは、" USER-NAME "さん".
たったこれだけでも、入力、呼び出し、表示、終了までの流れがひと目で分かります。HELLO-PARAというパラグラフを呼び出すことで、処理の流れがきれいに分離されています。段落に名前をつけたことで、どんな処理が行われているのか読みやすくなり、後から見ても迷いません。同じ仕組みを使うと、複数の段落を連携させて大きな処理に発展させることもできます。長年実務で使われてきた理由は、読みやすさと保守のしやすさにあります。複雑な業務を扱うときほど、こうした整理された書き方は強い味方になります。
もし今後さらに学習を続けるなら、ファイル読込や計算処理、繰り返し、条件分岐などにも挑戦してみると、PROCEDURE DIVISIONがどれほど柔軟に動くのか実感できます。どんなに難しい命令でも、根底には必ず「順番に処理を進める」という考え方があります。この感覚さえ理解していれば、複雑な処理でも驚かずに組み立てられるようになります。言葉としての命令に馴染んでくれば、パラグラフを使う意味やメリットも自然と見えてきます。大切なのは、ひとつずつ積み重ねていき、実際に手を動かしながら慣れていくことです。COBOLを使った仕事は今も多くの現場で続けられており、しっかりと習得すれば大きな力になります。
生徒
「長いプログラムでも、パラグラフを使って整理すれば読みやすくなるんですね。最初は命令が多くて混乱しそうだと思いましたが、流れがはっきり分かるので助かります。」
先生
「その気づきがとても大事です。上から順に命令を読み進め、必要な処理を呼び出して組み合わせるという考え方に慣れれば、動きの見通しが良くなりますよ。」
生徒
「名前を入力する例でも、HELLO-PARAのように段落でまとめられていると、どこで挨拶をしているのかすぐに見つけられました。結果が自然に見えるのが嬉しいです。」
先生
「そうですね。段落に名前をつけることで、処理の意味が明確になります。長い業務プログラムでも、こうした工夫が読みやすさと正確さにつながります。」
生徒
「最初は不安でしたが、書いてみると意外と素直に動く言語なんだと感じました。これなら少しずつでも進められそうです。」
先生
「その調子です。次は計算や条件分岐にも挑戦してみましょう。処理が増えるほど、PROCEDURE DIVISIONの便利さを実感できますよ。」