プログラムの条件判定と繰返し
要点と定義
プログラムは、データを変数に保持し、演算と条件判定を行い、処理の順序を制御して結果を作ります。条件が「すべて真」のときだけ成立させる論理積と、「少なくとも一つ真」なら成立させる論理和を区別します。例えば、二つの期間でどちらも前年比率が1未満なら、二つの比較を論理積で結びます。小数で表す率の1は100%です。
条件を数値で表す方法として、真偽値を桁に対応させることがあります。三条件を上から2進数の重み4、2、1で表すと、真・偽・真は4+1=5です。コードを使って表の列を特定した後、取り出す値がある行を選びます。重みと行位置の両方が正しくて初めて、意図した方針を得られます。
累計を求めるときは、対象より大きい値を合計し、対象自身の値を加える方法があります。これなら同じ値の別項目まで一括で足さず、対象項目までの累計にできます。区分判定では、境界値をどちらの区間に含めるかを条件式で正確に表します。例の基準では、70%はA、70%を超えて90%以下はB、90%を超える値はCです。
選択処理では、各データに条件を適用し、必要な条件をすべて満たすものを結果に加えます。複数条件の論理積、元のリスト順、更新前から登録されているデータを確認すると、出力内容と順序を判断できます。日時を文字列比較する方法は、年・月・日の順など、文字列順が日時順と対応する形式である場合に限って使えます。
手続や関数は処理を分けて呼び出す単位です。呼出し元から引数などで値を渡し、必要なら戻り値を受け取ります。サブルーチン呼出しでは復帰先が記録され、戻る命令で呼出し元に復帰します。処理を読むときは、どの変数が更新され、どの条件がその値を調べ、分岐後にどこへ進むかを追います。
適用条件と例
例えば、数値が8、7、6の順なら、「連続して減少」は7<8かつ6<7です。両方の比較が真である必要があるため論理積で結びます。8、7、9では後半の比較が偽となり、連続減少とは判定されません。一度でも減少したかを調べる条件なら論理和を使います。
累計の例として、構成比率が30%、25%、25%、20%の順に並ぶとします。3番目の項目までを、先行する自分より大きな値の合計に自身の25%を加えて求めると、30+25+25=80%です。同率の別項目をまとめて加算する定義ではないので、同じ比率の商品がある場合にも、対象商品までの累計を個別に求められます。管理区分の境界は不等号の向きを確認します。例えば累計がちょうど70%なら、70%以下を含むAに分類されます。
条件の組合せを表の列に対応させる場合、真・偽・真を重み4・2・1でコード化すると5です。表のコード5の列を探し、その列の取扱方針が格納された行を返します。条件の行を参照すると方針ではなく条件値を返してしまいます。比較条件から表の区間を選ぶときも、境界値がどちらに含まれるかを先に確かめます。
この節の続き
- 誤りやすい点
ここまでが冒頭部分です。ログインすると、無料でも1日2節まで全文をお読みいただけます。
アプリでこの節を読む