プログラムの条件分岐における境界値(以上・以下・未満・超える)の適切な記述方法

こんにちは。ゆうせいです。

プログラムや論理的な文章を書く際、ある数値を含めるかどうかという境界の判断は非常に重要です。この判断を誤ると、意図しない挙動や計算ミスを招く原因となります。今回は、条件分岐において間違いやすい表現を整理し、その概念を正しく理解するためのポイントを解説します。

境界値を表す用語の定義

まず、日本語における境界値の定義を再確認しましょう。

  • 以上:基準となる数を含み、それより大きいこと。
  • 以下:基準となる数を含み、それより小さいこと。
  • 未満:基準となる数を含まず、それより小さいこと。
  • より大きい(超える):基準となる数を含まず、それより大きいこと。

これを高校数学でも使われる数直線上の概念で例えると、以上・以下は塗りつぶした丸(●)、未満・より大きいは白抜きの丸(○)で表される境界の状態を指します。

比較演算子との対応関係

プログラミングにおいては、これらの関係を比較演算子を用いて記述します。

  • a 以上 b:a >= b
  • a 以下 b:a <= b
  • a 未満 b:a < b
  • a より大きい b:a > b

初心者が最も混同しやすいのは、等号(=)を付けるか付けないかの判断です。

例えば、100点満点のテストで80点ちょうどを合格とする場合、条件式は「点数 >= 80」となります。もしここで「点数 > 80」と記述してしまうと、80点の人は不合格になり、81点以上の人だけが合格となってしまいます。この1点の違いが、システムの正確性を左右します。

紛らわしい表現を避けるための工夫

条件分岐を記述する際、特に以下の2点に注意することでミスを減らすことができます。

1. 「未満」と「以下」の使い分け

「10歳以下」と「10歳未満」は異なります。

  • 10歳以下:10歳を含みます。
  • 10歳未満:9歳までを含み、10歳は含みません。

これを比喩で説明すると、電車の自動改札機のようなものです。「小学生以下は子供料金」という規則がある場合、12歳の小学6年生は子供料金に含まれますが、「12歳未満」と設定されている場合、誕生日を迎えて12歳になった瞬間にその枠から外れることになります。

2. 否定表現を避ける

「100点ではない場合」や「50点より小さくない場合」といった否定的な表現は、論理の混乱を招きます。

  • 改善前:xが50より小さくない
  • 改善後:xが50以上

このように、肯定的な表現(以上、以下など)に置き換えることで、条件が直感的に理解しやすくなります。

条件分岐のメリットとデメリット

条件を記述する際の各手法には、事実として以下の側面があります。

メリット

  • 等号を含む表現(以上・以下)を使用すると、境界となる数値を直接コードに記述できるため、仕様書との整合性が取りやすくなります。
  • 比較演算子を統一(例:常に左辺を対象変数にする)することで、コードの可読性が向上し、修正時のミスを抑制できます。

デメリット

  • 「未満」と「より大きい」が混在すると、境界の数値がどちらのグループに属するかが一目で判断しにくくなります。
  • 言語やフレームワークによっては、境界値の扱いが独自の関数(例:between関数など)で定義されていることがあり、その仕様を確認せずに使用すると予期せぬ範囲を指定してしまうリスクがあります。

まとめ

境界値の扱いは、論理的思考の基本であり、正確なアウトプットを出すための要です。以下のステップで学習を進めることをお勧めします。

  1. まず、日常用語の「以上・以下・未満」が、その数値自体を含むかどうかを正しく暗記する。
  2. 次に、実際のプログラムコードを読み書きする際に、等号(=)の有無が実行結果にどう影響するかを数直線を描いて視覚的に確認する。
  3. 最後に、複雑な条件分岐を書く際は、否定表現を使わずに「以上・未満」の組み合わせでシンプルに構成する習慣をつける。

これらのステップを順に踏むことで、条件分岐における論理的なミスを確実に減らしていくことが可能です。

グループでは新人エンジニア研修のアシスタント講師を募集しています。

投稿者プロフィール

山崎講師
山崎講師代表取締役
セイ・コンサルティング・グループ株式会社代表取締役。
岐阜県出身。
2000年創業、2004年会社設立。
IT企業向け人材育成研修歴業界歴20年以上。
すべての無駄を省いた費用対効果の高い「筋肉質」な研修を提供します!
この記事に間違い等ありましたらぜひお知らせください。

学生時代は趣味と実益を兼ねてリゾートバイトにいそしむ。長野県白馬村に始まり、志賀高原でのスキーインストラクター、沖縄石垣島、北海道トマム。高じてオーストラリアのゴールドコーストでツアーガイドなど。現在は野菜作りにはまっている。