Добрый вечер. Для начала опишу прогу, а потом проблему, с которой я столкнулась. Пользователем вводится число множеств в функции (максимум 10) Р (a;b;c;d;e;f;g;h;k;l), где Р – непосредственно булева функция, а {a;b;c;......} – частично упорядоченные множества. Затем вводится их мощность, допустим {a больше b} и {a больше c} программа проверяет соответствуют ли введеные пользователем соотношения аксиомам булевых функций (Для каждого элемента х∈Р ; х≤х (рефлексивность); Если х≤у; у≤х; х=у (антисимметричность); Если х≤y; y≤z; x≤z (транзитивность) ). И потом строит диаграмму Хассе (по-человечески граф), для примера приведенного выше выглядеть будет так (рис1). Когда множеств больше, выглядит это сложнее и связей гораздо больше, связи могут быть между любыми множествами.
Ввод количества функций происходит выбором из ComboBox нужного числа. Потом выводятся непосредственно функции, а точнее все какие могут быть отношения между ними. Сами функции пишутся в Label в Caption, а "<>" между ними выбирается также из ComboBox. Считать непосредственно то, где находятся связи я могу. А вот как проверить на правильность не знаю. Точнее общий алгоритм подобрать не могу. Не описывать же для каждого случая в отдельности.
Обращаюсь к Вам, может кто сталкивался с данной проблемой либо просто есть мысли на данный счет. Давайте обсудим.
Ввод количества функций происходит выбором из ComboBox нужного числа. Потом выводятся непосредственно функции, а точнее все какие могут быть отношения между ними. Сами функции пишутся в Label в Caption, а "<>" между ними выбирается также из ComboBox. Считать непосредственно то, где находятся связи я могу. А вот как проверить на правильность не знаю. Точнее общий алгоритм подобрать не могу. Не описывать же для каждого случая в отдельности.
Обращаюсь к Вам, может кто сталкивался с данной проблемой либо просто есть мысли на данный счет. Давайте обсудим.