朝の10分プログラミング(6日目、2024年6月10日)解説
本日の課題、おつかれさまでした。
判定結果は、きちんとコンソールに出力されたでしょうか。
解答例
Processing の開発環境ウィンドウを立ち上げて、そのテキストエディタ部分に整数が正か負かを判別するプログラム(ソースコード)を書き写した状態が以下のようになります。
そして、実行ボタン(左上の ▶ ボタン)を押すと、開発環境ウィンドウ下部のコンソールに、
正の値
と出力されます(図2)。
$${x}$$の値が負の場合
ソースコードの
int x = 1;
の部分を、
int x = -1;
に変更して、実行ボタンを押すと、開発環境ウィンドウ下部のコンソールに、
負の値
と出力されます(図3)。
$${x}$$の値が$${0}$$の場合
ソースコードの
int x = 1;
の部分を、
int x = 0;
に変更して、実行ボタンを押すと、開発環境ウィンドウ下部のコンソールに、
値はゼロ
と出力されます(図4)。
簡単な解説
条件分岐
今回のプログラムでは、プログラムを作成する際の3つの基本的な構造
・上から順に実行する構造(順次構造)
・条件によって実行する命令を変える構造(選択構造)
・処理を繰り返す構造(繰り返し構造)
のうち、選択構造を実現するための「条件分岐」を扱いました。
プログラムで条件分岐は「if文」を使います。英語の「if」(もし~ならば)と同じです。条件分岐「if文」については、記事『高校数学をプログラミングで解く(準備編)「1-4 条件分岐、繰り返し処理」』の「条件分岐」の節で説明していますので、詳細はそちらをみてください。今回は、if文の書き方のうち、3つ目(if-else if-else)の構造を利用しました。
if( 条件式1 ){
処理1;
} else if( 条件式2 ){
処理2;
} else {
処理3;
}
これは、「条件式1を満たしていれば処理1を実行し、条件式1を満たしていなければ条件式2を満たしているか確認し、条件式2を満たしていれば処理2を実行し、条件式2を満たしていなければ処理3を実行する」という構造になります。if や else if の後ろに来る「(」と「 )」との間に条件式を入れて、そのあとに続く「{」と「}」との間に、条件式を満たしたときに行う処理を記述する形です。
念のため、今回の「整数が正か負かを判別するプログラム」では、「$${x > 0}$$を満たしていればコンソールに「正の値」と出力し、$${x > 0}$$を満たしていなければ$${x < 0}$$を満たしているか確認し、$${x < 0}$$を満たしていればコンソールに「負の値」と出力し、$${x < 0}$$を満たしていなければ「値はゼロ」をコンソールに出力する」という構造になっています。
条件式
今回のプログラムで利用した条件式は、「x > 0」と「x < 0」の2つです。それぞれ、
x > 0 → $${x}$$は$${0}$$より大きいか
x < 0 → $${x}$$は$${0}$$より小さいか
となります。条件式は他にもあり、2つ以上の条件式を組み合わせて利用することもできます。そのあたりは、記事『高校数学をプログラミングで解く(準備編)「1-4 条件分岐、繰り返し処理」』の「条件式」の節にまとめていますので、そちらを見てください。
条件分岐(if 文)は、プログラムを作成する際の3つの基本的な構造の一つですので、今後の課題にもたびたび出てきます。何度も利用することで少しずつ覚えていけると思います。
明日はプログラムを作成する際の3つの基本的な構造の一つである「繰り返し処理」について学んでいきます。
明日もよろしくお願いします。
MK’s papa
この記事が気に入ったらサポートをしてみませんか?