
Рис. 19
Выходные данные
В зависимости от полученного результата сравнения графов пользователю будет выдано текстовое сообщение. Если графы эквивалентны, то результатом будет сообщение (рис. 20):
«Графы эквивалентны».
В противном случае результатом работы программы будет сообщение:
«Графы не эквивалентны».
Выходные формы

Рис. 20
Метод решения
В зависимости от значения переключателя на форме осуществляется ввод данных с клавиатуры или из текстового файла, с контролем корректности ввода данных. При вводе графов строят матрицы смежности (MS). Для получения радиуса графа необходимо вначале вычислить матрицу расстояний графа (MR).Максимальное значение в этой матрице и будет диаметром графа. Ниже приведен алгоритм получения матрицы MR.
Пусть r - вычисленные значения расстояний в матрице MR. Используем две вспомогательные матрицы В1 и В2:
1) r=1, В1= MS, MR= MS;
2) В2=В1* MS, r=r+1;
3) если (MR[I,j]=0 и B2[I,j] <>R[I,j]) то MR[I,j]= r;
4) если в п.3) матрица расстояний не изменялась, то конец вычислений, иначе
5) В1=В2 и повторить п.2).
Аномалии
В нашей программе аномалии в основном связаны с контролем входных данных.
Все возможные аномалии указаны в табл.3.
Таблица 3
| Номер п/п | Наименование | Условия возникновения | Реакция |
| 1 | Некорректный ввод количества вершин 1-го графа (при вводе с файла) | (n1>20) или (n1<0) | Вывод сообщения: ”Ошибка ввода количества вершин 1-го графа! “ (Образец 1) |
| 2 | Некорректный ввод количества ребер 1-го графа (при вводе с файла) | (m1>50) или (m1<0) | Вывод сообщения: ”Ошибка ввода количества ребер 1-го графа!” (Образец 2) |
| 3 | Элемент массива Fо 1-го графа недопустим (при вводе с экрана) | (Fо1i<0) или (Fo1i>n1) | Вывод сообщения: ”Элемент Fо1 1-го графа недопустим!“ (Образец 3) |
| 4 | Количество элементов массива Fо1 1-го графа неверно (при вводе с экрана) | K<>2m1+n1 | Вывод сообщения: ” Количество элементов массива Fо1 1-го графа неверно!“ (Образец 4) |
| 5 | Элемент массива Fо 2-го графа недопустим (при вводе с экрана) | (Fо2i<0) или (Fo2i>n1) | Вывод сообщения: ”Элемент Fо2 2-го графа недопустим!“ (Образец 5) |
| 6 | Количество элементов массива Fо2 2-го графа неверно (при вводе с экрана) | K<>2m2+n2 | Вывод сообщения: ” Количество элементов массива Fо2 2-го графа неверно!“ (Образец 6) |
Окончание таблицы 3
| Номер п/п | Наименование | Условия возникновения | Реакция |
| 7 | Некорректный ввод кол-ва вершин графа (при вводе с файла) | (n >20) или (n <0) | Вывод сообщения: ”Ошибка ввода количества вершин графа!” (Образец 7) |
| 8 | Некорректный ввод кол-ва ребер графа (при вводе с файла) | (m>50) или (m<0) | Вывод сообщения: ”Ошибка ввода количества ребер графа! “ (Образец 8) |
Функциональные тесты
Функциональные тесты приведены в табл.4:
Таблица 4
| Но-мер п/п | Назначение теста | Входные данные | Результат |
| 1 | Проверка аномалии 1 | 21 3 …… | Вывод сообщения по образцу 1 |
| 2 | Проверка аномалии 2 | 4 51 ……. | Вывод сообщения по образцу 2 |
| 3 | Проверка аномалии 5 | 4 3 2 0 1 3 4 0 2 0 2 0 21 3 …. | Вывод сообщения по образцу 5 |
| 4 | Проверка аномалии 6 | 4 3 2 0 1 3 4 0 2 0 2 0 4 51 …. | Вывод сообщения по образцу 6 |
Продолжение табл. 4
| Но-мер | Назначение теста | Входные данные | Результат | ||||||||||||||||||||
| 5 | Проверка аномалии 3 |
Fо1 Fо2
| Вывод сообщения по образцу 3 | ||||||||||||||||||||
| 6 | Проверка аномалии 4 |
Fо1 Fо2
| Вывод сообщения по образцу 4 |
Продолжение табл. 4
| Но-мер | Назначение теста | Входные данные | Результат | |||||||||||||||||||||
| 7 | Проверка аномалии 7 |
Fо1 Fо2
| Вывод сообщения по образцу 7 | |||||||||||||||||||||
| 8 | Проверка аномалии 8 | n1
Fо1 Fо2
| Вывод сообщения по образцу 8 | |||||||||||||||||||||
| 9 | Нормальная работа | n1
Fо1 Fо2
| Вывод сообщения Графы эквивалентны | |||||||||||||||||||||
| 10 | Нормальная работа | n1
Fо1 Fо2
| Вывод сообщения Графы не эквивалентны | |||||||||||||||||||||
Fо1 Fо2






