書籍概要

情報処理技術者試験

[改訂新版]基本情報技術者【科目B】ゼロからわかるアルゴリズムと擬似言語

著者
発売日
更新日

概要

フルカラーで理解しやすい紙面!初学者に最適な「科目B」対策本

基本情報技術者試験「科目B」の出題の4分の3を占める「アルゴリズムとプログラミング(擬似言語)」の対策書です。プログラム言語を学習した経験のない受験者を想定し,知識ゼロのスタートからゆっくりていねいに,「アルゴリズムの動き」と「それを表現(実行)する擬似言語プログラム」を対にして解説します。

最終的な到達目標は,試験問題レベルの出題を,試験本番で短時間(1問5~10分)に解けるスキルを身につける」こと。段階を踏んで,入門・基礎レベルから図解を交えて丁寧に解説していますので,知識や基礎力がしっかり身につきます。さらに例題や確認問題を多数掲載し,これらを解いていくことで実践的な応用力をスムーズに向上させていくことを狙います。

フルカラーの紙面で,初学者が理解しやすいよう配色を工夫。プログラム言語を扱った業務経験や学習経験がないゼロベースからの受験者や,アルゴリズム/擬似言語問題が苦手で超入門レベルから再学習したい受験者にぜひおすすめしたい一冊です。

こんな方におすすめ

  • 科目Bの「アルゴリズムとプログラミング(擬似言語)」問題の対策本を探している受験者
  • プログラム言語を扱った業務経験や学習経験がないゼロベースからの受験者
  • アルゴリズム/擬似言語問題が苦手で,超入門レベルから再学習したい受験者

サンプル

samplesamplesamplesamplesample

目次

第1章 アルゴリズム・はじめの一歩

  • 1-1 コンピュータとプログラムの関係
  • 1-2 アルゴリズムとは手順のこと
    • [例題]送料を含んだ請求金額の算出
  • 1-3 流れ図の記述形式と使い方
    • [例題]会員向け割引金額の算出
  • 第1章 演習問題
    • 問1 選択処理の条件(問題文から条件を考える)
    • 問2 繰返し回数を数える(変数のトレース)

第2章 擬似言語のルールを知ろう

  • 2-1 擬似言語ってどんなもの?
  • 2-2 擬似言語の文法① -宣言部-
  • 2-3 擬似言語の文法② -処理部-
  • 第2章 演習問題
    • 問1 変数への値の代入
    • 問2 選択処理の条件記述
    • 問3 比較演算子による条件の組合せ

第3章 擬似言語プログラムのきほん

  • 3-1 擬似言語プログラムの読み取り方
    • [例題]2進数文字列から整数値への変換
  • 3-2 手続や関数の呼出し
    • [例題]三つの手続の実行結果
  • 3-3 複雑な条件式の考え方 - if文-
  • 3-4 多重の繰返し処理 - for文-
    • [例題]九九表を出力するアルゴリズム
  • 3-5 配列を操作するアルゴリズム
    • [例題]文字探索のアルゴリズム
    • [例題]文字列探索のアルゴリズム
  • 第3章 演習問題
    • 問1 二つの文字型配列の比較
    • 問2 if-elseif文の読取り

第4章 試験問題に慣れていこう

  • 4-1 試験問題の分類と「トレース問題」の対策法
    • [例題]行列データの変換
  • 4-2 「空欄穴埋め問題」の対策法
    • [例題]配列要素の入換え
  • 4-3 「チェックポイント問題」の対策法
    • [例題]最大公約数と最小公倍数を求める
  • 4-4 「計算式を考える問題」の対策法
    • [例題]平方根を求める数式
  • 4-5 「プログラムの誤り訂正・改善問題」の対策法
    • [例題]配列要素のブロックコピー
  • 第4章 演習問題
    • 問1 二つのプログラムの照合
    • 問2 チェックキャラクターを算出する計算式
    • 問3 無向グラフを隣接行列に変換する

第5章 仕様があいまいな擬似言語文法

  • 5-1 可変長(動的)配列の役割と使い方
    • [例題]可変長(動的)配列の操作
  • 5-2 「関数・手続」呼出しのバリエーションとルール
    • [例題]関数の呼出し
  • 5-3 「大域」の意味と使い方 -ローカル変数とグローバル変数-
    • [例題]配列要素のブロックコピー(改変)
  • 5-4 「未定義,未定義の値」って何のこと?
    • [例題]“未定義の値”の扱い
  • 第5章 演習問題
    • 問 配列要素のランク付け(可変長配列の動作)

第6章 オブジェクト指向プログラミング

  • 6-1 オブジェクト指向問題の考え方・解き方
    • [例題]メソッドの使い方
  • 6-2 オブジェクトを生成する
    • [例題]優先度付きキューの操作
    • [例題]単方向リストへの要素追加
  • 6-3 複数のオブジェクトを関連付ける
    • [例題]ショッピングカートの合計額出力
  • 第6章 演習問題
    • 問 単方向リストからの要素削除

第7章 データ構造の種類とアルゴリズム

  • 7-1 データ構造の基本と配列の操作
    • [例題]二次元配列に格納されている図形の回転
  • 7-2 キューとスタックの使い方
    • [例題]キューとスタックの操作
  • 7-3 木構造とその応用
    • [例題]ヒープのアルゴリズム
    • [例題]二分木の走査
  • 7-4 リスト構造とそのバリエーション
    • [例題]双方向リストへの要素追加
  • 7-5 グラフを用いた最短経路問題のアルゴリズム
    • [例題]最短経路を求めるプログラム
  • 第7章 演習問題
    • 問 文字型配列とチェックキャラクターの計算

第8章 探索と整列のアルゴリズム

  • 8-1 探索のアルゴリズム
    • [例題]二分探索プログラムの不具合
    • [例題]ボイヤ・ムーア法による探索
  • 8-2 整列のアルゴリズム
    • [例題]クイックソートのアルゴリズム
  • 第8章 演習問題
    • 問 ハッシュ法によるデータ格納

第9章 数理と情報に関するアルゴリズム

  • 9-1 論理演算・シフト演算とビット操作
    • [例題]ビット列の取出しと配列への格納
    • [例題]ビットの並びを逆転する
  • 9-2 再帰処理を利用したアルゴリズム
    • [例題]階乗を求めるプログラム
  • 9-3 データサイエンス・AIに関連するアルゴリズム
    • [例題]関連度を出力するプログラム
  • 9-4 逆ポーランド記法のアルゴリズム
    • [例題]逆ポーランド記法
  • 第9章 演習問題
    • 問 Unicode → UTF-8の符号変換

サポート

正誤表

本書の以下の部分に誤りがありました。ここに訂正するとともに,ご迷惑をおかけしたことを深くお詫び申し上げます。

(2026年4月16日最終更新)

【第2刷 訂正情報】

P.105 2行目

CountBox
countBox

P.176,177 図中の文字

Head
listHead

【第1刷 訂正情報】(第2刷で修正済み)

P.56 下から3行目

てるので
るので

P.102 問題文1行目・6行目、プログラムの1行目

CountBox
countBox

P.105 1行目

CountBox(119)
countBox(119)

P.110 2~3行目

引数として二次元配列を受け取り、配列要素を参照しながら、別の二次元配列に入れて返す
引数として整数型の二次元配列を受け取り、配列要素を参照しながら、整数型配列の配列に入れて返す

P.141 「処理①」の下の解説

実行後に末尾の要素番号は1になります。
追加する時点で末尾の要素番号は1にな

P.175 図中の文字(2箇所)

Head
listHead

P.185,186 図中の文字(3箇所)

Head
listHead

P.186 図中の説明

次ポインタに「削除する要素」の参照を代入
1つ前側の参照に「削除する要素」の参照を代入

(以下2026年3月23日更新)

P.185 下から2行目

ポインタを変更
参照を変更

(以下2026年2月12日更新)

P.164 下の紫の枠囲みの2行上

五つの単語
つの単語

P.165 下から9行目

五つの単語
つの単語

(以下2026年2月9日更新)

P.78 中程の計算式

=16+1=18
=16+2=18

(以下2025年12月23日更新)

P.9 上から9行目

解きずらい
解きらい

(以下2025年12月22日更新)

P.135 ,136 隣接行列adjMatrix  2行3列

1
0

(以下2025年11月27日更新)

P.215 「①前順(先行順序)」の解説1行目

最初に葉に到達するタイミングでアクセス
最初に要素に到達するタイミングでアクセス

商品一覧