S703507-17, S902195-17

正2023-2024 基本情報技術者

誤表

科目 B の重点対策

第1版

第 1 刷（電子書籍版含む）

下記の部分に誤りがありましたので訂正させていただきます。ご迷惑をおかけし大変申し訳ございません。
訂正箇所
1

P.89 下の表四つ目の項目

2

P.93 図の下 1 行目
P.94 図の下 1, 3 行目

誤正

add_message(文字型)

add_message(文字列型)

ListEement

ListElement

Chapter3（l（エル）が抜けている）

キュー：先入れ先出し

3P.95
右下の図

Eｎqueue
エンキュー

1 2

3 4（「列」が抜けている）

キュー：先入れ先出し
Eｎqueue
エンキュー

Dequeue
デキュー

43 2

1Dequeue
デキュー（数字の順番，エンキューの矢印の方向）

Exercise
13-3

P.129 吹出し 8 の左図

if (top が 0 より大きい)

if (top が 0 より大きい)

1

P.142,144,146,148〔プログラム〕
上から 11, 12 行目

ret ← stack[stack[cc]] ← 未定義

endif
top ←dret ← stack[stack[ctop ←dc]

] ← 未定義

endif
return ret

return ret

Exercise 2
3-5

P.145 上の吹出し 1

スタックに関するプログラムが問われていることが分か スタックに関するプログラムが問われていることが分かります。スタックとは先入れ後出しのデータ構造です。 ります。スタックとは後入れ先出しのデータ構造です。

3P.145 下の吹出し 4（前略）問題文にある「スタックに要素がないとき」 「スタックに要素があるとき」に対応する処理だと想に対応する処理だと想像できます。
像できます。
（「誤」の青字部分を削除，「正」の赤字部分を修正）

4

P.147 の表
8 行目（push(5)），
9 行目（pop( )）(表の 1～7 行目，10 行目は記載を省略)

Exercise
13-6
1Chapter
4

P.150,152,154〔プログラム〕
上から 13 行目

if (last が 0 より大きい)

