[改訂新版]基本情報技術者【科目B】アルゴリズム×擬似言語トレーニングブック
2024年9月2日紙版発売
2024年9月2日電子版発売
大滝みや子 著
A5判/304ページ
定価2,200円(本体2,000円+税10%)
ISBN 978-4-297-14271-1
書籍の概要
この本の概要
「最初は鬼のように難しい」でおなじみのアルゴリズムトレーニング本の改訂版!
本書は,基本情報技術者の科目Bで出題される全20問のうち,16問を占める「アルゴリズムと擬似言語」の問題を集中的にトレーニングするための書籍です。
科目B試験の試験時間は100分間であるため,1問あたり平均5分で解く必要があります。そのためには問題への慣れが不可欠であり,試験本番で力を発揮できるようになるための実践的なトレーニングは必須です。本書は,2023年に刊行された「アルゴリズムトレーニング本」の改訂版です。初版同様,過去問及びサンプル問題,さらにはそれらを題材としたオリジナル問題を多数用意し,実践的なトレーニングが積める内容となっています。また,IPAの公開問題についても本書のサポートページに解説PDFを用意し,みなさまの理解をサポートします。
こんな方におすすめ
- 基本情報処理技術者試験を受験する方で,特に科目Bのアルゴリズム問題に自信のない方
- 多くの問題を解きたいと思っている方
目次
- 読者特典(ダウンロードコンテンツ)のご案内
- 学習の手引き
第1章 変数とデータ構造
- 1.1 アルゴリズムの要件と表現方法
- 1.2 変数
- 1.3 配列
- 1.4 リスト
- 1.5 スタックとキュー
- 1.6 木構造
COLUMN
- 円周率3.14を整数型の変数に入れたらどうなる?
- データ構造とは何か?
- 双方向リストの場合,ポインタ部は二つ必要!
- リストを用いたスタックとキューの実現
- 部分木をもつ節の削除
第2章 擬似言語プログラミング
- 2.1 手続と関数
- 2.2 基本制御構造と条件式
- 2.3 選択処理(if文)
- 2.4 繰返し処理(while文とdo-while文)
- 2.5 繰返し処理(for文)
- 2.6 オブジェクト指向とクラス
COLUMN
- 複合条件の否定はド・モルガンの法則で考える
- while文の条件式が常に真になる場合は注意!
- 2分探索法の流れ図
- クラスStackのインスタンスを二つ作る
第3章 基本例題
- 3.1 成績評価を行う
- 3.2 1からNまでの整数の総和を求める
- 3.3 配列内に格納されているある数値を求める
- 3.4 二つの配列を連結する
- 3.5 配列の要素の並びを逆順にする
- 3.6 配列の要素の値を別の配列の要素番号に使用する
- 3.7 二つの正の整数の最大公約数を求める
- 3.8 k番目のデータまでを並べ替える
- 3.9 リスト要素を探索する
- 3.10 二次元配列からデータを探索する
- 3.11 プログラム実行途中の配列の内容を考える
- 3.12 数字文字列を数値に変換する
- 3.13 10進整数を8桁の2進数に変換する
- 3.14 ビット演算の結果を表示する
- 3.15 再帰関数の戻り値を求める
COLUMN
- if文の構文を確認しておこう!
- 変数の初期値に注意!
- 変数aの初期値として-1を設定する方法もある?!
- 二つの配列を一つにする処理
- 問われている処理のみに着目する?!
- 「配列の領域外を参照する」ってどういうこと?
- 最大公約数の求め方
- data[1]が最小の値でなかったら…?
- 「node+1」で次の要素をアクセスできないの?
- プログラムを「while(true)」の形式に書き換えてみよう!
- 二次元配列mdataを別の方法で探索する?!
- 基本問題としてよく出題される(?)バブルソート
- 16進数の数字文字列を数値に変換する
- 数字文字列を数値に変換する応用プログラムに挑戦!
- 問題文にある条件「0<n<100を満たす整数」の意味
- 配列binの要素数を固定にしない方法
- maskの値を変えないで同じ処理を行う方法
- シフト演算を確認しておこう!
- 試験によく出る再帰関数
- 二つの正の整数の最大公約数を再帰的に求める
第4章 応用例題
- 4.1 ゲームの得点を計算する
- 4.2 n×nの奇数魔方陣を作成する
- 4.3 1月1日からの経過日数を求める
- 4.4 自然数nまでの素数を求める
- 4.5 ハフマン符号化を使ってデータを圧縮する
- 4.6 整列済の二つの配列を併合する
- 4.7 文字列を圧縮する
- 4.8 ハッシュ法でデータを登録する
- 4.9 配列上にヒープを作成する
- 4.10 スタックを再帰的な手続で操作する
- 4.11 再帰的な手続を用いてn桁の2進数を全て出力する
- 4.12 2分探索木からデータを探索する
- 4.13 逆ポーランド表記法で表された式を計算する
- 4.14 リストを自己再編成探索する
- 4.15 隣接行列で表されたグラフを探索する
- 4.16 シフト演算と加算の繰返しで2進数の乗算を行う
- 4.17 base64を用いてバイナリデータをテキストに変換する
- 4.18 モンテカルロ法を用いて円周率の近似値を求める
- 4.19 近似解を2分法で求める手順を考える
- 4.20 行列の乗算で2年後の格付推移行列を求める
- 4.21 最小二乗法を用いて回帰式を求める
- 4.22 プログラムの検証と改良
- 4.23 プログラムのテストケース
- 4.24 デシジョンツリーを用いた意思決定
- 4.25 ゲーム木の探索
COLUMN
- 関数numを使うと効率が悪い?
- 魔方陣の縦・横・対角線に並んだ数の合計値
- ハフマン符号の問題では圧縮率が問われる?
- 番兵を用いた併合(マージ)
- プログラムの解読法
- チェーン方式の処理は「リスト処理」!
- ヒープの性質を使った整列法がヒープソートだ!
- 条件式が真のときの処理を記述しなくていいの?
- 手続testからbinaryNumber(2)として呼び出したらどうなる?
- 関数lookupを再帰版に書き換えてみる
- 通常の式を逆ポーランド表記にしてみる
- リストの自己再編成は二つの操作から成る!
- 2分木を幅優先探索してみる
- 処理手順(2)の処理をプログラムで書いてみよう!
- (x, y)が四分円内にあるか否かを距離で判定する?
- 推移行列を用いて雨の2日後が晴れである確率を求めてみる
- 最小二乗法って難しい?!
- 時間効率性からみた最適化
- 判定条件網羅(分岐網羅)
- 期待値原理を用いた意思決定
- ゲーム木のミニマックス探索
- 原始モンテカルロ法
第5章 サンプル問題
- 5.1 サンプル問題1
- 5.2 サンプル問題2
COLUMN
- 新たな要素をリストの先頭に追加するプログラム
- ビットの並びを逆にするもう一つの方法
- 深さ優先探索(先行順,中間順,後行順)
- 不具合のある2分探索プログラム
この本に関連する書籍
-
令和07-08年 基本情報技術者の新よくわかる教科書
短期間・最低限の勉強で合格を目指すための参考書です。 豊富なイラストや図解で内容を理解し,演習問題で解き方を学習。出てくる用語だけ覚えたら,基本情報技術者...