基本情報超初心者の文系受験者にアルゴリズムアドバイス
こんにちは。yuzoです。私のもとにお知らせがきました。
IPAからのお知らせ【情報処理技術者試験情報/平成28年度春期試験受付開始!】
とのこと。
メールのご案内なのですが、配信止めるのをずっと放置しています。
もうきっと私自身が受験することはないでしょうが、受け持ちの生徒が受ける可能性はなきにしもあらずなので、とりあえずは止めずにいただいております。
よく検索で、
「文系 基本情報 アルゴリズム コツ」
で、ここにいらっしゃる方がいるようです。
アルゴリズムのコツは「変数」の流れを押さえることです。
変数とは箱のようなものをイメージしていただければいいのですが、何かのデータを一時的に格納しておくための場所です。
私がよくわからなかった変数のこと
意外とどの参考書にも書いていないことなんですが、
・変数の名前は色々ある
・変数には入れられるデータの種類が決まっている
私が昔よくわからなかったことです。
でも参考書にはさも当たり前のように書いてあってくやしかった覚えが…
大抵変数は英語で名前をつけます。
売上データを格納するのであれば、「SALE」とか、
お金の金額を格納するならば、「CASH」とか。
あとは、繰り返し処理を行う際に、何回目かを1ずつカウントする変数は大抵「i」が使われます。そういうルールですので、あまり考えず覚えてください。
またアルゴリズムの最初のところで、変数の定義を行います。
これは「この変数はこうやって使いますよ、こういうデータしか入りませんよ」というやつです。
例えば、
・文字が入るか、数字だけか
・何文字(byte)入るのか
・数字の場合、負の数は入る可能性はあるのか
とかです。
さきほどの「i」の場合は、
・数字だけ
・(最大繰り返し回数が20回だとしたら2ケタだから)2文字まで
・負の数はない
とわかるわけです。
ただ、途中で条件を変えて出題されることもあります。
出題例
すごく簡単な問題(こんな問題は出ない)だと、こんな感じです。
「繰り返しが20回ではなく、最大121回まであることが分かった。他の条件を変えないで121回まで繰り返した場合、iに2度格納される数字パターンは何通りか?」
ちょっと考えてみてください。
…
…
…
…
…答えは
12通りです。
ポイントは「iには2ケタまでしか格納できない」ということです。
1~99までは問題なく格納できますが、
100~121までの22個の組み合わせは百の位の数字が落ちて、
00,01,02,03,04,05,06,07,08,09,10…となります。
なので、答えは22通りだ!
…と油断した方も多いと思います。
回数をカウントしているので、
1回目のときは「1」しか入っていません。「01」ではないんです。
となると、1の位でカウントが完了する、1~9までは重複がありません。
よって答えは
10,11,12,13,14,15,16,17,18,19,20,21
の12通りでした。
…ちょっと問題の説明の仕方がわるかったかな。。
でもこんな感じの問題がよく出ます。
勉強するときは、変数の流れを良く追って、1つずつ確実に理解していきましょう。
あと、
試験中はアルゴリズムばかりに時間を割くことはできません。
ですので、どういった順でどういった問題をどれくらいの時間で解いていくかが重要になってきます。
↓も参考にしてみてください。