if ((last が 0 より大きい) and (last が first 以上)

if (list[ i ] が pivot 以下) // ⑦
left の末尾に list[ i ]を追加する
else
right の末尾に list[ i ]を追加する
endif
for (i を 1 まで 1 ずつ減らす) // ②

P.182
図の⑧2

P.185 擬似言語の表記例
上から 12, 14 行目

if (list[ i ] が pivot 以下) // ⑦
left の末尾に left[ i ]を追加する
else
right の末尾に left[ i ]を追加する
endif

3

P.188 擬似言語の表記例上から 3 行目

for (i を 0 まで 1 ずつ減らす) // ②4

P.202 擬似言語の表記例
上から 6 行目

for (i を 1 から (str の要素数 ― p の要素数 ＋ 1)
for (i を 1 から str の要素数 ― p の要素数 まで 1まで 1 ずつ増やす) // ②ずつ増やす) // ②
（内側のカッコは分かりやすさのため追加）

5

P.203
ずらし表

ずらす文字数ずらす文字数

スキップ文字数

スキップ文字数

6

P.204 擬似言語の表記例
上から 6 行目

整数型の配列: shift ← { 1, 2, 3, 4, 2 } // ②

整数型の配列: shift ← { 1, 1, 3, 3, 2 } // ②

7

P.204 擬似言語の表記例
上から 9 行目

while (i が str の要素数 － p の要素数 以下)

while (i が str の要素数 － p の要素数 ＋ 1 以下)

8
9Chapter
4

P.204 擬似言語の表記例
右列の解説⑤パターンを先頭から順に比較するパターンを先頭＋スキップ文字数から順に比較する

繰返しの最後まで到達した場合（パターンに一致する 繰返しの最後まで到達した場合（パターンに一致する文字がなく⑦で return されなかった場合）は－1 をす返す

P.204 擬似言語の表記例
文字がなく⑤で return されなかった場合）は－1 を返
右列の解説⑧10P.207 擬似言語の表記例
下から 4 行目

if (match)
return i // ⑥
endif

if (match)
return i ＋ 1 // ⑥
endif

11

P.207 擬似言語の表記例⑥

パターンと全ての文字が一致した場合は，i を返す
このとき，i はパターンの先頭の位置となっているパターンと全ての文字が一致した場合は，i＋1 を返す
このとき，i＋1 はパターンの先頭の位置となっているExercise
14-4

P.244 上から 4 行目

整数型の配列: ret ← {}
整数型: i, j ← 0

整数型の配列: ret ← {}
整数型: i, j ← 1

Exercise
14-7

P.270,P.272,P.274〔プログラム〕
上から 11, 13 行目

if (list[i] が pivot 以下)
left の末尾 に left[i] を追加する
else
right の末尾 に left[i] を追加する
endif

if (list[i] が pivot 以下)
left の末尾 に list[i] を追加する
else
right の末尾 に list[i] を追加する
endif

p.290,p.294,p.296,p.298,
p.300〔拡張後のプログラム〕
7～10 行目

while (a)while (a)if(retが空)
ret の末尾 にbを追加する
ret の末尾 に index を追加する
j ← j ＋ 1
else
tmp ← {}
ret の末尾 にbを追加する
for (i を index ＋ 1 から list の要素数 までendif
1 ずつ増やす)j ← j ＋ 1
tmp ← {}for (i を ret[j] ＋ 1 から list の要素数 まで 1 ずつ増やす)

2

P.295 吹出し 7

index ＋ 1 以降の list の要素を tmp に追加して，ret[j] ＋ 1 以降の list の要素を tmp に追加して，tmp を引数に再度関数 linear_search を呼出してい tmp を引数に再度関数 linear_search を呼出しています。index には一致する値の要素番号が代入されて ます。ret[j] には一致する値の要素番号が代入されているので，index ＋ 1 以降の要素を取り出すことで， いるので，ret[j] ＋ 1 以降の要素を取り出すことで，既に発見した一致する値を飛ばして，探索を行います。 既に発見した一致する値を飛ばして，探索を行います。

3P.297 吹出し 3 の右図の名称

1Exercise
4-94

P.299 吹出し 55P.299 吹出し 6
上図の要素番号

6P.300 解答群（エ）の b

1P.312
上から 3 行目

2P.312, P.316, P.318,
P.320〔プログラム〕○整数型: hash_searchの 3～4 行目

3P.313,P.320
解答群

Exercise
4-11

再度，繰返しに入り，index は 2 となります。配列 tmp 再度，繰返しに入り，j は 2 となります。配列 list かから，index より先の要素を取り出した配列を作成し， ら，ret[ j ]＋1 以降の要素を取り出した配列を作成し，tmp を更新します。
tmp を更新します。

Indexindex

問 11 次のプログラム中のa～cに入れる正しい答えの組合せを，

問 11 次のプログラム中のaとbに入れる正しい答えの組合せを，○整数型: hash_search(整数型の配列: list, 整 ○整数型: hash_search(整数型の配列: list, 整数型: val)
数型: val)
整数型: index ← hash(val)
整数型: index ← hash(val)while ((b) and (index がwhile (index が list の要素数以下)
list の要素数以下)))
if (bif (c)※選択肢（イ）以下は記載を省略
4P.317 吹出し 6 の 1 行目

（i（アイ）が小文字）（元の空欄 b の列を削除／空欄 c→空欄 b に）

while 文の継続条件と，途中で while 文を抜ける条件 if 文の条件が空欄となっていますが，が空欄となっていますが，

Exercise 5
4-11

P.321 上から 8，11 行目

空欄 b，空欄 c：
空欄 b：（中略）空欄 b には「list[ index ] と val が等しく
（中略）空欄 b には「list[ index ] と val が等しい」ない」，空欄 c には「list[ index ] と val が等しい」が入ることが分かります。
（「誤」の青字部分を削除）が入ることが分かります。

Exercise
1
4-13

P.341,P.343 の変数名queueq （変数名を全て queue→q へ）

Exercise
4-15

1P.356, P.360, P.362, P.364〔プログラム〕8 行目

while (i が str の要素数 － p の要素数 以下)

while (i が str の要素数 － p の要素数 ＋ 1 以下)

2

P.357,P.358,P.366
問題文の下から 5 行目

ずらし表:{1, 2, 3, 4, 2}
スキップ表: {0, 0, 0, 0, 2}

ずらし表:{1, 1, 3, 3, 2}
スキップ表: {0, 0, 0, 0, 2}

3P.359 吹出し 3 の上図,
P.363 吹出し 1
ずらし表とスキップ表

パターン文字列

パターン文字列

ずらし表

ずらし表

スキップ表

スキップ表

4

P.361 吹出し 3 の 2 行目

先頭から str の要素数 － p の要素数まで

1

P.368,P.372,P.374,P.376〔プログラム〕8 行目

for (s を 1 から p の要素数 まで 1 ずつ増やす) for (s を 1 から p の要素数－1 まで 1 ずつ増やす)

2

P.373 吹出し 2 の3 行目

次の for 文では，パターン文字列 p を順に参照して， 次の for 文では，パターン文字列 p を p の要素数－1まで順に参照して，

P.375 吹出し 2 の
3 行目

ここでは，A，B，C の文字コードを，それぞれ 1，2， ここでは，A，B の文字コードを，それぞれ 1，2 と3 とします。
します。（「誤」の青字部分を削除）

Exercise
4-16
3

4

先頭から str の要素数 － p の要素数 ＋ 1 まで

P.375 吹出し 2 の図（「誤」の青字部分を削除／「正」の赤字部分を修正）

Chapter
51P.386 (1)行列積
囲みの中 7 行目

for (k を 1 から m の行数 まで 1 ずつ増やす) // for (k を 1 から m の列数 まで 1 ずつ増やす) //③③

この度，弊社書籍『2023-2024 基本情報技術者 科目 B の重点対策』に多数の誤りが発生し，学習中の皆様に，ご不便やお手数をお掛けしましたことを，心より深くお詫び申し上げます。
皆様からのご意見やご指摘を真摯に受け止め，改善に努めてまいります。
本書籍へのお問い合わせは，下記よりお願い申し上げます。
サービスデスク：https://www.itec.co.jp/contact
この度は誠に申し訳ございません。
今後とも変わらぬご愛顧を賜りますようお願い申し上げます。
株式会社アイテック