COBOLのACCEPT文の使い方を完全解説!初心者でもわかる基本的な入力方法
生徒
「COBOLって、ユーザーが文字や数字を入力することってできるんですか?」
先生
「はい、COBOLではACCEPT
文を使えば、キーボードから文字や数字などの入力ができますよ。」
生徒
「入力した内容を表示することもできるんですか?」
先生
「もちろんできますよ。それでは、ACCEPT
文の基本的な使い方を一緒に見ていきましょう!」
1. ACCEPT文とは?
ACCEPT文(アクセプト文)は、COBOLのプログラムでユーザーからの入力を受け取る命令です。
パソコンのキーボードで入力された文字や数字などの情報を、COBOLのプログラムの中にある変数(へんすう)に入れることができます。
変数とは、情報を入れておく箱のようなものです。たとえば「名前」や「年齢」といった情報を箱に入れて使えるようにするイメージです。
2. ACCEPT文の書き方と流れ
ACCEPT文の基本的な構文(こうぶん:文法のルール)は、以下のようになります。
ACCEPT 変数名.
この変数名
の部分には、事前に用意したデータ項目(データの箱)の名前を書きます。
ユーザーが入力した内容が、その箱(変数)に入るわけです。
3. ACCEPT文とDISPLAY文を組み合わせた例
それでは、ユーザーから名前を入力してもらい、その名前を画面に表示するプログラムを紹介します。
IDENTIFICATION DIVISION.
PROGRAM-ID. HELLO-USER.
ENVIRONMENT DIVISION.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 USER-NAME PIC X(20).
PROCEDURE DIVISION.
DISPLAY "あなたの名前を入力してください:".
ACCEPT USER-NAME.
DISPLAY "こんにちは、" USER-NAME "さん!".
STOP RUN.
実行結果(例)
あなたの名前を入力してください:
(ユーザーが「結衣」と入力)
こんにちは、結衣さん!
このように、ユーザーが入力した内容を画面に表示することで、プログラムと人間がやり取りしているような動きを作ることができます。
4. ACCEPT文で使えるデータ型
COBOLでは、ACCEPT文で使えるデータ型(データの種類)として主に以下の2つがあります。
- PIC X(n):文字列(もじれつ)の入力に使います。文字列とは、名前や住所のように文字を組み合わせたものです。
- PIC 9(n):数字の入力に使います。年齢や金額など、数字を入力したいときに使います。
たとえば年齢を入力したい場合は、次のように書きます。
01 USER-AGE PIC 9(3).
5. ACCEPT文を使った年齢入力のサンプル
今度は、ユーザーに年齢を入力してもらい、それを表示する例を見てみましょう。
IDENTIFICATION DIVISION.
PROGRAM-ID. AGE-INPUT.
ENVIRONMENT DIVISION.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 USER-AGE PIC 9(3).
PROCEDURE DIVISION.
DISPLAY "あなたの年齢を入力してください:".
ACCEPT USER-AGE.
DISPLAY "あなたの年齢は " USER-AGE " 歳ですね。".
STOP RUN.
実行結果(例)
あなたの年齢を入力してください:
(ユーザーが「25」と入力)
あなたの年齢は 25 歳ですね。
このように、数字の入力もとても簡単に受け取ることができます。
6. 注意点:桁数に気をつけよう
ACCEPT文でデータを受け取るときには、「変数に入る桁数」に注意が必要です。
たとえば、名前の変数がPIC X(10)
のように10文字までしか入らない設定になっていると、11文字以上の名前を入力しても、最初の10文字しか受け取れません。
長い名前や特殊な文字が入力される可能性がある場合には、少し余裕を持った桁数で変数を定義するとよいでしょう。
7. ACCEPT文は画面入力の入り口
COBOLのACCEPT
文は、初心者が最初に学ぶ「ユーザーからの入力」を扱うための基本中の基本です。
この文を使えるようになることで、ユーザーの名前や年齢など、外からのデータを使った動的なプログラムが作れるようになります。
たとえば、アンケートの入力フォームや、レジで金額を入力して計算するシステムなど、様々な場面で活用されています。