明日から役立つ?プログラマーの考え方講座 その9
「もし」を並べて

こんにちは。鳥井雪です。
ヒューマンアカデミー こどもプログラミング教室の教材監修をしています。
このコラムでは、プログラマーが日常でどんなことを考えて生活や仕事をしているのかを紹介し、みなさんにもプログラミングを身近に感じてほしいと思っています。

今回は、プログラミングの基本の1つ、「もし…のときは」の考え方についてお話しします。この「もし…のときは」を並べて考えることになれておくと、日常生活のいろんな場面ですっきり行動することができますよ。

「もし」の並べ方

「もし…のときは」のことを、プログラミングの言葉で「条件分岐」や「場合分け」と呼びます。ある条件を設定して、その条件に合っているときはこのようにふるまう、とプログラムを記述することです。

「もし」の並べ方には、大きく以下のパターンがあります。

1. ひとつだけの「もし…のときは」
2. 「もし…のときは」と「そうでなければ」
3. いくつかの「もし…のときは」と、「その他のときは」

それぞれのパターンを、夏の休日の過ごし方を例にして見てみましょう。
条件は天気です。

1. ひとつだけの「もし…のときは」
もし、今日の天気が晴れのときは
 浜辺へ散歩に行く

2. 「もし…のときは」と「そうでなければ」
もし、今日の天気が晴れのときは
 浜辺へ散歩に行く
そうでなければ
 近所を散歩する

3. いくつかの「もし…のときは」と、「その他のときは」
もし、今日の天気が
 晴れのときは
  浜辺へ散歩に行く
 雨のときは
  家でのんびりする
 それ以外のときは
  近所を散歩する

難しい考え方ではありませんよね。みなさんもいつもの生活でも使っているはずです。でも、こんなふうにはっきりと言葉にしたり、並べて書いたりすることってあまりないのではないでしょうか。

そのようになんとなく、いつもの感じ、で考えが進むのは、人間の特権です。コンピューター相手のプログラミングでは、「どんな場合か」と「何をするか」をはっきりと書いておかないと動きません。だから、プログラマーはプログラムをたくさん書いていくうちに、自分の日常生活でもだんだん、例のような「…のときはこうして、…のときはああして、そうじゃなければ…」というのを言葉にしてはっきり考えやすくなります。というか、わたしはなりました。

そうしてふと気づくのです、これって便利だな、って。「もし…のときは」並べ法でいいところ、個人的なオススメポイントは2つあります。

オススメポイント

1つ目は、考えるコストが下がること。無意識に、いつもやっている行動決定のパターンがあるとします。
たとえば、靴下選びにしましょう。手持ちの靴下には、ショート丈のものと、ミドル丈のものがほぼ同じ数あります。今までは意識していなかったのですが、どちらの丈の靴下を選ぶのかを決めている条件は、じつはボトムスの種類でした。スカートのときはショート丈、パンツスタイルのときはミドル丈、と今までも「なんとなく」毎回考えて決めていたのです。その条件に気づいたので、靴下選びの労力がほぼ半分になりました。スカートを履いた日は、手持ちの靴下の半分が候補から外れるからです。楽しいことにたくさん頭を使うために、いつ考えても同じ結論になるようなことはできるだけ省略化したいですよね。

2つ目は、自分の行動の「条件」を意識することで、隠された意外な条件に気づくことです。さきほど例に出した、夏の休日の過ごし方はどうでしょう。晴れの日、雨の日、その他と書き出して、なかなか自分にぴったりじゃないか、と満足したとします。

でも、そういえばこの間の雨の日は、用事もないのに傘を持って外に出たな。なんだっけ…?そうだ、あの日は、どうにも部屋の中が散らかってて、気が散って本が読めないから喫茶店に逃げたんだった。
つまり本当の条件は

もし、今日の天気が
 晴れのときは
  浜辺へ散歩に行く
 雨のときは
  もし部屋が片付いていれば
   家でのんびりする
  そうでなければ
   外でのんびりする
 それ以外のときは
  近所を散歩する

つまり、雨の日に部屋でのんびりしたかったら、休日の朝は掃除をした方がいいってことかな。 なんていう建設的な気付きがあるかも…しれないですね? ぜひ「もし」を並べて、意外な自分に出会ってみてください。

一覧ページへ戻る