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...

この記事での学習内容 ITパスポート 基本情報 応用情報アルゴリズムや流れ図(フローチャート)の考え方、記号、順次、判定、繰り返しなど、処理手順の表現方法を理解し、流れ図を描く方法を理解する。用語例:端子、処理、定義済み処理、判断、ループ端、データ、線アルゴリズムアルゴリズムとは、目的にたどり着くための道筋や処理の手順のことです。同じ結果を出すための処理であっても、より整理され...

Read more...

情報処理技術者試験での学習内容【基本情報・応用情報】 ・アルゴリズム、流れ図の考え方、表現方法を習得し、応用する。 ・代表的なアルゴリズムを習得し、応用する。 ・アルゴリズムの設計方法を習得し、応用する。【ITパスポート】 ・アルゴリズムと流れ図の基本的な考え方と表現方法を理解する。(1)アルゴリズムと流れ図 ITパスポート 基本情報 応用情報アルゴリズムや流れ図(...

Read more...

木構造

2017.09.29
この記事での学習内容 ITパスポート 基本情報 応用情報木構造の種類と考え方、木の巡回法、節の追加や削除、ヒープの再構成などを理解する。用語例:根、葉、枝、二分木、完全二分木、バランス木、順序木、多分木、探索木、深さ優先探索、幅優先探索、先行順、後行順、中間順木構造木構造はデータ間の階層的な関係、つまり親と子のような関係を表現するのに用いられるデータ構造です。大量の情報を系統的...

Read more...

この記事での学習内容 基本情報 応用情報スタックとキューの考え方、その操作を理解する。用語例:FIFO、LIFO、プッシュ、ポップスタック(LIFO)スタックは、最後に入れたものを最初に取り出すデータ構造で、LIFO(Last In, First Out:後入れ先出し)ともいいます。スタックにデータを追加する動作をプッシュ(push)、データを取り出す動作を(pop)といいます...

Read more...

リスト

2017.09.28
この記事での学習内容 ITパスポート 基本情報 応用情報リストの考え方、その操作を理解する。用語例:線形リスト、単方向リスト、双方向リスト、環状リスト、リンク付きリスト配列のデメリットとリスト配列では、要素の追加・挿入をする場合に、挿入する位置以降のすべての要素を1つずつずらす処理が必要になるため、要素の数が大量の場合は処理に時間がかかります。 つまり、要素の追加や削除が非効率...

Read more...