Привет всем!
Есть такая задача. Нарисуем например некоторое сечение в виде буквы П. Такое сечение может быть описано тремя параметрами. Высота сечения -
, ширина сечения
, толщина стенки сечения
. Дальее пишем алгоритм который вычисляет вершины сечения по заданным параметрам. Если размеры были заданы не правильно , скажем ширина сечения дана меньше чем толщина стенки, то алгоритм создаст что-то мало похожее на П.
Защита от дурака в данном случае может быть выполнена классическим образом:
1). Этап 1. Записываются возможные несоответствия размеров. Ну, как я и сказал, например, записывается что:
W > 2*t
H > t
2). Этап 2. Проверяем исходные данные по всем этим логическим требованиям.
Когда мы имеем сложное сечение, например двутавр, или сложное составное, то во-первых параметров будет куча, а тестов еще больше, но не это главное. Главное то, что при составлении алгоритма какой-то вариант логической проверки может быть упущен из внимания.
Вопрос такой. Вероятно существуют алгоритмы оценки правильности введнных данных, более высокого уровня. Например если сечение является выпуклым многоугольником, защита от дурака могла бы свестись к проверке на выпуклость, вместо того чтобы ловить логические несостыковки в заданных параметрах.
Было интересно узнать ваше мнение. Т.к. вероятно я выбрал ложный путь.
Спасибо, удачи.