Exemplo n.º 1
0
        // Обработка нажатия кнопки для проверки связи между указаными узлами
        private void GetConclusionBtn_Click(object sender, EventArgs e)
        {
            try
            {
                string dependentNodeName = NodesCmb1.Text;    // Дочерний узел
                string parentNodeName    = NodesCmb2.Text;    // Родительский узел
                string questionText      = QuestionsCmb.Text; // Тип вопроса

                // Выбрасывается исключение, если хотя бы в одном из выпадающих списков не был выбран вариант ответа
                if (dependentNodeName == string.Empty || parentNodeName == string.Empty || questionText == string.Empty)
                {
                    throw new Exception("Выберите вершины и тип вопроса.");
                }

                // При проверке создается новый экземпляр механизма логического вывода
                engine = new InferenceEngine(nodes, questions);

                // Выводится результат проверки наличия такой связи
                bool result = engine.GetConclusion(parentNodeName, dependentNodeName, questionText);

                MessageBox.Show(result.ToString());
            }
            catch (Exception ex)
            {
                // Вывод ошибки в случае ошибки
                MessageBox.Show(ex.Message);
            }
        }
Exemplo n.º 2
0
        private void GetConclusionBtn_Click(object sender, EventArgs e)
        {
            try
            {
                string dependentNodeName = NodesCmb1.Text; // предполагаемый зависимый узел
                string parentNodeName    = NodesCmb2.Text; // предполагаемый "старший" узел
                string questionText      = QuestionsCmb.Text;

                if (dependentNodeName == string.Empty || parentNodeName == string.Empty || questionText == string.Empty)
                {
                    throw new Exception("Выберите вершины и тип вопроса.");
                }

                engine = new InferenceEngine(nodes, questions);
                bool result = engine.GetConclusion(parentNodeName, dependentNodeName, questionText);

                MessageBox.Show(result.ToString());
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }