【COBOL 読み1-3】レコードと512文字の謎 〜 DATA DIVISIONとの対話

今日のコード

 DATA DIVISION.
       FILE SECTION.

       FD  INFILE.
       01  IN-REC PIC X(512).

       FD  OUTREP.
       01  OUT-REC PIC X(132).

       FD  ERRFILE.
       01  ERR-REC PIC X(512).

なるお)ふふ、DIVISIONば理解したぜ。SECTIONも理解したぜ。

もう俺に迷うものはない!

目次

 DATA DIVISION.
       FILE SECTION.

DATA DIVISION.

な) データをいじるところ宣言!

FILE SECTION.

 DATA DIVISIONの中でファイルを扱うところ宣言!

ふ、勝った。
俺の邪魔するやつは、すぐそこにいる。

FD INFILE.

FDってなんじゃ?I

INFILEは適当につけただけって係長いってたけど…なんか宣言しているみたいには見えるな…

FD…フロッピーディスクだな!
まだまだフロッピーディスクは使うもんね、5インチ?3.5インチ?いきなりデータ消えるようなSSDに未来なんかねー!

前回、「SELECT INFILE」とかで、ファイルと紐づけられているし、なんか宣言ぽいんだけど

もういい、フリッピーディスクとかいっても未来がない。次いこ次!

01  IN-REC   PIC X(512).

「01」とかなんなんだ。こういうのは無視して次行けば、いずれわかるってやつだろこれ。

IN-REC

 なんか録画すんの?録音すんの?

いや、まてまてまてまて、こんな時代に録画も録音もできるはずがない…旧石器時代なんだから、うっほうっほ言ってるぐらいだよな?

いや、カセットテープぐらいはあるのか!?

ちょっとまて。もう少し論理的に考えよう。

つまるところレコードだから…シティポップとかおしゃれーな竹内まりあ12インチレコード!

DJプレイの必須アイテムな竹内まりあ。山下達郎を添えて。
いや山下達郎の竹内まりや添えなのかもしれない。

もちろんそんなことではないことは承知の上なので、RECはレコード、つまりデータの塊のはなしか。

INだから入力か、入力の処理に使う
OUTだから出力か、出力の処理に使う
ERR-RECだからエラーの出力だろか。

PIC X(512)

PICだからピクチャーだよな。
なんで画像が出てくるんだっつーの。

いやまって、512…これはデータの単位か!?
そうだ!仮に旧石器時代だとしても、言語なんだ、単位に縛られるもの!

だから512は…512MB?

わかるわけねーだろ!

教えてよ…係長

な)係長、実家に帰らせていただきます…

係)何いってんだ?

な)だって、何一つわかんないんだもん…10年引きこもろうと思って。
親に引きこもり解消プログラムに申し込まれて、人生終わらせようかと。

係)あっそ。

な)もう少し人の人生にに興味示すもんじゃないです…?

係)うるせーな。さっきからなにアホなこと言ってんだ。見せてみろ。

 DATA DIVISION.
       FILE SECTION.

データを処理するところ。

その処理をする中で、ファイルを扱うところ。

       FD  INFILE.
       01  IN-REC  PIC X(512).

       FD  OUTREP.
       01  OUT-REC  PIC X(132).

       FD  ERRFILE.
       01  ERR-REC  PIC X(512).

FDがフロッピーディスクとかアホか。

File Descriptionだ。ファイルの中の説明箇所だ。FDに特別な意味はねーよ。

INFILEとかをそれ用にファイル紐づけたろ。

01はレベル番号。

上位の箱って意味だと思っとけ。

その下に05とか10とか出てくんだよ。箱の中に箱を作ってくだけだ。

PICは型の宣言でしかねー。画像とかこのころから簡単に使えるわけねーだろ。

Xは文字と覚えればいい

512は桁数。今回だと文字数だな。

このファイル、1行512文字まで使うから用意しとけ」って話だ。

おむすび

な)なんちゅーか、意味あります、これ?

係)しらねーよ俺が作ったわけじゃねーし。
  あんま考えすぎんな。意味ねー決まりごとなんか山ほどあるからな。

な)えー意味ないことに数時間かけたんすか、おれ…?

係)無駄に考えるからだろ。

な)…考えないとできませんって…

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

コメント

コメントする

目次