※記事内にアフィリエイト広告が含まれる場合があります。
基本情報で多くの人がB科目でつまづくと思います。
🌀A科目は合格できるんだよ。B科目が難しいんだよ。
🌀アルゴリズムが何回やってもよく分からない。
🌀問題集はあんなに解けたのに、試験の問題は全く分からなかった。
🌀プログラムが画面に表示されるから、トレースできないんだよ。
🌀いちいちトレース書いてたら、時間が足りないんだよ。
このように感じている人もいるのではないでしょうか?
私自身一度B科目で不合格になりましたし、周りの人でも5回受けてやっと受かったという人も多いです。
基本情報の勉強にあまり時間を使いたくない。だけど、B科目で沼にハマってしまったという人のために、私が実際に行っていた点を取るための対策や考え方についてお伝えしようと思います。
大前提として、最低限プログラムについて(if,while,再帰などの処理のルールを)分かったうえでお話します。何も分からずに突破できるほど簡単な試験ではありませんので、そこはご了承ください。

基本情報2回目で合格。勉強期間3ヶ月弱
ユタ
1回目はA科目650点ほど、B科目370点ほどで不合格。 2回目はA科目660点、B科目630点で合格。 2回目の試験までの約1ヶ月間半ほどほどB科目の対策をしました。その期間での対策方法をまとめました。
目次 閉じる
点を取る考え方について
基本情報B科目は全20問のうち6割の点数を取れば合格できます。素点形式ではないので、何問取れば合格できるというものではありませんが、分かりやすく12問で合格できると考えましょう。
皆さんはこれからどうやって確実に12問の正解を稼ぐかを考えます。
得点源1:B科目最初の数問
まず、実際のB科目試験の問1,2,3レベルの問題は絶対に正解しましょう。(うろ覚えではありますが、最初の数問はけっこう簡単です。)
IPAのサンプル問題でいうと問1,2のレベルの問題です。
令和6年度のサンプル問題の問1のプログラム👇️
関数maximumは、異なる三つの整数を引数で受け取り、そのうちの最大値を返す。
[プログラム]
◯整数型:maximum(整数型:x, 整数型:y, 整数型:z)
if ( 空欄 )
return x
elseif (y > z)
return y
else
return z
endif
ちょっと見づらいですが、空欄に当てはまる式を考えてみてください。見づらいという方は公式の問題を見てみてください。
厳しいことを言いますが、このレベルの問題が解けないと合格はできないです。なぜなら、これより簡単な問題が出ないからです。この問題は問1で出てくるレベルの問題です。問2、3と進むにつれ、問題は難しくなります。
なので、実際の試験の問1,2、3レベルの問題は必ず正解できるくらいのレベルにはなっておきましょう。
とりあえず、12問中3問は確実に正解できます。
得点源2:流用問題
次に、流用問題についてです。
実際の試験では流用問題が1,2問出題されます。(保証はできませんが、私は2回受けたうち、どちらも流用問題がありました。)
この流用問題はIPA公式のサンプル問題とプログラムが同じでした。
プログラムは複雑に書いてありますが、結局(X+Y)×2をすれば答えが出るよねという解き方がわかっていれば、本番の試験ではXとYに入れる数字が違うだけなので、一瞬で解けます。
実際に私も流用問題に関しては20秒ほどで解けました。プログラムも見た感じ同じだったので、いちいちトレースはせずに頭の中で解きました。
これで12問中5問は正解できます。
得点源3:情報セキュリティ問題
そして、最後に情報セキュリティの問題です。
B科目試験の最後の4問は情報セキュリティの問題です。アルゴリズムの問題と比べれば、圧倒的に簡単ですし、知識というよりは引っ掛けのような問題の出し方ですし、国語の問題に近いので、知識ゼロでも正解できる可能性はあります。
これは対策という対策は特にありません。アルゴリズムの問題よりは簡単に感じる人も多いと思うので、対策する価値はあります。
この情報セキュリティの4問を正解できれば、12問中9問正解できることになります。
あとたった3問アルゴリズム問題を解ければ、合格できます。残り11問中3問解ければ、合格できると考えたら「行けるかも!」と感じてきませんか?
考え方については以上になります。

点を取れる問題を取る対策をしてあとは実力で3問もぎ取りましょう!
試験対策について
試験対策についてできることは4つです。
- 問題集を解く
- 本番に近い環境でトレースをする
- IPAのサンプル問題を解く
- 時間配分を覚える
問題集を解く
ここで伝えたいのはインプットよりアウトプットをしろということです。
私は1回目の試験は参考書を使ってインプットだけを行っていました。アウトプットはほぼしていません。その時はこれいけるんじゃね?と思っていました。
ですが、実際の試験ではほとんど解けませんでした。正直、問1すら分からなかったです。分かっているつもりでしたが、ほとんど分かっていませんでした。インプットだけでは問題は解けません。もちろんアルゴリズムに初めて触れるという人は処理を覚えるために最初はインプットが必要になりますが、軽くで良いです。(参考書1周くらい)
私は不合格になってから約1ヶ月半後に再度試験を受けましたが、その間インプットはゼロでアウトプットしかしていませんでした。アウトプットすると問題が解けるようになるので、アウトプットに大半の時間を使うようにしましょう。
私が使っていた問題集は👇️
本番に近い環境でトレースをする
☝️上記で紹介した問題集には一つ大きな落とし穴があります。それはプログラムに番号が振られているということです。
こんな感じです。👇️
関数maximumは、異なる三つの整数を引数で受け取り、そのうちの最大値を返す。
[プログラム]
◯整数型:maximum(整数型:x, 整数型:y, 整数型:z)
1:if ( 空欄 )
2:return x
3:elseif (y > z)
4:return y
5:else
6:return z
7:endif
この番号が振られているというのがすごく解きやすいんです。トレースをするうえでいちいちプログラムを書かなくても番号だけをトレースメモしていけばいいので、時短でトレースができます。
ですが、実際の試験では番号が振られていません。トレースする際、elseif (y > z)みたいに処理をメモしないといけないので、時間がかかります。もちろん、端折り書きもできますが、プログラム内に複数ifが出てくるとどのifかわからなくなるので、端折れないものもあります。
実際の試験でも番号を振るという方法もあるのですが、そうなると一度すべてのプログラムをメモに書き起こさないと行けません。「時間配分を覚える」でも触れますが、とにかく時間が足りません。一問5分くらいで解かないといけないので、書き起こしていると解く時間がなくなってしまいます。
なので番号を振らないトレースの仕方に慣れる必要があります。

実際にサンプル問題を解いてみると分かると思います。
IPAのサンプル問題を解く
サンプル問題を解くことは非常に価値があります。
まず実際の試験では流用問題が出るので、サンプル問題の解き方を理解しておけば、実際の試験で簡単に解くことができます。
3年分のサンプル問題があるので全て解き方を覚えておきましょう。見た瞬間に解き方が分かるくらいに。
また、サンプル問題は実際の試験環境に近いです。問題集と違って、プログラムに番号は振られていませんし、実際に画面を見ながら解くので、問題集よりも解きづらいと感じると思います。
私もサンプル問題を解いていて、問題集の解き方では駄目だということに気が付きました。
時間配分を覚える
これも非常に大切です。私は1回目の試験では6問解けずに終わりました。とにかくB科目の試験は時間がないです。単純計算でも1問5分しかありません。(試験時間100分、全20問)。
5分計って解いてみましょう。
めちゃくちゃ短いことに気がつくと思います。特にサンプル問題の問3,4,5あたりの問題は5分では解けない人も多いと思います。
・実際の試験の問1,2,3あたりは5分以内で解き終わること(理想は2,3分くらい)
・流用問題を1分以内で解き終わる。
・時間がかかりそうな問題は後回し。
簡単な問題をなるべく短い時間で、先に解いていき、時間がかかりそうな問題を余った時間で解くというやり方が良いと思います。こうすることで得点源となる問題を余裕を持って確実にとき進められます。
私も実際のテストでは最初の数問と流用問題、情報セキュリティ問題を解いたあと、残りのアルゴリズム問題を解いていました。
まとめ
いかがでしたでしょうか?
B科目で満点を目指す必要はありません。受かれば良いんです。
そのためにはまず解ける問題を確実に得点することが鍵になります。
・最初の数問
・サンプル問題の流用問題
・情報セキュリティ問題
ここらへんは対策次第で確実な得点源となります。
そしてこの問題たちを得点できれば、あと数問で合格できます。
もちろん、アルゴリズムを理解しているということも最低限必要にはなりますが、なるべくコスパよく合格したい、あるいはB科目試験で沼にハマっているならこういったやり方で得点していくことがおすすめです。
以上参考になれば嬉しいです。
カテゴリー一覧

