アルゴリズム

情報処理教科書 基本情報技術者試験のアルゴリズム問題がちゃんと解ける本

矢沢久雄
翔泳社

本書の使い方
読者特典!動く疑似言語

CHAPTER 1 擬似言語とは何か

  • 01 情報処理技術者試験に擬似言語が採用された経緯
    • 午後のアルゴリズム問題がフローチャートから擬似言語に変わった
    • 擬似言語が採用された理由は見当たらない
  • 02 フローチャートと擬似言語の対応
    • 処理の流れの種類
    • 順次の流れを示すフローチャートと擬似言語
    • 分岐の流れを示すフローチャートと擬似言語
    • 繰返しの流れを示すフローチャートと擬似言語
  • 03 繰返しの継続条件と終了条件
    • 継続条件と終了条件の違い
    • 終了条件から継続条件への置き換え
  • 04 フローチャートと擬似言語の違い
    • 関数と変数の宣言
    • 「Sキー入力」と「S<-Input()」
  • 05 擬似言語が使われる場面
    • 選択問題でも擬似言語が使われる
    • 表計算でも擬似言語が使われる

CHAPTER 2 擬似言語の仕様

  • 01 変数の宣言とデータ型
    • 試験問題に添付されている擬似言語の仕様
    • 変数の宣言
    • データ型の種類
    • 擬似言語のプログラムの構造
    • 変数への値の代入
    • 配列の宣言
    • 文字列型の変数と文字型の配列
    • 二次元配列
    • 二次元配列の縦方向と横方向
  • 02 関数の宣言と呼出し
    • 関数の引数と戻り値
    • 引数で処理結果を返すこともできる
    • 戻り値で処理結果を返す関数の処理内容
    • 出力用の引数で処理結果を返す関数の処理内容
    • 戻り値で処理結果を返す関数の呼出し
    • 出力用の引数で処理結果を返す関数の呼出し
    • グローバル変数とローカル変数
  • 03 演算子
    • 演算子の種類と優先順位
    • 除算における注意事項
    • 関係演算
    • 論理演算
  • 04 処理の流れ
    • 条件が真のときだけ処理を行う分岐
    • 条件の審議によって二つの処理に分岐する
    • 三つ以上の処理に分岐する
    • 前判定の繰返し
    • 後判定の繰返し
    • ループカウンタを使った繰返し
    • ループカウンタと配列の添え字を対応させる
    • 多重ループ
    • 繰返しの継続条件のチェック回数とループカウンタの値
  • 05 コメント
    • コメントの構文
    • コメントが大きなヒントになる

CHAPTER 3 擬似言語を読む練習

  • 擬似言語を読む手順の練習
  • 01 ユークリッドの互除法
    • 「ユークリッドの互除法」のアルゴリズムとデータの説明
    • プログラムの内容の説明
    • プログラムのトレース練習
    • プログラムの穴埋め練習
  • 02 うるう年の判定
    • 「うるう年の判定」のアルゴリズムとデータの説明
    • プログラムの内容の説明
    • プログラムのトレース練習
  • 03 配列の最大値
    • 「配列の最大値」のアルゴリズムとデータの説明
    • プログラムの内容の説明
    • プログラムのトレース練習
  • 04 線形探索
    • 「線形探索」のアルゴリズムとデータの説明
    • プログラムの内容の説明
    • プログラムのトレース練習
  • 05 二分探索
    • 「二分探索」のアルゴリズムとデータの説明
    • プログラムの内容の説明
    • プログラムのトレース練習
  • 06 バブルソート
    • 「バブルソート」のアルゴリズムとデータの説明
    • プログラムの内容の説明
    • プログラムのトレース練習
  • 07 数字列を数値に変換する
    • 「数字列を数値に変換する」のアルゴリズムとデータの説明
    • プログラムの内容の説明
    • プログラムのトレース練習
  • 08 2進数の計算
    • 「2進数の計算」のアルゴリズムとデータの説明
    • プログラムの内容の説明
    • プログラムのトレース練習
  • 09 再帰呼出し
    • 「再帰呼出し」のアルゴリズムとデータの説明
    • プログラムの内容の説明
    • プログラムのトレース練習

CHAPTER 4 擬似言語を読む練習の仕上げ

  • 擬似言語を読む練習の仕上げで取り上げる過去問題
  • 01 整列アルゴリズム(挿入法)
    • 「整列アルゴリズム(挿入法)」のアルゴリズムとデータの説明
    • プログラムの内容の説明
    • プログラムのトレース練習
  • 02 スタックを使って実数値を10進数文字列に変換する
    • 「スタックを使って実数値を10進数文字列に変換する」のアルゴリズムとデータの説明
    • プログラムの内容の説明
    • プログラムのトレース練習
  • 03 リストの逐次探索処理
    • 「リストの逐次探索処理」のアルゴリズムとデータの説明
    • プログラムの内容の説明(MakeList関数)
    • プログラムの内容の説明(OrganizingSearch関数)
    • プログラムのトレース練習(MakeList関数)
    • プログラムのトレース練習(OrganizingSearch関数)

CHAPTER 5 アルゴリズム問題の解き方のコツ

  • 解き方のコツを掴むために取り上げる過去問題
  • すべての問題に共通した解法のコツ
  • 01 「図形の塗替え」で掴む解き方のコツ
    • 平成21年度・春期 基本情報技術者 午後・問8
    • プログラムの説明とプログラム
    • 具体的な値を想定して処理の流れをトレースする
    • 選択肢を見て消去法で考える
    • mとnの数式を見たら具体例を代入する
  • 02 「数値計算と計算誤差」で掴む解き方のコツ
    • 平成21年度・秋期 基本情報技術者 午後・問8
    • プログラムの説明とプログラム
    • プログラムの説明とプログラムを対応付ける
    • 問題文に示されている図をヒントにする
  • 03 「マージソート」で掴む解き方のコツ
    • 平成22年度・春期 基本情報技術者 午後・問8
    • プログラムの説明とプログラム
    • 選択肢をグループ分けすることで正解の候補を大きく絞る
    • 選択肢の異なる部分を注目する
  • 04 「符号付き2進整数の乗算」で掴む解き方のコツ
    • 平成22年度・秋期 基本情報技術者 午後・問8
    • プログラムの説明とプログラム
    • 2進数の取り扱いに慣れておく
    • 具体例として示された図の中にデータを書き込んで行く
    • 仕組みがわからなくても答えを選べる場合がある

CHAPTER 6 アルゴリズム問題演習

  • 演習のために取り上げる過去問題
  • 01 平成23年度・春期 基本情報技術者 午後・問8「組合せ」
    • 問題
    • 解答・解説
  • 02 平成23年度・秋期 基本情報技術者 午後・問8「代入分の処理」
    • 問題
    • 解答・解説
  • 03 平成24年度・春期 基本情報技術者 午後・問8「ビットの検査」
    • 問題
    • 解答・解説
  • 04 平成24年度・秋期 基本情報技術者 午後・問8「駅間の最短距離を求めるプログラム」
    • 問題
    • 解答・解説

索引