<< スマホOS 「Tizen」「Firefox OS」登場 | main | 試験日前後の2ch掲示板の盛り上がりは最高♪ >>

ズバリ!「アルゴリズムを解くコツ」

0

      毎回、基本情報技術者試験での合否を大きく左右する出題カテゴリ「データ構造及びアルゴリズム」
    唯一の必須問題であり、また時間を費やしますが20点の高い配点になっていますので、やりたくなくても必ず手を付けて答えを書き込む必要があります。

    ただ、プログラミング経験のない方は、擬似言語をほとんど理解しないまま問題文から推察して適当に解答するケースが多いと思います。
    もちろん、試験回によってはそれで半分以上得点できる場合もありますが、擬似言語プログラムの理解に重きが置かれた試験回では、最悪全滅の可能性が出てきます。
    これでは、どんなに他のカテゴリで得点しても合格の目はほぼなくなります。

    ということで、真剣に合格を望むのであれば、必ずアルゴリズムの対策をすることになります。
    しかし私も経験しましたが、やる気はあってもなかなかうまく進まないのがもどかしいところです。

    どうすればよいか、調べて見ると、返って来る答えは、プログラミング言語を覚えろ、自分でプログラムを書いて動かせ、とにかく過去問を解いて慣れるしかない、こんな感じだと思います。

    私は自力で1からプログラミングしたのはもう遥か昔、BASICやFORTRANで100行200行程度のものを書いたぐらいです。
    それでも確かに自分で作るときは何度も試行錯誤することで処理動作を細かく把握することは出来ました。
    しかし他人が作った試験用のプログラムを見てすぐに理解できるレベルになるには、この程度ではまだ厳しいと思います。

    2回目の受験で1からC言語を学びましたが、やった実感として、必要な文法を覚え、実践的に使えるまで3ヶ月位は要します。そしてアルゴリズムの専門書などを学べばそれなりに解けるようになっています。しかしこれだけの時間を作れない方は厳しいですね。

    最後に、過去問をとにかくたくさん解く、これもある程度理解している人がやる分にはとても効果があります。しかしそうでない方は、なかなか進まず時間ばかりが過ぎていくのが現実だと思います。

    このような方法論で考えるのは置いておいて、要点「アルゴリズムを解くコツ」をお教えしましょう。
    ズバリ、「擬似言語のプログラムを頭の中で動かせるようになること!」です。

    それが出来たら・・・、そう思うかもしれませんが、実際は考えているほど難しいことでもありません。
    結局文章を読んでいるのと同じだとわかってきます。

    自分の作ったプログラムを動かしながら解説する方もいらっしゃるようですが、これも解説者が考えているほど、視聴者は理解が進んでいないと察します。その場で少しわかった気になっても、ややこしいプログラムならすぐに忘れてしまいます。

    なぜなら・・・視聴者が実際のプログラムを自分の頭の中で動かせていないからです。

    一般的な午後アルゴリズムの参考書で擬似言語の文法と単純なプログラムの動きは理解している段階としましょう。
    複雑でわからなくなってくる要因は大体決まっています。

    ・変数の意味や役割(変数の数が多くなるほど複雑化)
    ・複数のプログラム(主・副プログラム)による複雑な処理手順
    ・ループやループ内選択文の「条件式」と「選択後の処理」の意味すること
    ・再帰関数の処理手順
    など、

    これらの要因が重なり合ってさらに混乱するわけです。

    どうすればいいか。
    最もいいのはC言語などでプログラミングを学習してから過去問のプログラムの処理動作を自力で理解することです。

    が、そこまで出来ない場合、まず基本を参考書でマスターしてから、実際に自分でプログラムの処理動作の解読を、出来るところまでチャレンジしてみてください。

    そしてわからないところを必ずチェックし、解説を探して理解し、プログラムを一通り頭の中で動かせるようにしてみましょう。
    その際、ループ処理に対して、問題用紙に簡易的なトレースを書き込んでループ変数を何回か変化させて動かして見ましょう。
    また主要な処理部にある双岐選択など重要な選択文は、必ず真と偽の場合の両方の処理を動かしてみましょう。
    実際になりやすい方の選択を先に選び、順に処理していきましょう。
    何度かループさせて終わり方がイメージできたらそれで完了です。

    処理動作が理解できた後、過去問の設問は、あっさり解けるものが多いことに気づくと思います。

    この擬似言語プログラムを頭の中で動かすことを、過去問で何種類も行うことで、基本的なパターンの習得とともに、ちょっと違う問題に対する応用力もついてくると思います。

    さて、一番のポイントは、わかりづらい処理部分の解説がちゃんと見つかるかどうかですね。
    JITECは出題問題の解説を公開していません
    ですので、私も経験し驚きましたが、わかりづらい処理部分についてしっかり解説してくれているモノが少ないということです。
    なんというかあまり詳しく触れずお茶を濁しているようなものが多かったですね。

    ということで2度も受験勉強をした私は、合格した受験直後に自らアルゴリズムの過去問解説動画集を作りました。



    擬似言語のプログラムがバッチリ出ている問題についてはすべて、自身の頭の中でプログラムが動くような感覚で動画の中で解説しています(わかりづらいものはトレースを図示)。
    私自身、動画を作成していくうちに、ぼやけていたものがより鮮明に理解できるようになったことが多々ありました。

    もちろん問題を全く見たこともない方が動画を初めて見て、簡単にすべてがわかるものではないことはご理解ください。
    実際に解いてみてどうしてもよくわからない場合に見ていただくと、学習の効果がより一層発揮されると思います。

    擬似言語プログラムの基本さえ理解していれば、この解説動画集を毎日1編しっかり理解するだけで、最短数週間で6年分のアルゴリズム過去問題の解法を覚えることも可能と言えます
    ただし、難題は忘れやすいのでビデオで繰返し復習することは欠かせないでしょう

    皆さんが、初回受験時の私のようなアルゴリズム学習の失敗を犯すことなく、精一杯の力で試験に臨めるよう願っております。

     

     



    コメント
    コメントする









    この記事のトラックバックURL
    トラックバック
    links
     アルゴリズム解説動画集  平成24年〜19年度版
    calendar
          1
    2345678
    9101112131415
    16171819202122
    23242526272829
    30      
    << September 2018 >>
    selected entries

    archives
    profile
    search this site.
    others
    mobile
    qrcode
    powered
    無料ブログ作成サービス JUGEM
    JUGEMのブログカスタマイズ講座



    医療ドラマ