基本情報技術者 科目B 超効率の教科書+よく出る問題集

2,640円(本体 2,400円+税10%)
- 品種名
- 書籍
- 発売日
- 2025/10/22
- ページ数
- 384
- サイズ
- A5判
- 著者
- 石田 宏実 著
- ISBN
- 9784295023036
基本情報の科目B攻略⇒最短ルート!
科目B攻略の決定版!基本情報技術者試験の中でも特に対策が難しい科目Bを徹底攻略できる一冊です。出題傾向を分析し、豊富な演習問題と著者によるスマホ対応動画解説を組み合わせ、理解が自然に深まる仕組みを実現しました。「技術解説→例題→演習→模擬試験」の流れで段階的に力を養成。本番での実力を着実に引き上げ、効率よく合格へと導きます。
- 電子版を買う
-
「読者アンケートに答える」「読者プレゼントに応募」の場合もこちらをご利用ください。
書籍の内容に関するお問い合わせはこちら。お答えできるのは本書に記載の内容に関することに限ります。
学校・法人一括購入に関するお問い合わせはこちらへ。
著者紹介
デジタルプランニング株式会社 代表取締役社長。8年間のサラリーマンプログラマを経て、2007年に独立。2009年にデジタルプランニング株式会社設立。インターネットマーケティングに有用なソフトウェアを自社開発。斬新な発想のソフトウェアとして、日本中で話題となる。またFacebook関連のWEBサービスを2012年に発表し、わずか3日で2万人が使用するヒット作となる。その他にもSNS関連のソフトやサービスを多数発表。ネット集客の知識はもちろん、ネットを使わないいわゆる「リアル」集客も得意とし 札幌で100人、200人規模のイベントを単独で何度も成功させている。著書に『ゲーミフィケーション』(大和出版)、『この1冊で合格!石田宏実の応用情報技術者 テキスト&問題集』(KADOKAWA)、『データベーススペシャリスト 完全攻略の教科書+過去問題 情報処理技術者試験』(技術評論社)がある。
目次
Chapter 1 擬似言語の基礎
Chapter 2 配列
Chapter 3 オブジェクト指向
Chapter 4 データ構造
Chapter 5 演習問題
Chapter 6 情報セキュリティ
Chapter 7 模擬試験問題
関連書籍
特典
本製品にはご購読の読者様がご利用できる「特典」サービスがついています。お手元に本製品を用意し、「特典を利用する」ボタンから画面の指示に従ってお進みください。
ダウンロード
本製品の読者さまを対象としたダウンロード情報はありません。
お詫びと訂正
誤記のためにご迷惑をおかけし、誠に申し訳ございません。
- 6ページ 1行目
- [誤]
問題のによっては動画による解説を・・・ - [正]
問題によっては動画による解説を - 【 第2刷にて修正 】
- [誤]
- 47ページ 上の表
- [誤]
※下図を参照。 - [正]
-
- 【 第2刷にて修正 】
- [誤]
- 49ページ 上の図の下部
- [誤]
※下図を参照 - [正]
-
- 【 第2刷にて修正 】
- [誤]
- 62ページ 上段の図
- [誤]
※下図を参照 - [正]
-
- 【 第2刷にて修正 】
- [誤]
- 86ページ 下部の表
- [誤]
※下図を参照ください。
- [正]
-
- 【 第2刷にて修正 】
- [誤]
- 87ページ 中段以下の図
- [誤]
※下図を参照ください。 - [正]
-
- 【 第2刷にて修正 】
- [誤]
- 109ページ ページ下部
- [誤]
※下図を参照 - [正]
-
- 【 第2刷にて修正 】
- [誤]
- 110ページ ページ上部
- [誤]
※下図を参照 - [正]
-
- 【 第2刷にて修正 】
- [誤]
- 120ページ 例題❶の解答群
- [誤]
ウ 90度右回転してから左右反転 - [正]
ウ 90度右回転してから上下反転 - 【 第2刷にて修正 】
- [誤]
- 146ページ 例題❸の問題文の2行目
- [誤]
関数mainは,駅の名前と緯度及び経度を登録し,指定した緯度,経度における最寄りの駅の名前を得る手続である。 - [正]
関数mainは,駅の名前と札幌駅からの距離を登録し,指定した位置における最寄りの駅の名前を得る手続である。 - 【 第2刷にて修正 】
- [誤]
- 146ページ プログラムの1行目
- [誤]
1 大域: Stationの配列: station - [正]
1 大域: Stationの配列: station ← { 4個の未定義の値 } - 【 第2刷にて修正 】
- [誤]
- 159ページ 解答群の選択肢エ
- [誤]
エ a.next - [正]
エ a - 【 第2刷にて修正 】
- [誤]
- 191ページ ページ下の図
- [誤]
※下図を参照 - [正]
-
- 【 第2刷にて修正 】
- [誤]
- 192ページ 1行目
- [誤]
ただし、この問題ではノードをたどった順序が問われているわけではありません。問われているのは探索する方法であり、探索した順番からどのような探索方法であるのかを考えます。探索方法を考えるために、引き続き処理を追っていきましょう。 - [正]
この問題では単にノードをたどった順序ではなくノードの値を使う順序に着目します。4行目でnode.valueをtotalに代入しています。ここまでにノード1とノード2で4行目を実行しているため、○を付けました。 - 【 第2刷にて修正 】
- [誤]
- 192ページ ページ下の図
- [誤]
※下図を参照 - [正]
-
- 【 第2刷にて修正 】
- [誤]
- 193ページ 「●プログラム⑧」の7行目
- [誤]
処理を開始してから要素の値を使ったのはこれが初めてです。使ったことを丸で表現しておきましょう。 - [正]
※この1文を削除 - 【 第2刷にて修正 】
- [誤]
- 193ページ ページ下の図
- [誤]
※下図を参照 - [正]
-
- 【 第2刷にて修正 】
- [誤]
- 195ページ 「●プログラム⑨」の1行目
- [誤]
要素9は左右の子がともに未定義であるため、totalを戻り値とします。 - [正]
要素9では4行目でtotalに9を代入していますので、○をつけます。その後、左右の子が未定義であるため、totalを戻り値とします。 - 【 第2刷にて修正 】
- [誤]
- 195ページ ページ中央の1文
- [誤]
戻り値にしたため要素9に丸を付けます。 - [正]
※この1文を削除 - 【 第2刷にて修正 】
- [誤]
- 195ページ ページ下の図
- [誤]
※下図を参照 - [正]
-
- 【 第2刷にて修正 】
- [誤]
- 196ページ 「●プログラム④」の2行目
- [誤]
これでプログラム④から抜けるため、丸を付けます。 - [正]
※この1文を削除 - 【 第2刷にて修正 】
- [誤]
- 196ページ ページ内の図
- [誤]
※下図を参照 - [正]
-
- 【 第2刷にて修正 】
- [誤]
- 196ページ 図の下の文と正答
- [誤]
現時点でたどった順番は→2→4→8→4→9→4で、丸を付けた順番は8→9→4です。「たどった順番」において「4」は3回登場していますが、戻り値を返したのは最後です。3回到着したうち、最後の3回目に値を参照していますので、後行順に該当します。
したがって、正解はエです。
正解 エ
- [正]
各ノードでは、まず自分の値を参照してから左の子、右の子へと進んでいますので、先行順に該当します。したがって、正解はイです。
正解 イ - 【 第2刷にて修正 】
- [誤]
- 227ページ 問題11の問題文の最終行
- [誤]
・・・これを10進数で解釈した文字列「11」
が戻り値となる。 - [正]
※この1行を削除 - 【 第2刷にて修正 】
- [誤]
- 240ページ 上部のソースコード
- [誤]
34 {"#", "#", "#", " ", " ", " "},
35 {"#", " ", " ", " ", " ", " "}, - [正]
34 {"#", " ", " ", " ", " ", " "},
35 {"#", "#", "#", " ", " ", " "},
- 【 第2刷にて修正 】
- [誤]
- 241ページ 「●変数iとjは行と列のどちらを扱っているのか」の1行目
- [誤]
どの要素がどの要素にコピーされれば、90度右回転になるのでしょうか。 - [正]
どの要素がどの要素に対応していれば、90度右回転になるのでしょうか。 - 【 第2刷にて修正 】
- [誤]
- 241ページ 2つ目の図の下の文
- [誤]
90度右回転の場合には、「0行目、0列目」の値が「0行目、7列目」にコピーされるのが正しい処理です。
- [正]
90度右回転の場合には、「0行目、0列目」の値が「0行目、7列目」に出力されるのが正しい処理です。
- 【 第2刷にて修正 】
- [誤]
- 241ページ 下から9行目
- [誤]
変数iと変数jはコピー元の要素番号ですが・・・ - [正]
変数iと変数jは回転前の要素番号ですが・・・ - 【 第2刷にて修正 】
- [誤]
- 241ページ 下から2行目
- [誤]
そこで4行1列目のコピー先を探ってみることにします。 - [正]
そこで4行1列目の出力位置を探ってみることにします。 - 【 第2刷にて修正 】
- [誤]
- 241ページ 下から6行目
- [誤]
17 in[8 - 0 - 1][0] を出力 // 90度右回転 - [正]
17 in[8 - 7 - 1][0] を出力 // 90度右回転 - 【 第2刷にて修正 】
- [誤]
- 241ページ 下から4行目
- [誤]
17 in[8 - 0 - 1][0] を出力 // 90度右回転 - [正]
17 in[8 - 0 - 1][7] を出力 // 90度右回転 - 【 第2刷にて修正 】
- [誤]
- 241ページ 下から3行目
- [誤]
両方の場合でin[7][0] になってしまいましたので、このままでは調査は進みません。「0, 0」のように、同じ値で調査したのが不適切だったようです。そこで4行1列目のコピー先を探ってみることにします。 - [正]
念のため、別の位置でも確認してみます。 - 【 第2刷にて修正 】
- [誤]
- 242ページ 1行目
- [誤]
仮にiが列番号で、jが行番号だとすると、次のように解釈できます。
-----
17 in[8 - 4 - 1][1] を出力 // 90度右回転
-----
in[3][1]を出力することになりますが、これは正しい場所です。iが列番号で、jが行番号のようです。これを覚えておきましょう。
- [正]
回転後の1行3列目に出力したい文字の場所は、以下の式で得られます。
-----
17 in[8 - 3 - 1][1] を出力 // 90度右回転
-----
回転後の1行3列目に出力したい文字の場所は、以下の式で得られます。 - 【 第2刷にて修正 】
- [誤]
- 242ページ ページ下部の表の文
- [誤]
ア、キの「in[RSZ - i - 1][j] 」は、in[6 - 1 - 1][4]=in[4][4]と解釈できます。さっそくですが正しい値になりました。念のため、他の選択肢も見てみましょう。 - [正]
iは回転後の行番号であることが判明していますから4です。jは回転後の列番号であるため、同じく4です。 - 【 第2刷にて修正 】
- [誤]
- 242ページ ページ下部の表
- [誤]
※下図を参照 - [正]
-
- 【 第2刷にて修正 】
- [誤]
- 243ページ 「●左右反転させるには」下の選択肢「シ」の数式
- [誤]
in [ j ] [ RSZ - i - 1 ] - [正]
in [ i ] [ RSZ - j - 1 ] - 【 第2刷にて修正 】
- [誤]
- 243ページ 下から3行目の数式
- [誤]
in [ 4 ] [ 6 - 1 - 1 ] → in [ 4 ] [ 4 ] - [正]
in [ 1 ] [ 6 - 4 - 1 ] → in [ 4 ] [ 1 ] - 【 第2刷にて修正 】
- [誤]
- 243ページ 1行目
- [誤]
残念ながら、アとキに加え、カとシも候補に残ってしまいました。では別の場所でも探ってみましょう。
[2, 4]、は[4, 3]に移動するべきです。 - [正]
残念ながら、エとコに加え、カとシも候補に残ってしまいました。では別の場所でも探ってみましょう。
[4, 2]、は[3, 4]に移動するべきです。 - 【 第2刷にて修正 】
- [誤]
- 243ページ ページ上部の表
- [誤]
※下図を参照 - [正]
-
- 【 第2刷にて修正 】
- [誤]
- 255ページ 上から2行目
- [誤]
しかしスタックは空です。 - [正]
スタックにはEOSが格納されている状態です。 - 【 第2刷にて修正 】
- [誤]
- 257ページ 下から3行目
- [誤]
しかし「9」と「(」を比較した場合、「9」の方が大きいため今回もここで繰り返しは終了です。 - [正]
しかし「+」と「(」を比較した場合、「+」の方が大きいため今回もここで繰り返しは終了です。 - 【 第2刷にて修正 】
- [誤]
- 273ページ 上から2行目
- [誤]
このプログラムでは特徴的な処理がいくつかありますが、34行目の「span_size × 2」に着目してみます。 - [正]
このプログラムでは特徴的な処理がいくつかありますが、39行目の「span_size × 2」に着目してみます。 - 【 第2刷にて修正 】
- [誤]
- 277ページ 上から3つめのパラグラフの1行目
- [誤]
それにより31行目の条件を満たさなくなります。 - [正]
それにより31行目の条件を満たすようになります。 - 【 第2刷にて修正 】
- [誤]
- 277ページ 下から2行目
- [誤]
さきほどはここで満たされずに27行目に遷移しましたが、・・・ - [正]
さきほどはここで満たされずに29行目に遷移しましたが、・・・ - 【 第2刷にて修正 】
- [誤]
- 278ページ 表の最下行
- [誤]
32:~~~~~~ - [正]
26:~~~~~~ - 【 第2刷にて修正 】
- [誤]
- 278ページ 表の下の文
- [誤]
23行目ではoutput[1] をtemp[0] で上書きします。temp[0] は、output[0] の値を待避したものです(15行目)。
32行目の処理でa_yetもfalseとなり、1番目と2番目の併合が完了したことが表現されます。
- [正]
23行目ではoutput[1] をtemp[0] で上書きします。temp[0] は、output[0] の値を待避したものです(16行目)。
26行目の処理でa_yetもfalseとなり、1番目と2番目の併合が完了したことが表現されます。
- 【 第2刷にて修正 】
- [誤]
- 351ページ 上部の図
- [誤]
※下図を参照 - [正]
-
- 【 第2刷にて修正 】
- [誤]
- 352ページ 「●イの場合」の解説文
- [誤]
次にイの「((i - shift) mod n)」です。
• 1周目:((1 - 2) mod 5) + 1 = 0
• 2周目:((2 - 2) mod 5) + 1 = 1
• 3周目:((3 - 2) mod 5) + 1 = 2
• 4周目:((4 - 2) mod 5) + 1 = 3
• 5周目:((5 - 2) mod 5) + 1 = 4
同様に1周目で結果が0になったので誤りです。 - [正]
次にイの「((i - shift) mod n)」です。
・1週目:((1 - 2) mod 5) = 4
・2週目:((2 - 2) mod 5) = 0
・3週目:((3 - 2) mod 5) = 1
・4週目:((4 - 2) mod 5) = 2
・5週目:((5 - 2) mod 5) = 3
同様に2週目で結果が0になったので誤りです。 - 【 第2刷にて修正 】
- [誤]
- 352ページ 「●エの場合」の解説
- [誤]
• 1周目:((1 - 2 - 1) mod 5) + 1 = −1
• 2周目:((2 - 2 - 1) mod 5) + 1 = 0
• 3周目:((3 - 2 - 1) mod 5) + 1 = 1
• 4周目:((4 - 2 - 1) mod 5) + 1 = 2
• 5周目:((5 - 2 - 1) mod 5) + 1 = 3
1周目で結果が−1に、また2周目で結果が0になったので誤りです。 - [正]
• 1周目:((1 - 2 - 1) mod 5) + 1 = 4
• 2周目:((2 - 2 - 1) mod 5) + 1 = 5
• 3周目:((3 - 2 - 1) mod 5) + 1 = 1
• 4周目:((4 - 2 - 1) mod 5) + 1 = 2
• 5周目:((5 - 2 - 1) mod 5) + 1 = 3
jは4、5、1、2、3の順になりました。したがってarrayは{0, 150, 72, 80, 25}となるため誤りです。 - 【 第2刷にて修正 】
- [誤]
- 375ページ 上から2番目のパラグラフの3行目
- [誤]
「128を2進数にした11000000」とのOR演算を行います。 - [正]
「128を2進数にした10000000」とのOR演算を行います。 - 【 第2刷にて修正 】
- [誤]
お問い合わせ
書籍の内容に関するお問い合わせはこちら。お答えできるのは本書に記載の内容に関することに限ります。









