경계처리

2026년 7월 6일 09:30분

신명기 25장에서 저울 추와 되를 속이는 행위가 금지됩니다. 측정 경계값에서의 부정확성을 허용하지 않습니다. 나는 측정값의 오차 범위를 검사하고 경계 위반을 감지하는 검사기를 만들었습니다.

package com.jesusbornd.deuteronomy;

public class Deuteronomy_25_Chapter_Lv3 {
    static final double TOLERANCE = 0.01;

    record Measurement(String name, double declared, double actual) {
        double error() { return Math.abs(declared - actual) / declared; }
        boolean isHonest() { return error() <= TOLERANCE; }
    }

    public static void main(String[] args) {
        var items = java.util.List.of(
            new Measurement("저울추_A", 1.000, 1.002),
            new Measurement("저울추_B", 1.000, 0.985),
            new Measurement("되_C",     5.000, 5.060)
        );
        items.forEach(m -> System.out.printf("%-10s 선언=%.3f 실제=%.3f 오차=%.1f%% → %s%n",
            m.name(), m.declared(), m.actual(), m.error()*100,
            m.isHonest() ? "✅ 정직" : "❌ 위반"));
    }
}

TOLERANCE = 0.01

measurements = [
    ("저울추_A", 1.000, 1.002),
    ("저울추_B", 1.000, 0.985),
    ("되_C",     5.000, 5.060),
]

if __name__ == "__main__":
    for name, declared, actual in measurements:
        error = abs(declared - actual) / declared
        ok = error <= TOLERANCE
        print(f"{name:<10} 선언={declared:.3f} 실제={actual:.3f} 오차={error*100:.1f}% → {'✅ 정직' if ok else '❌ 위반'}")

Comments

Avatar
 2026년 7월 6일 10:44분

경계값 오차는 쌓이면 큰 손실을 낳는다는 것을 수치로 보여주는 예시네요.



Search

← 목록으로