基本情報のアルゴリズムを捨てるのは無理!?CBT試験を【完全攻略】するならアルゴリズムに時間をかけよう!

基本情報のアルゴリズムは捨てるという大きな決断をする前に少し立ち止まって考えてみませんか?
アルゴリズムに向き合うことが一番の合格への「近道」です。
基本情報技術者試験においてアルゴリズムを捨てるという選択ができたのは、少なくとも2020年まででした。
現在は、基本情報技術者試験の配点が見直しされたため、アルゴリズムと言語が出来なければ合格への道はない!というプログラミングスキルを問われるような試験になりました。

前述したようにこれまでの基本情報であればアルゴリズムを捨てるという選択肢はアリでしたが、言語とアルゴリズムで50点と以前から比べて10点も増えています。

papagori
アルゴリズムを制するものは基本情報を制するとも言えます。
今回は基本情報を受験する際にアルゴリズムを捨てるべきではないという少々残念な理由について解説していきます。
本記事の内容
  • 基本情報のアルゴリズムは捨てるな!
  • CBT方式に変わったことによるトレースへの影響について
  • アルゴリズムと言語をマスターすれば基本情報処理は超絶余裕
基本情報は、一見簡単そうな試験に見えますが、ITパスポートとはひと味違う試験となっております。
しっかりと対策をすれば確実に合格できるので、アルゴリズムを捨てるのはやめておきましょう
そんなアルゴリズムに集中するためにも試験対策講座と午前試験の免除は効率アップにつながります。

\アルゴリズムに集中するために午前試験を回避する/

基本情報のアルゴリズムは捨てるな!

基本情報のアルゴリズムを捨てるというのは25点を捨てることになるので、残り75点中60点は誰が考えても難しいのはわかりますよね。

papagori
そもそも言語の問題もアルゴリズムを理解していないと解けません!

ということは下手するとアルゴリズムを捨てる=50点捨てると同じということになります。

はっきり言うと言語の問題よりアルゴリズムの方が確実に簡単です。
基本的に問題文に書いていないことは答えになりません
※問題文に答えを導き出す要素があります。

そうは言っても何も知らない脳筋からすると難しいのがアルゴリズムです。
※私もどうやってアルゴリズムを回避して得点するかを全力で探しましたが時間の無駄でした。

こんなイメージありませんか!?
  • 擬似言語って何!?
  • アルゴリズムが難しい。
  • アルゴリズムはわけがわからない。
取っ掛かりは物凄く難しいですが、少しずつステップアップしていきましょう。
勉強もろくにできない低学歴の中途半端に運動しかやってこなかった人間でも理解できるようになれたので、コツコツ頑張ればできるようになれます。

アルゴリズムを理解するまでの道のり

基本情報を受けようとしている人や受けた人のうち、ほとんどの人がアルゴリズムの問題を見て絶望したのではないでしょうか。
※少なからず私はそうでした。

結局何から何まで意味不明というのが最初に見た率直な感想です。
ではそんなアルゴリズムをどのように理解していくのが良いのか

人によって合う勉強法は異なるので参考程度にしてくださいね。

アルゴリズム理解への道
  1. 概要文を熟読する。
  2. 最終的に何の処理を行っているのか考える。
  3. 問で行おうとしている処理を問題文と結びつける。
  4. トレースする。(分からなければ答えをみながらでOK)
いろいろな書籍を購入したりいろいろなサイトで解説を見てきましたが、一つだけ言えることがあります。

すべて知っている前提で解説者にとって分かりやすい解説が書かれているため、正直、理解しにくいです

papagori
結論からいうと自分の頭で理解するのが一番だということです。
それにはもちろん書籍は不要で過去問で十分です。
いくら有名な書籍でもあくまでも参考程度としておいた方がいいです。

説明文を熟読して何の処理なのかを見極めよう。

初めて問題を見た時の感想はおそらくほとんどの人が「長い」だと思います。
よく、問題の説明文を飛ばして問題に答えようとする人(私)がいますが、あれはマジでやめたほうがいいです。

なぜなら、答えが書いてあるからです。

そもそも問題だけ見て答えれる人は基本情報でアルゴリズムを捨てるという結論にはたどり着くわけがありません。諦めて説明文を熟読することをオススメします

説明文を読むようになると自分がどこを理解していないのかが分かるようになります。

例えば・・・
「Aという処理を再帰的に行い、Xが〇以下になればBの処理を行う」
といった問題があったとして、Aが分からなければXが分かる訳がないということは分かると思います。
そういったことが、説明文には全て書いてあるので、この説明文を熟読して何してるのかを理解しようとするだけでも得点できる問題は多くあります。

