カテゴリ: COBOL 更新日: 2025/07/01

COBOLの文字データ型「PIC X」の基本と使い方をやさしく解説!初心者でも理解できる文字列の扱い方

文字データ型(PIC X)の基本と活用例
文字データ型(PIC X)の基本と活用例

先生と生徒の会話形式で理解しよう

生徒

「COBOLで名前とか文字を扱いたいときって、どうすればいいんですか?」

先生

「そのときには『PIC X』という文字データ型を使いますよ。」

生徒

「PIC Xって何ですか?なんだか難しそう…」

先生

「安心してください。これから、COBOL初心者でもわかるように、丁寧に説明していきますね!」

1. PIC Xとは?COBOLの文字データ型の基本

1. PIC Xとは?COBOLの文字データ型の基本
1. PIC Xとは?COBOLの文字データ型の基本

COBOLのPIC Xは、「文字列(もじれつ)」を扱うための文字データ型です。ここで言う「文字列」とは、人の名前や住所、メッセージなど、アルファベットや記号、ひらがな・カタカナなどの文字を表す情報のことです。

PICとは「PICTURE(ピクチャー)」の略で、「データの形」を指定する書き方です。その後ろに続くXは「1文字分のスペース(場所)」を意味します。

例えば、次のように書けば、「10文字の文字列」を保存する変数になります。


01 NAME PIC X(10).

このように「PIC X(10)」とすれば、10文字分の文字を入れる箱が作れるというイメージです。

2. PIC Xの使い方をやさしく解説

2. PIC Xの使い方をやさしく解説
2. PIC Xの使い方をやさしく解説

それでは、実際にPIC Xを使って、名前を入力して表示する簡単なCOBOLプログラムを紹介します。


IDENTIFICATION DIVISION.
PROGRAM-ID. SAMPLE-X.

ENVIRONMENT DIVISION.

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

PROCEDURE DIVISION.
    DISPLAY "あなたの名前を入力してください:".
    ACCEPT NAME
    DISPLAY "こんにちは、" NAME "さん!".
    STOP RUN.

このプログラムは、以下のように動作します。

  • DISPLAY文で「あなたの名前を入力してください」と表示します。
  • ACCEPT文でキーボードから名前を受け取って、NAME変数に入れます。
  • もう一度DISPLAY文で、入力された名前を使って「こんにちは、◯◯さん!」と挨拶を表示します。

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


あなたの名前を入力してください:
(ユーザーが「さとうたろう」と入力)
こんにちは、さとうたろうさん!

3. PIC Xで注意すべきこと

3. PIC Xで注意すべきこと
3. PIC Xで注意すべきこと

COBOLで文字列を扱うときには、いくつかのポイントに注意が必要です。

① 長さを必ず決める必要がある

PIC Xでは、必ず「何文字分の長さにするか」を指定しなければなりません。たとえば、「PIC X(10)」は10文字まで使えるけど、それ以上は使えませんし、短すぎると名前が途中で切れてしまうこともあります。

② 空白(スペース)も文字として扱われる

入力された文字数が少ないときは、残りの部分にスペース(空白)が自動的に入ります。たとえば、「PIC X(10)」に「ゆい」と入力すれば、残りの7文字は空白になります。

③ 文字コードに注意(EBCDICとASCII)

COBOLはもともとメインフレーム(大型コンピュータ)向けに作られた言語です。そのため、使われる文字コードにEBCDIC(エビシディック)という形式が使われることがあります。

一方、パソコンやWebではASCII(アスキー)が一般的です。文字化けを防ぐには、環境に合わせた文字コードの確認が大切です。

4. PIC Xの具体的な活用例

4. PIC Xの具体的な活用例
4. PIC Xの具体的な活用例

文字データ型は、さまざまな場面で活用されます。以下のようなケースでPIC Xを使うことが多いです。

① 氏名や住所などの入力データ

人の名前、郵便番号、電話番号、住所など、数字と文字が混ざっている情報にはPIC Xが最適です。


01 ADDRESS PIC X(50).
01 PHONE-NUMBER PIC X(15).

② メッセージの表示

画面に出す案内文やエラーメッセージなどにも使えます。


01 MSG PIC X(30) VALUE "データを入力してください".
DISPLAY MSG.

③ 固定文字列と組み合わせて使う

COBOLでは、定型文とユーザーの入力データを組み合わせることが多く、PIC Xが活躍します。


01 USERNAME PIC X(20).
DISPLAY "ようこそ、" USERNAME "さん!".

5. よくあるエラーとその対策

5. よくあるエラーとその対策
5. よくあるエラーとその対策

初心者がPIC Xでつまずきやすいミスを紹介し、その対処法をまとめました。

① 入力が長すぎる

設定した文字数より多く入力しても、切り捨てられてしまいます。「PIC X(5)」に「たなかたろう」と入力しても、「たなか」だけが保存されます。

② 半角と全角の違いに注意

日本語入力では、1文字が2バイトになる場合があります。表示ずれや桁あふれの原因になるため、全角と半角の違いを意識して設定する必要があります。

③ 数値をPIC Xに入れるとき

数字だけど文字として扱いたい場合(郵便番号など)は、PIC Xを使います。ただし、計算はできません。計算するには数値型(PIC 9)を使う必要があります。

カテゴリの一覧へ
新着記事
COBOLの変数名の付け方を解説!初心者でもわかる命名規則とコツ
C#のbreakとcontinueの使い方!ループ制御の基本テクニック
COBOLのFILLERの使い方とは?未使用領域を上手に管理する基本テクニック
C#のforeach文の基本!配列やコレクションを簡単に繰り返し処理する方法
人気記事
No.1
Java&Spring記事人気No1
C#のwhile文の使い方!条件付きループを基礎から学ぼう
No.2
Java&Spring記事人気No2
COBOLのDISPLAY文の使い方を完全ガイド!初心者でもわかる出力方法
No.3
Java&Spring記事人気No3
C#で型を調べる方法!GetType()・typeof演算子の違いと使い方
No.4
Java&Spring記事人気No4
COBOLのINDEXED BY句を使ったインデックス管理の基本をやさしく解説!