第7話 if の条件を2つ以上必要な場合
if 文の条件が、二つ以上あった時に使う方法なのですが、一つの番地には、一つのプログラムの方が、後からバグ修正が簡単になるので、可能な限り、一つにしたい。
そんな時の方法なのですが、if 文を2箇所に置く時のテクニックです。
例えば、パート・アルバイトの出勤時間の管理を見える化する時の方法です。
A 10 〜 16
B 12 〜 19
C 17 〜 22
上記のようなシフトになってたとします。
これを視覚化して見やすいように、下記のような表を作りたいと思ったら、エクセルのような表計算ソフトは簡単に使えます。
10 11 12 13 14 15 16 17 18 19 20 21
A ■ ■ ■ ■ ■ ■ ■
B ■ ■ ■ ■ ■ ■ ■ ■
C ■ ■ ■ ■ ■
★注意★
スマホの方は、スマホを横にして見てください。
例えば、Aは、10時から15時のシフトです。
出勤時間の10時と、退勤時間の15時が、条件となりますので、計算式は、この二つの時間の間だけ、「■」を表示させれば良いのです。
なので、「■」の入っているマスに、二つの条件式を入れるだけになります。
時間>=出勤時間
時間<退勤時間
この二つの条件を入れて、条件が満たされれば、フラグとして、「■」を表示します。
この程度のプログラムですと、それ程面倒ではないので、そのまま、一つの番地で条件設定しても構いませんが、2箇所の番地を使う方法を覚えておくと、更に複雑な条件が必要になったときは、簡単に後追いができて、バグ修正が簡単になります。
例えば、出勤されている時間ごとにフラグを立てておくのです。
10 11 12 13 14 15 16 17 18 19 20 21
A 出勤 1 1 1 1 1 1 1 1 1 1 1 1
A 退勤 0 0 0 0 0 0 1 1 1 1 1 1
★注意★
スマホの方は、スマホを横にして見てください。
これは、Aの出勤時間より後の時間に「1」を、そして、Aの退勤時間より後に「1」をフラグとして表示させてます。
なので、10時以前は、どちらも表示は「0」となってますから、両方を足したら、答えは、「0」ですが、10時から15時の間は、「1」になり、16時以降は、「2」になります。
Aが出勤している間は、「1」の時だけになり、「0」「2」の時は、出勤してないことになります。
この答えが、「1」の時だけ「■」を表示するようにすれば、視覚化は簡単になります。
しかし、この程度のプログラムで、マスを沢山使うとメモリーを多く使いますから、この程度のことなら、一つのマスで処理を済ませた方が良いでしょうが、複雑な処理が必要な時のために、この方法は覚えておいて損は無いと思います。
新規登録で充実の読書を
- マイページ
- 読書の状況から作品を自動で分類して簡単に管理できる
- 小説の未読話数がひと目でわかり前回の続きから読める
- フォローしたユーザーの活動を追える
- 通知
- 小説の更新や作者の新作の情報を受け取れる
- 閲覧履歴
- 以前読んだ小説が一覧で見つけやすい
アカウントをお持ちの方はログイン
ビューワー設定
文字サイズ
背景色
フォント
組み方向
機能をオンにすると、画面の下部をタップする度に自動的にスクロールして読み進められます。
応援すると応援コメントも書けます