アレアレ

お役立ち情報、お悩み解決情報を発信!

実践編

プログラミングに条件分岐の必要性がよくわかる具体例

このサイトの プログラミング教育 のコーナーでは、これからプログラミングを学び始める子供を持つ親御さんに向けて、プログラミングについてわかりやすく解説しています。全くプログラミング経験のない方は、基礎編の記事から、基礎編を読んだ方は実践編の記事をご覧ください。

プログラミングに条件分岐の必要性がよくわかる具体例

前回の「入力」を受け付けるプログラムの便利さが実感できる具体例の記事では、自分のクラスで受け持った生徒5人のテスト結果の平均点を計算するプログラムを、入力を受けるように改良する具体例をご紹介しました。

その改良点のポイントは、「プログラミングができない人でも、自分の作ったプログラムを使ってもらうようにする」という点にありました。具体的には、テスト平均点を「74,55,88,97,43」のようなカンマ区切りの数字で「入力」できるように改良しました。

こうすることで、プログラムのソースコードを直さなくても、プログラムの利用者が、平均点を計算できるようになったことが画期的だったわけです。

利用者に「入力」させることによる弊害

以上のようにプログラムに対して、利用者がデータを入力できるようにすると、プログラムの汎用性が高まる一方で、弊害も生まれます。それは、「利用者が、プログラムに対して、どんなデータを入力してくるかわからない」という弊害です。

例えば、前回作成した、「入力されたカンマ区切りの数値の平均を出力するプログラム」でそれを実感してみましょう。

上のプログラムにおいて、何も変えずに実行ボタンを押すと、入力されたデータの平均点が計算されます。そして、その平均点の元となったデータがどこに定義されているかというと、「入力」タブの中です。このタブの中に「74,55,88,97,43」というデータが定義されています。

そして、試しにその入力タブに定義されているデータを「a,b,c」と入力した後、再度、実行ボタンを押してみてください。

paiza.ioの入力タブ
入力タブに試しに「a,b,c」という不正なデータを入れてみる

すると、このプログラムの実行結果は、出力に結果には、「平均点: NaN」と表示されます。

paiza.ioの出力タブ
平均点: NaN と表示される

この結果は、「NaN」の意味がわかる人であれば、「プログラムの処理のどこかに問題があり、エラーが起きたんだろう」ということがわかります。一方、その意味がわからない人からすると、「何が起こったんだろう?」と、わけのわからない結果になります。

条件判断で入力データをチェックをするように改良する

このような時に役立つのが、プログラムのアルゴリズム作りの基礎となる「条件判断」です。具体的には、「入力データが数値以外の不正なデータだったとき」という条件を判断して、その場合はエラーメッセージを出すようにプログラムを改良します。

次のソースコードが、そのように不正なデータが入力されたら、それをチェックしてエラーメッセージを出すように修正したものです。

こちらのプログラムでは、入力されたデータが「a,b,c」のように不正なものだった場合、それをチェックしてエラーメッセージを出すようになっています。具体的には、不正なデータが入力された場合、出力タブに次のエラーメッセージが出るようになりました。

入力データが不正です。「1,2,3」のようにカンマ区切りの半角数値で入力してください。

試しにこのプラグラムの入力タブのデータを「a,b,c」から、「1,2,3」のような正しいものに修正して、再度実行してみてください。すると、これまで通り、平均点を正しく計算できることがわかります。

このように、「条件判断」を使うと、「ユーザーが不正なデータを入力したとき」のような条件を判断して、プログラムの処理を分岐させることができます。そして、それによって、より使いやすい親切なプログラムにすることができるわけです。

Return Top