pafuイーランスクール 学んでできる

Web学習室TOPへ戻る >  メニューへ戻る

ファイル処理のアルゴリズム(基礎理論)

学習のポイント

COBOLを使用してプログラミングを経験した方は、なじみのあるアルゴリズムです。ファイル処理のアルゴリズムは、COBOLだけでなく、色々プログラミング言語で使用されます。パターンがありますので、しっかりマスターしましょう。

1. ファイル処理とは?
ファイル処理には、以下の2種類があります。
同一ファイル内の処理
順編成ファイルを順番に読んで印刷したり、グループ集計などがあります。
複数ファイル間での処理
ファイルの「併合」「更新」「照会」などがあります。
2. ファイル処理アルゴリズムの基本パターン
ファイル処理の基本パターンは以下の通りです。

ここで、注目してほしい点は、「ファイルを読む」の処理がループの前とループ処理の最後に行われている点です。ファイル処理では、左記のように、「前処理」「主処理」「後処理」にわけて処理を行います。「EOF」とは、ファイルにデータがなくなった状態です。
3. ファイルの併合
「ファイルの併合」とは、あらかじめキー項目で整列されている2つのファイルを1個にまとめて、新しいファイルを作成することです。
4. ファイルの照会と更新
「ファイルの照会」とは、「マスタファイル」のレコードを「トランザクションファイル」のレコードで参照することを言います。
「ファイルの更新」とは、「マスタファイル」のレコードを「トランザクションファイル」のレコードでマスタファイルのあるフィールドを更新することを言います。
4. コントロールブレイク処理
「コントロールブレイク処理」とは、グループ集計でよく使用されます。これは、例えば、支店コードで分類されたファイルを読んで、支店別に、売上金額を求めたりすることを言います。

例えば、支店別売上ファイル(支店コード、日付、売上金額)というファイルがあった場合、このファイルをもとにして、支店別の売上金額の合計を求める場合、支店コードのキーについて昇順にソートしておきます。その後、支店コードが等しい間、反復処理を行い、売上金額の合計を求めます。この時の支店コードを「コントロールブレイクキー」と言います。以下がその処理です。
典型的なコントロールブレイク処理です。ここで、ファイルを全件、読み込みながら、ポイントは、支店コードをワークへセットして、等しい間、反復処理を行っています。この中で、売上金額の合計処理を行っています。ですから、ファイルは、この処理を行う前に「支店コードで昇順(または降順)にソート」しておく必要があります。コントロールブレイク処理は、SQL文の場合、「GROUP BY 」に相当します。上記のような処理は、「COBOL言語」が得意とするところでが、SQL文で上記の処理を記述した場合は、以下のようになります。
SELECT 支店コード, SUM(売上金額) AS 金額合計 FROM 支店別売上ファイル GROUP BY 支店コード
Web学習室TOPへ戻る >  メニューへ戻る

pafuイーランスクール

pafuイーランスクール 学んでできる