module stats; interface Stat { void accumulate(double x); void postprocess(); double result(); } class Min : Stat { private double min = double.max; void accumulate(double x) { if (x < min) { min = x; } } void postprocess() {} // Ни­че­го не де­лать double result() { return min; } } class Max : Stat { private double max = double.min_normal; void accumulate(double x) { if (x > max) { max = x; } } void postprocess() {} // Ни­че­го не де­лать double result() { return max; } }