40歳から始める8分間プログラミング入門7

シニアだってプログラミング

今、シニアでもプログラミングする人が増えています。
若い時から続けている人もいれば、中高年になってから始める人もいます。
増加中なのは皆年をとるので当たり前ですが、スマホを利用する人が増えて「コンピューター」を意識する場面が多くなったのも理由の一つです。
当然「どうやって動いているのか」と思う人もいるわけで、プログラミングに興味を持ちやすい状況になりました。

ここでちょっと気になるのが「自分には無理だ」と思ってしまう問題です。
確かに高度な知識を必要とするものもあります。しかし、それほど難しくもなく覚えられるプログラムもあります。
諦めるのはもったいないです。当サイトも初心者に優しい内容で、誰でも学習できるように努力していきますから、とりあえず、やってみませんか?

 

JavaScriptプログラミングしてみよう

今回は条件分岐(じょうけんぶんき)です。

右側のエディタには、次のプログラムが表示されてますね。

これを変更しながら進めます。



まず、次を実行してみましょう。

8行目の記号=(イコール)は3つ書きます。

このif文は、条件が成立すると中カッコ { }の中の処理をします。

条件が===の場合、等しいかどうかを判断します。

8行目では「変数xは5と等しいか」を判断して、同じであれば9行目を実行します。



5行目で、変数xを7にしてみます。

9行目は、条件が満たされなかったので実行されませんでした。



条件分岐を1つ覚えただけで、おみくじが作れます。やってみましょう。

乱数で0か1を発生させ、0ならば大吉、1ならば吉を表示します。

何度か実行して、結果が変化するかチェックしましょう。

乱数のことを忘れていたら以前のページを読み直して下さいね。



これだけでは、おみくじとして中途半端です。

xが2のとき「小吉」3のとき「凶」になるよう変更して下さい。

完成したら、数回実行して正常に動くか確認しましょう。


末吉を凶を追加するだけなので簡単でしたね。

大吉と吉しか出ないならば、5行目を見直して下さい。

*4に変更してありますか?



シンプルですが、おみくじができました。

これに限らず、ほとんどのプログラムで条件分岐を使います。

他の方法も学んでいきましょう。

else を使うと、条件が満たされない時の処理も書くことができます。

xが1のとき、「xは1です」が表示されます。

xが0,2,3のとき、「xは1ではない」が表示されます。



問題です。

次の結果になるように上のプログラムを変更して下さい。

x===2の条件分岐を付け加えるだけでした。

分からなかった人は、出力結果を1行ずつ分けて見て下さい。

1行目と2行目は、上のプログラムの実行結果そのものでした。3行目だけが新たに追加された要素です。

つまり、3行目を出力するプログラムを追加するだけだったのです。



else だけでも便利ですが、複数の条件を分岐させるには少し不便です。

そこで else if の登場です。

これを使えば条件をつなげて書くことができます。

結果を見れば、1と2とその他で3つに分岐させていることが分かります。



else if の良さが分かりましたか?

より実感してもらうために問題です。

else if を使わず、else だけを使って上記と同じ結果になるプログラムを組んで下さい。

ヒントは入れ子です。


まだ条件が少なかったので、それほど見苦しいプログラムではないですね。

実際、このように組んだ方がいい場合もあります。

4つ以上の条件がつながるようなら else if を使いましょう。



もう1つやってみましょう。

下のプログラムは先ほど作ったおみくじです。

これを else if を使って書き直して下さい。

14行目はただの else になります。

これで4つに分岐できます。

スッキリとしたプログラムになりますね。



ところで、このおみくじは大吉も凶もみんな同じ確率で出ます。

それぞれの確率を変えたいときはどうするのでしょうか?

大吉を20%、吉を50%、小吉を20%、凶を10%のようにしたいと思います。

else if を使って、範囲による分岐にしてみます。

範囲の判断には、for文で使っていた不等号の小なりを使います。

5行目で0から99までの乱数を作っています。

xが0から19であれば大吉、20から69であれば吉、70から89であれば小吉、その他は凶となります。

何度か実行して確かめてみましょう。



ここで問題です。

大吉を30%、吉を50%、小吉を19.5%、凶を0.5%になるよう変更して下さい。


小吉と凶の小数点をどうするか、がポイントになります。

乱数を0から999まで作って対応します。

1000の中で300以下なら30%ですよね。

1000の中で5以下なら0.5%です。


 

見慣れることが大事です

お疲れさまでした。 if文を使った条件分岐を学習しました。 条件分岐はプログラミングの要と言えます。他にも様々な方法があるので少しずつやっていきます。

見慣れないものを見たとき、何かあることは分かっても、それがどの様なものなのかを理解するまで時間がかかります。 これは誰にでも当てはまることです。ただ、解決方法はシンプルで、見慣れてくるとどんどん改善していきます。 それは脳が「これは必要な情報なんだな」と思って処理してくれるようになるからです。