ITの基礎知識|ITパスポート・基本情報

【】の記事一覧

この記事での学習内容 基本情報 応用情報

バッチ処理などで使用される整列処理、併合処理、コントロールブレイク処理、編集処理のアルゴリズムを理解する。

ファイル処理のアルゴリズム

ファイル処理とは、入力装置や外部記憶装置から読み取ったファイルを処理することです。処理対象のデータが主記憶装置の中にないため、以下のような手順が基本となります。

  1. 前処理: ファイルを開き、内容を主記憶装置の中に展開します。
  2. 主処理: 開いたファイルに対して、1レコードずつ所定の処理を行います。
  3. 後処理: ファイルを閉じます。

なお、ここでいうファイルは以下の定義となります。

  • レコード: 型の異なる幾つかの項目(=フィールド)を持つ
  • ファイル: 同じフィールドを持つレコードの集まり

ファイルの性質として、データ件数が膨大になることがあるため、ハードディスクなどの外部記憶装置に作業ファイルを作成し、中間結果を一時退避しながら処理をすすめることもある。その場合、外部記憶装置に十分な空き容量が必要となる。

ファイルの併合処理

ファイルの併合処理は、二つの整列済みのレコードの並びで構成されるファイルを、一つの整列されたレコードのファイルにする処理です。

例:ファイルAとBから、ファイルCを作成する

  1. 前処理: ファイルA、B、Cをそれぞれ開く。
  2. 主処理: ファイルA、Bを1レコードずつ読み込み、値の小さい方のレコードをファイルCに出力し、出力した方のファイルの次のレコードを読み込む。
    これを両ファイルの終端まで繰り返す。
  3. 後処理: ファイルA、B、Cをそれぞれ閉じる。

コントロールブレイク処理

コントロールブレイクとは、同じキー値を持つレコード軍の切れ目のことです。

コントロールブレイク処理とは、コントロールブレイクに出会ったらそのレコード群の処理を終了し、複数のレコード群の処理を反復することです。レコード群の中のレコードごとの処理の反復とあわせて、二重の反復になります。

例:社員の給与の部署ごとの合計

  1. 社員の給与一覧ファイルをあらかじめ部署で整列
  2. 部署が同じである間、社員毎の給与を計算用変数に加算していく。
  3. 違い部署コードが出現したら「コントロールブレイク」
    部署名と計算用変数の値を中間ファイルに出力し、計算用変数0で初期化。
  4. 2と3をファイルの終端まで繰り返す。
  5. ファイル終端まで来たら、部署名と計算用変数の値を中間ファイルに出力。中間ファイルの内容を処理の最終結果として書き出す。

ファイルの編集処理

ファイルの編集処理は、既存のファイルのデータを修正する処理です。

  1. 前処理: マスターファイルM、トランザクションファイルT、新マスターファイルNを開く。
  2. 主処理: ファイルMとファイルTからから1レコードずつ読み込み、キー値を比較して以下の処理を行う。これをファイル終端まで繰り返す。
    1. Tのキー値=Mのキー値なら、ファイルTのレコードをファイルNに出力し、ファイルMとファイルTの次のレコードを読み込む。(データの更新)
    2. Tのキー値>Mのキー値なら、ファイルMのレコードをファイルNに出力し、ファイルMの次のレコードを読み込む。
    3. Tのキー値<Mのキー値なら、ファイルTのレコードをファイルNに出力し、ファイルTの次のレコードを読み込む。(レコードの追加)
  3. 後処理: ファイルM、ファイルT、ファイルNを閉じる。
この記事での学習内容 基本情報 応用情報文字列処理のアルゴリズムを理解する。用語例:文字列照合、KMP法(クヌース・モリス・プラット法)、BM法(ボイヤ・ムーア法)文字列処理のアルゴリズム文字列処理のアルゴリズムは、一連の文字の並びを処理するアルゴリズムです。 連結: 一つの文字列の後へ別の文字列を追加して、一つの文字列にします。 挿入: 文字列の途中に別の文字列を挿入...

Read more...

この記事での学習内容 基本情報 応用情報グラフのアルゴリズムを理解する。用語例:深さ優先探索、幅優先探索、最短経路探索グラフのアルゴリズムグラフは節(ノード)とそれらを連結する結線(リンク)で結ばれた一つの図です。通信網、木構造、あるいは流れ図がその例です。(木構造の場合は、結線のことを枝とも呼ぶ)これらのグラフを扱うアルゴリズムをグラフのアルゴリズムといいます。木の巡回法...

Read more...

この記事での学習内容 ITパスポート 基本情報 応用情報探索、併合のアルゴリズムを理解する。再帰的アルゴリズムの考え方、特徴、実現に適したデータ構造を理解する。用語例:線形探索法、二分探索法、ハッシュ表探索法、シノニム対策探索「探索」とは配列などに格納されたデータの集まりから、特定のデータを探すことです。その値が見つかる場合と、見つからない場合があり、複数ある場合には最初の一つ...

Read more...

この記事での学習内容 ITパスポート 基本情報 応用情報整列のアルゴリズムを理解する。用語例:選択ソート、バブルソート、マージソート、挿入ソート、シェルソート、クイックソート、ヒープソート整列(ソート)整列とは、データを大きい順(降順)または小さい順(昇順)になるように並び替えることです。 昇順降順 数値「32514」1234554321 英字「BDAE...

Read more...

購入商品の入庫データの検査アルゴリズムを示す次の流れ図の説明として、正しいものはどれか。 ア: 商品コードと入庫数にエラーがない場合、購入単価にエラーが有っても購入単価エラーは表示されない。 イ: 商品コードにエラーがなく、購入単価にエラーが有る場合、入庫数がエラーでも入庫数エラーは表示されない。 ウ: 商品コードにエラーがなく、入庫数にエラーが有る場合、購入単価が正常でも購入...

Read more...

空のスタックに対して次の操作を行った場合、スタックに残っているデータはどれか。ここで、"push X"はスタックへデータ X を格納し、"pop"はスタックからデータを取り出す操作を表す。push 1 → push 2 → pop → push 3 → push 4 → pop → push 5 → pop ア: 1と3 イ: 2と4 ウ: 2と5 エ: 4と5

Read more...

下から上へデータを積み上げ、上にあるデータから順に取り出すデータ構造(以下、スタックという)がある。これを用いて、図に示すような、右側から入力されたデータの順番を変化させて、左側に出力する装置を考える。この装置に対する操作は次の3通りである。 右側から入力されたデータをそのまま左側に出力する。 右側から入力されたデータをスタックに積み上げる。 スタックの一番上にあるデータを取り...

Read more...