こんにちは!
iTeen和歌山駅前校の宮井です。
記念すべき第50回教室日記となりました!
今回はプログラム紹介をします。
雑誌などで『性格診断』のようなものをしたことはありますか?
パソコンや携帯アプリなどでもありますが、アプリでは【採点方式(加点・減点)】で結果が出ていることが多いように思います。
雑誌のように「Yes or No」の矢印を追っていくタイプは少ないように思います。
それはどうしてなのか?
コンピューター処理は規則性のあるものは比較的作りやすいが、規則性の少ない処理は莫大な量になりと作りにくさがあるという特徴があるからなのです。
今回はそのアナログ的な「雑誌での性格診断」をコンピューターに処理をさせる場合はどうなのか?を実際にプログラムを作成して考えてみました。
最初は「質問に対して次の質問はどれになるのか」をすべて場合分けで考えてみましたが、それでは、処理が莫大な量になりプログラムの管理が困難になると判断しました。
次に質問の順番に規則がないのか、規則を作れないのかを考えてみました。
今回は上記ように質問が出題されるように考えてみた結果 ・・
Yesの場合「出題番号+何問目」、Noの場合「出題番号+何問目+1」になることを見つけることが出来たため、プログラム処理を完成させることが出来ました。(下記プログラムから「中を見る」で見てください)
他にも方法はあるかとは思います。
莫大な量のプログラムが工夫を加えることで、簡素化することが出来た時にはとても嬉しく思いました。
プログラミングにはゲームを完成させる楽しさ以外にも自分自身で何かを発見できた時の喜びがあることを再認識したプログラムとなりました。