基本情報のアルゴリズムが難しくてやってられない!
どこからかそんな声が聞こえてきたので、今回この記事を執筆することとなりました。
基本情報技術者試験では、「アルゴリズムとデータ構造」として、プログラムを読んで答える問題がありますが、プログラムを見たことない人・見慣れない人にとっては苦痛も同然!
しかし、あるたった一つのことを意識して行えば、実は「サービス問題」になるんです。
私のバックグラウンドをご紹介した後、さっそく解説へ入りましょう。
・文系出身、大学時プログラミング未経験
・東京でIT企業勤務、1年目で開発リーダー
・基本情報技術者試験、応用情報技術者試験を1年以内に合格
・Java Goldも1年目で取得
そもそもアルゴリズムとは?
アルゴリズムの意味が分かりません!
私も最初は本当にそうでした。(某アルゴリズムの運動の歌で聞いたくらい…体操かな?)
アルゴリズムを理解するためには、前提として「プログラミング」を理解する必要があります。
これを踏まえて、アルゴリズムは何かというと、「コンピュータに対する命令文」となります。
「計算の手順書」「料理のレシピ(人間に対する命令文とも解釈できる)」なども広義では「アルゴリズム」になりますね。
コンピュータの中では、直接日本語で「~しろ!」と命令するわけではありません。
数式やプログラミング言語を経由して、コンピュータに命令することができます。
コードも難しく見えるかもしれませんが、結局はすべてコンピュータへの指令、アルゴリズムなのです。
基本情報技術者試験におけるアルゴリズム問題と対策法
結論から言います。
プログラムを必ずトレースして確かめろ!!
ね?簡単でしょ…?
トレースとは
トレースの意味が分かりません!
トレースの意味は以下です。要は「変数に一つずつ値を代入して動きを確かめる」ことです。
トレースを活かして問題を解いてみる
早速、トレースの使い方を解説しながら、IPAの公式サイトで紹介されているサンプル問題を解いてみましょう!
つまり「xに1を入れる」「yに2を入れる」となります。
xには1が入っているんだから、「1に2を入れる」になるのでは?
基本的に目標となる変数は、中身ではなく「箱」自体を見てください。
ちなみに、自分自身の変数の値を更新する時は以下のように書きます。
x ← x + 2
さて、現在の状態は「xに2が入っている」「yに2が入っている」「zに3が入っている」状態です。
トレースのポイントまとめ
トレースが上手くできない人向け:実際にコードを書いてみる
トレースが上手くいきません…
実際のところ、なぜ値が変化してくのか、矢印って何の意味があるの?という疑問は拭えません。
原因として最も挙げられるのは、「プログラムの動きそのものが頭にないから」です。
それもそのはず、コードが書けたらこの問題を解くのに苦労はしません。
そんなあなたに「プログラミングスクール」をおすすめします!
コードを書く練習を行えば、必然的にトレースも自然とできるようになります。
さらに、一度プログラミングを学んでしまえば、他のプログラミング言語を学ぶとき、知識がフックとなってかなり学びやすくなります!!
私は最初の言語としてJavaを学びましたが、そのおかげでPythonやC++など、他の言語が半分程度の時間で学べるようになりました!
「今後コードを書く機会なんて絶対ないからもったいない…」という方にもおすすめできます。
断言します。今後コードと触れ合う機会が一生ないということは絶対あり得ません。
少なくともExcelのマクロ機能を使ったファイルを触る時点で、コードに少なからず触れます。
先ほども述べた通り、プログラミング言語を一つ学んだだけで、他の言語に応用が利きます。
マクロも例外ではありません(なんならマクロは言語の中では読みやすい)。
プログラミングなんていらない!と決めつける前に、一度学んでみてはいかがでしょうか?
以下、おすすめのプログラミングスクールです。
科目Bおすすめの参考書
おススメの参考書は以下の記事にまとめています。ぜひ参考にしてみてください!