説明文と問題文の処理を結びつけて考えよう。

プログラムの説明は必ず1つ1つの処理と結びついているので、穴埋めは説明文に答えが書いてあるということになります。

この関連付けをして考えれるようになると問題を解くスピードが早くなります。
穴埋めも簡単に考えれるようになりますが、最終的な結果がどうなるか。といった問題も分かるようになっていきます。

papagori
解答を知った上でこの関連付けを行うことは、なかなか勉強になるので面白いですよ。

この関連付けを一生懸命やろうとしても最初は、時間はかかるし超絶大変で成長している気がしませんが、必ずできるようになります。
基本構造を理解していなくても問題が解けるようになっていきます。

論理的思考はここから生まれるのです。

トレースしよう。

ここまでできたらあとはトレースするのみ!

どう考えてもわからない問題があれば、解説しているものを探してそれに沿ってトレースするようにしてください。
大事なのは、トレースすることと解説を探すことです。
そして、その解説を自分のわかるものにすることでかなり理解が深まります。
トレースの有効性については、基本情報技術者のアルゴリズムはトレースの練習が【最速】で【最強】のたったひとつの攻略法だった。でも解説しておりますので良かったら参考にしてみてください。

ちなみにこのトレース(試す)と正確な情報を探す(ググる)ことは、エンジニアにとっての必須スキルにもなります。

問題によっては、pythonやC言語で実装しているモノもあるので、開発環境を構築して動かしてみるのも午後の勉強にもなるのでアリです。
とにかく、いろいろやってみることは、これからエンジニアを目指すという人にとってはかなり有効です。
自分で試してみることができないエンジニアに優秀な人材はいないと言っても過言ではないと言われるレベルです。

CBT方式における基本情報の心得

令和2年度分の試験より、これまでの紙の試験ではなく、ITパスポートと同様のCBT方式になりました。

CBT試験はどんな感じ?
  • 午前と午後問題で別日で受験可能
  • 問題用紙と解答用紙がなく紙と鉛筆のみ
  • 当日に受験のおおよその結果がわかる
CBTでの大きな変更点として、人によって受験日や受験時間がバラバラだということです。
午前と午後を13時から受験といったことや、午前と午後を別日で受験することも可能です。
また、受験後はスコアレポートというものがメールで送られてくるため、合格発表前にある程度の結果もわかります。
※正式な合格発表は、受験月の翌月末頃です。

午前は、ハッキリと点数が送られてくるため、明らかに「やらかした」場合は、行かないという選択もできますw

そして一番の変更点は、紙の問題用紙ではないので書き込みができないというところです。
「普段から勉強は紙派!!」って人は注意が必要です。
※私が過去問だけで十分といった理由の1つでもあります。

過去問は、情報処理推進機構のウェブサイトに無料でPDFが公開されています。
スマホでもOKですが、パソコンがある人はできるだけモニター越しに問題を読んで必要事項をメモって解くというクセをつけておくと、それだけでマジで対策になります
※意志が弱い私は勉強するときはスマホを視野に入らないところに隠してやるようにしていました。(科学的根拠もあるようです。)

アルゴリズムを制する者は基本情報を制する

大げさに聞こえるかもしれませが、アルゴリズムが分かるようになると、言語の問題もプログラムと問題の関連付けを行うので、文法がわからなくても解ける問題もあります。

papagori
アルゴリズムで読む力と論理的思考を身につければ、言語の勉強もはかどります。

言語の問題は何を選択するのかは、人それぞれで自由ではありますが、どの問題にも言えることはこのアルゴリズムでの関連付けを行う作業は必ず役に立ちます。

今回のまとめ

要するに基本情報を楽々クリアしたいならアルゴリズムを捨てるのヤメて向き合って勉強しましょう。ということです。
それが一番の近道です。

よくある解答を覚えて正答率80%みたいなのは本当にやめておきましょう。
基本情報の午後は暗記でどうにかなる試験ではないので。
※暗記中心の午前はOKです。

そしてCBT方式によって解答方法も変わったので、普段からモニター越しに問題を読んで解くことを強くオススメします。

基本情報でアルゴリズムを捨てる方法ばかり考えていたこともありましたが、今思えばどう考えても得策ではありません。
切羽詰まって猛勉強したからこそ、早めにアルゴリズムの対策をすることの重要性が伝わってくれればいいなと思います。

最後に。
データベースはたまに出題されないので、当日焦らない準備はしておきましょう!

papagori
←焦ったやつw