@Sherbatiy

Как проверить несколько диапазонов значений?

Добрый день
Работаю аналитиком и занимаюсь описанием задачи для разработчика.

Условия:
Система позволяет создавать Правила, с указанием допустимых числовых значений: минимальные значения, максимальные значения, диапазон значений или несколько диапазонов значений.

Числовые значения это десятичное число с двумя знаками после запятой.

Задача:
Необходимо описать алгоритм проверки Правил, который проверяет их на предмет конфликтов между собой.

Пример 1:
Правило 1: больше 5
Правило 2: от 10 до 20
Правило 3: меньше 8

Пример 2:
Правило 1: от 2 до 5 и от 10 до 15
Правило 2: от 6 до 12

Буду благодарен уточняющим и наводящим вопросам, советами, примерами алгоритмов проверки Правил.
  • Вопрос задан
  • 80 просмотров
Пригласить эксперта
Ответы на вопрос 1
Therapyx
@Therapyx
Data Science
Задача интересная, но увы времени на нее всю у меня точно сейчас не будет. Но я бы начал так
представим для в примере 1 человек ввел их "куда-то в GUI".
1) Пишешь функцию конвертации всевозможных операторов в числа. К примеру > eto 1, < eto 2. И в обратную сторону.
2) Проходишь по всем правилам, которые ввел пользователь и добавляешь в контейнер парами (оператор, число).
3) продумываешь всевозможные комбинации конфликтор. В твоем варианте видно уже сразу 3.
Если число от оператора 1(>) меньше, чем от оператора 2(<), то = конфликт.
И по такому принципу делаешь быдло паттерны пока не покроешь все исключения.
В идеале же надо аггригировать и делать более сложную структуру. Но я не думаю, что это нужно в твоем примере.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы