アルゴリズム問題がちゃんと解ける本
情報処理教科書 基本情報技術者試験のアルゴリズム問題がちゃんと解ける本 (EXAMPRESS)
翔泳社
著者:矢沢久雄
本書の使い方
読者特典!動く疑似言語
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「駅間の最短距離を求めるプログラム」
問題
解答・解説
索引