アルゴリズムとプログラミング 概要
アルゴリズムとプログラミングは、コンピュータに「何を、どのような手順で処理させるか」を学ぶ分野です。プログラムの基礎であるデータ構造やアルゴリズムの考え方は、ITの仕事に直接関わらない方にも論理的思考力を養ううえで役立ちます。ITパスポート試験ではコードを書く必要はありませんが、フローチャートの読み取りやアルゴリズムの動作を追う問題が出題されます。
この章で学ぶこと
Section titled “この章で学ぶこと”- データ及びデータ構造 — 変数・配列・レコードといったデータの基本的な入れ物と、スタック(LIFO)・キュー(FIFO)・リスト・木構造といったデータ構造の特徴と使い分けを学びます。
- アルゴリズムの基本構造 — プログラムの3つの基本構造である「順次」「選択(分岐)」「繰返し(ループ)」を学びます。すべてのプログラムはこの3つの組み合わせで構成されます。
- アルゴリズムの表現方法 — フローチャート(流れ図)や擬似コードなど、アルゴリズムを視覚的・文章的に表現する方法を学びます。
- 代表的なアルゴリズム — 線形探索・二分探索などの探索アルゴリズムと、バブルソート・選択ソートなどの整列アルゴリズムの仕組みを学びます。
- プログラミング — プログラムの作成から実行までの流れや、コンパイラ・インタプリタなどの言語処理系の違いを学びます。
- プログラム言語 — 高水準言語と低水準言語の違い、代表的なプログラミング言語(Python、Java、C言語など)の特徴を学びます。
- コーディング標準やプログラム構造 — 可読性や保守性を高めるためのコーディング規約、モジュール化の考え方を学びます。
- マークアップ言語 — HTML・XML・CSSなど、Webページの構造や見た目を記述する言語の基本を学びます。
- その他の言語 — SQL以外のスクリプト言語や、用途に応じた各種言語を学びます。
押さえておきたいポイント
Section titled “押さえておきたいポイント”- スタック(LIFO:後入れ先出し) と キュー(FIFO:先入れ先出し) の違い
- 木構造の用語:根(ルート)、葉(リーフ)、親ノード、子ノード
- 順次・選択・繰返しの3つの基本構造ですべてのアルゴリズムが表現できる
- フローチャートの記号:端子(角丸四角)、処理(四角)、判断(ひし形)、ループ
- 線形探索:先頭から順に探す(単純だが遅い)
- 二分探索:ソート済みデータを半分ずつ絞り込む(高速だがデータの事前整列が必要)
- バブルソート:隣同士を比較・交換して並べ替える基本的な整列法
- コンパイラ:プログラム全体を一括で機械語に翻訳 / インタプリタ:1行ずつ翻訳しながら実行
- HTML:Webページの構造を記述 / CSS:見た目を記述 / XML:データの意味を記述
- トレース:プログラムを1ステップずつ実行して変数の値の変化を追跡する手法
試験での出題傾向
Section titled “試験での出題傾向”アルゴリズムとプログラミングからは毎回3〜4問程度出題されます。特にフローチャートの読み取り問題(変数の値を追跡する「トレース」問題)が定番です。また、スタック・キューの動作を問う問題や、探索・整列アルゴリズムの特徴を選ばせる問題もよく出ます。コードを書く必要はありませんが、処理の流れを正確に追える力が求められます。