if文に関する続き。
if文に関する項目を読んでいると「制御構造」という言葉がでてくる。
なんとなくはわかるが、明確ではないのでwikiで調べてみた。
「(前略)制御構文(せいぎょこうぶん)とは命令の実行順を通常の逐次実行以外の順番に変化させる命令である。」
プログラムは、通常は順次実行されるが、
制御構文は、「その順番を変えてしまう命令」だと言っている。
If文は、仮定した条件にあてはまるか、あてはまらないかを判断し、
続けて、その結果に従ったプログラムが続けて実行されることとなる。
そしてそれは条件によって分岐した数だけ違う種類の物が必要になる。
1)条件に沿う場合に実行されるコード
2)条件に沿わない場合に実行されるコード
の二種類を考えておく必要がある。
どちらのケースもひとつのIf文に対しては、それぞれ一つづつ必要である。
前回調べたとき、「条件」とは、「なにかを実行するときに、必要な事柄」という意味だった。
それに従い上記を言い換えると
1)そのコードが実行されるには、特定の事柄を「満たす」ことが必要とされる。
2)そのコードが実行されるには、特定の事柄を「満たさない」ことが必要とされる。
言いたいことは、
a)条件を考えるとき、必ずそれを「満たす」場合と「満たさない」場合の二通りがある。
b)よって、条件式がでてきたら、毎回その両方の結果に沿ったプログラムも書く必要がある。
ちなみにIf文では条件をもとに「判断する。」とか「判断させる」という説明が普通よく見られるし、
自分もその言葉を使う。
しかしながら、機械(コンピュータ)が「判断している」のではない。
プログラムを作るとき、「人間が判断している」のである。
まず、人が判断し、その結果に応じた処理をあらかじめ考えて記述しておく。
それなくして、コンピュータが判断することはあり得ない。
これから先の課題としては、
条件文とは、ある仮定を満たす時に、その後に続くコード(プログラム)を実行する。
そのコードを実行するにはこの確定していない物事=[仮定]=「条件」が必ずなくてはならない。
プログラミングにおいて
「条件」が先にあって、それから実行すべきプログラムを考えるのか。
「実行すべきプログラム」が先にあって、後からその「条件」を考えるのか。
それともその両方が混在しているのか、もしそのあたりを明確にできるとしたら、これからプログラミングをしていく上で思考する順序を決める助けになるだろう。
0 件のコメント:
コメントを投稿