IF文を意識して、生活してみよう。
プログラミング学習の進捗状況はどうでしょうか?
あわてる必要はないので、明るく、楽しく取り組みましょう。
さて、中学生と英語の話をしていますと、どうやらIFでつまずいているようです。日本の文法用語では、仮定法。「もしも〜ならば」という用法です。英語のままですと、IFはConditionalsですから、「ある条件ならば」ということです。IFについては、「ある条件ならば」といったほうが、プログラミング学習に取り組んでいるみなさんには、むしろわかりやすいでしょう。
スクラッチでは、IF文のことを仮定法なんて、いいません。多くは、IF文(条件分岐)としていますから、本来の英文法の定義に近いのです。
「もしXXXの条件の場合は、○○○する」が条件分岐です。
たとえば、
「夕ごはんまでに1時間以上の時間があったら、遊びに行く」
「夕ごはんまでに1時間以上の時間がなかったら、家にいる」
といった感じです。
上記の場合であれば、変数は「夕ごはんまでの時間」です。
IF文ブロック(もし〜なら〜)を使って、
もし「時間」≧60分なら、
遊びに行く
でなければ
家にいる
となりますね。
なんだ、ぼくが毎日、考えていることじゃないか。
と思いましたか。
そのとおりです。IF文は、君の毎日の生活のなかにあるのです。
人生は、条件によって、刻一刻と変化します。
もしIF文がなかったら、君は生活することができないかもしれません。
たとえば、先の文でいえば、「夕ごはんまでに1時間以上の時間があったら、遊びに行く」とあっても、このとき、もし遊び相手の友だちがいなかったら、君はどうするでしょうか。
さらに条件分岐を追加して、「友だちがいなかったら」「帰ってくる」でなければ「待っている」となるでしょう。「待っている」を選んだとしても、いつまでも待ち続けるわけには行きませんから、君は「もし友だちが30分以内にもどってこなかったら」「帰ってくる」という条件分岐を加えるでしょう。
IF文(条件分岐)といきなりいわれるとおどろきますが、IF文は毎日君がやっていることのなかにあります。
英語の仮定法でつまずいた中学生は、if I were you (君の立場になってみると)に、とまどったようですが、これはむしろ慣用的なものだ、と考えてもいいし、わたしが君になることは現実的に不可能ですから、仮定を強調するためのwereなのだ、といってもいいかもしれません。
いずれにせよ、君の毎日の生活のなかにIF文(条件分岐)はあります。他のプログラミングの概念も、じつは君の毎日の生活のなかにあります。人間である以上、ひとはプログラミングと無縁であることはできません。
さあ。君の生活の中のプログラミング概念を探してみましょう。
学院長 筒井 保明