基本情報の科目Bが評価点500点台から伸びない人へ|弱点別の立て直し方
科目Bの評価点が500点台だった。あと少しなのは分かるけれど、何をすれば600点に届くのかが分からない。
勉強は続けているのに、点数が同じあたりで止まっていませんか?
先に答えをお伝えします。500点台から伸びないときに必要なのは、勉強の量を増やすことより、間違い方を分けて調べることです。直近の演習で落とした問題を、処理の追跡、配列、条件分岐、セキュリティの四つに分けてみてください。
多くの場合、落とし方はどれか一つか二つに偏っています。その偏った弱点だけを集中して直すと、同じ勉強時間でも点数が動きやすくなります。この記事では、分け方と、弱点ごとの立て直し方を順番に説明します。
評価点500点台が意味すること¶
立て直しの前に、科目Bの採点の仕組みを確かめておきます。仕組みを知っておくと、点数の受け止め方が変わります。
基本情報技術者試験の科目Bは、20問を100分で解く試験です。出題はアルゴリズムとプログラミングが16問、情報セキュリティが4問です。合格するには、科目Bの評価点が1,000点満点で600点以上である必要があります。
評価点は、IRT(項目応答理論)という方式で出されます。IRTとは、どの問題に正解したかをもとに、受験者の力を推定する採点の考え方です。単純に正解数を足し上げる方式ではありません。
正答率を評価点に換算しない¶
ここで一つ注意があります。演習の正答率を、そのまま評価点に置き換えて考えないことです。IRTでは、同じ正解数でもどの問題に正解したかで評価点が変わり得るため、1問あたり何点という配点表はありません。
そのため、演習で6割正解したから600点、という計算は成り立ちません。評価点は受験した結果として知らされるもので、自分で計算して出すものではないと考えてください。
演習で見るべきなのは点数の換算ではなく、どの種類の問題を落としているかです。換算しようとすると、数字に気を取られて肝心の弱点が見えなくなります。合格基準と評価点の読み方は、こちらの記事でくわしく説明しています。
【関連記事】基本情報の合格点は何割?科目A・科目Bの基準と得点計画を解説
500点台は土台ができている段階¶
評価点が500点台だったということは、科目Bの問題がまったく読めないわけではない、ということです。プログラムの読み方の基本は身に付いていて、どこかに安定して落とす場所がある状態だと考えられます。
だからこそ、全部を最初からやり直す必要はありません。落とす場所を見つけて、そこを直すほうが早く結果が出ます。
直近の演習を四つの弱点に分ける¶
ここからが本題です。最近解いた演習の結果を使って、自分の弱点を調べます。本番の問題そのものは手元に残らないので、受験後に解いた演習や公開問題の結果を材料にします。
間違えた問題を四つに分ける¶
まず、直近で間違えた問題を集めます。10問ほどあれば十分です。そのうえで、一問ずつ次の四つのどれに当たるかを決めていきます。
| 弱点 | 当てはまる間違い方 | よくある具体例 |
|---|---|---|
| 処理の追跡 | 繰返しの途中で変数の値がずれる | ループの回数を一つ多く数えた、代入の順番を逆に読んだ |
| 配列 | 添字と中身を取り違える | 1から始まる添字を0からと思い込んだ、範囲の端を読み落とした |
| 条件分岐 | 通る枝を間違える | 等号の有無を見落とした、複合条件の and と or を取り違えた |
| セキュリティ | 用語や状況の読み取りを誤る | 対策の目的を取り違えた、問題文の条件を読み落とした |
添字とは、配列の中で何番目の要素かを示す番号のことです。配列は、同じ種類のデータを番号付きで並べて入れておく入れ物です。
分けるときは、間違えた理由を一言で書き添えておきます。たとえば「3回目のループで i を足し忘れた」のように、具体的に書くのがこつです。
偏りを数えて、直す順番を決める¶
四つに分け終わったら、それぞれ何問あったかを数えます。数がいちばん多い弱点が、最初に直す場所です。
二つの弱点が同じくらい多いときは、処理の追跡から先に直すことをおすすめします。処理の追跡は、配列や条件分岐の問題でも土台になる力だからです。値の追い方が安定すると、ほかの弱点の間違いも一緒に減ることがあります。
どれに分けるか迷ったとき¶
一つの問題に、二つ以上の間違い方が重なっていることもあります。配列の問題で、繰返しの回数も数え間違えていた、という場合です。
迷ったときは、最初にずれた場所で決めます。トレース表をさかのぼって、値が正しくなくなった最初の行を探してください。その行が配列の添字の読み違いなら配列、繰返しの回数の数え違いなら処理の追跡に分けます。
最初のずれを直せば、そのあとの間違いは自然に消えることが多いです。だから、最初にずれた場所を弱点として数えるのがいちばん役に立ちます。
正解した問題も一度だけ見直す¶
分ける作業では、間違えた問題だけでなく、自信のないまま正解した問題も拾っておくと精度が上がります。たまたま選んだ選択肢が合っていた問題は、本番では落とすかもしれないからです。
正解した問題のうち、途中の値をはっきり説明できないものに印を付けます。印を付けた問題も、間違えた問題と同じように四つに分けて数えてください。こうすると、点数には出ていない弱点まで見えてきます。
弱点別の立て直し方¶
弱点が分かったら、それぞれに合った方法で直していきます。四つの弱点ごとに、やることを説明します。
処理の追跡が弱いとき¶
処理の追跡で間違える人は、頭の中だけで値を追っていることが多いです。繰返しが3回、4回と続くと、どこかで覚え違いが起きます。
直し方は、変数の値を表に書き出す習慣を付けることです。この表をトレース表と呼びます。短い例で確かめてみましょう。
整数型: i, s
s ← 0
for (i を 1 から 4 まで 1 ずつ増やす)
s ← s + i × 2
endfor
このプログラムを1行ずつ追うと、変数の値は次のように変わります。
| 繰返しの回 | i | s の計算 | s |
|---|---|---|---|
| 1回目 | 1 | 0 + 1 × 2 | 2 |
| 2回目 | 2 | 2 + 2 × 2 | 6 |
| 3回目 | 3 | 6 + 3 × 2 | 12 |
| 4回目 | 4 | 12 + 4 × 2 | 20 |
最後の s は20です。この程度の短いプログラムでも、頭の中だけで追うと、2回目の計算で前の s を使い忘れることがあります。表にすると、一つ前の行の値を必ず使うので、こうした間違いが起きにくくなります。
トレース表の書き方は、こちらの記事でくわしく解説しています。
【関連記事】擬似言語のトレース表の書き方|科目Bで変数の値を追う手順を解説
配列が弱いとき¶
配列で間違える人は、添字と中身を混ぜて読んでいることがよくあります。擬似言語の配列は、問題文で特に断りがなければ、添字が1から始まります。この前提を読み落とすと、すべての値が一つずつずれます。
直し方は、配列を横に並べた表を描いてから問題を解くことです。上の段に添字、下の段に中身を書きます。値を入れ替える処理が出てきたら、入れ替えるたびに新しい行を足していきます。
もう一つ大事なのは、範囲の端を確かめることです。繰返しが添字の最初から最後まで回るのか、一つ手前で止まるのかを、毎回確かめてから追い始めます。
条件分岐が弱いとき¶
条件分岐で間違える人は、条件式の細かい記号を読み飛ばしていることが多いです。「より大きい」と「以上」の違いや、and と or の違いが、そのまま答えの違いになります。
直し方は、条件式に具体的な値を入れて、真か偽かを一つずつ確かめることです。特に、境目の値を入れてみるのが効果的です。たとえば条件が「x が 10 以上」なら、x が 9、10、11 のときにどうなるかを書き出します。
境目の値を試すと、条件式の読み違いがその場で見つかります。「x が 10 以上」と「x が 10 より大きい」を並べてみましょう。
| x の値 | x が 10 以上 | x が 10 より大きい |
|---|---|---|
| 9 | 偽 | 偽 |
| 10 | 真 | 偽 |
| 11 | 真 | 真 |
違いが出るのは、x がちょうど10のときだけです。科目Bの問題では、この一つの値で答えが分かれるように作られていることがあります。
複合条件が出てきたら、and と or の部分を分けて、それぞれの真偽を先に決めます。最後にそれを組み合わせると、読み違いが減ります。
セキュリティが弱いとき¶
セキュリティの4問は、擬似言語と違って、会社や組織の状況を読み取って対策を選ぶ問題が中心です。用語を知っていても、問題文の状況に当てはめられないと正解できません。
直し方は、問題文から「誰が」「何を守りたいのか」「何が起きたのか」を先に書き出すことです。そのうえで、選択肢の対策がその目的に合っているかを一つずつ確かめます。
セキュリティの勉強時間の配分は、こちらの記事でくわしく扱っています。
【関連記事】基本情報 科目Bの情報セキュリティ対策|擬似言語との勉強時間の配分を解説
次の受験までの進め方¶
弱点ごとの直し方が分かったら、次の受験までの流れを決めます。弱点を直す期間と、本番の形で確かめる期間を分けて考えると、迷いが減ります。
2週間ごとに区切って確かめる¶
おすすめは、2週間を一区切りにする進め方です。前半の10日ほどで弱点の単元だけを練習し、残りの数日で20問を通して解いて結果を確かめます。
| 期間 | やること | 確かめること |
|---|---|---|
| 1〜10日目 | いちばん多かった弱点の単元だけを練習する | 同じ間違い方が減ったか |
| 11〜14日目 | 20問を100分で通して解く | 四つの弱点の数がどう変わったか |
| 次の2週間 | 二番目の弱点に移るか、同じ弱点を続ける | 偏りが残っているか |
通して解いたあとは、もう一度四つに分けて数えます。いちばん多かった弱点の数が減っていれば、直し方は合っています。減っていなければ、直し方を変えるか、同じ単元をもう一段易しい問題からやり直します。
時間切れが混ざっていないかも見る¶
四つの弱点に分けるとき、時間が足りずに解けなかった問題は別にしておきます。時間切れで落とした問題は、読み方の弱点とは原因が違うからです。
時間切れが多い人は、1問にかける時間の目安を決めて解く練習を足します。100分で20問なので、平均すると1問5分です。長く止まる問題を先に飛ばし、あとで戻る練習をしておくと、本番で取れる問題を落としにくくなります。
科目Bの勉強全体の進め方を確かめ直したい人は、こちらの記事が参考になります。
【関連記事】基本情報技術者試験 科目Bの勉強法|初心者が合格までにやることを順番に解説
Giji Academy で間違い方を確かめる¶
弱点を調べるには、間違えた問題を自分の手で追い直せる環境があると便利です。最後に、このサイトでできることを紹介します。
Giji Academy の擬似言語の講座は、記法の基礎から、条件分岐、繰返し、配列、アルゴリズム、基本情報の科目B対策までを単元ごとに学べる構成です。四つの弱点のうち、処理の追跡・配列・条件分岐は、それぞれ対応する単元に戻って練習できます。
擬似言語シミュレーターでは、擬似言語のプログラムをブラウザ上で1行ずつ実行し、変数の値が変わる様子を見られます。自分で書いたトレース表とシミュレーターの値を比べれば、どの行で読みがずれたのかがすぐに分かります。
まずは無料会員で、入門レベルの練習問題を解いてみてください。自分がどの単元で間違えるのかを確かめる材料になります。単元ごとにもっと問題を解きたくなったら、有料会員(月額1,980円・税込)ですべての講座と練習問題を使えます。
無料と有料のどちらで進めるか迷っている人は、こちらの記事で判断の目安を整理しています。
【関連記事】科目Bの無料問題だけで足りる?有料演習へ切り替える判断基準
擬似言語の講座の一覧は、こちらから開けます。
科目Bの全体像をもう一度確かめたい人は、こちらの記事に戻ってください。
【関連記事】基本情報技術者試験の科目Bとは?擬似言語・アルゴリズム対策を初心者向けに解説
まとめ¶
科目Bの評価点が500点台から伸びないときは、勉強量を増やす前に、間違い方を分けて調べることから始めます。直近の演習で落とした問題を、処理の追跡、配列、条件分岐、セキュリティの四つに分けて数えてみてください。
評価点はIRTで出されるので、演習の正答率を評価点に換算することはできません。見るべきなのは点数ではなく、どの弱点に間違いが偏っているかです。
いちばん多い弱点から順に直し、2週間ごとに20問を通して解いて変化を確かめましょう。500点台まで来ているなら、読み方の土台はすでにできています。落とす場所を一つずつ減らしていけば、600点はきっと手の届くところにあります。