Курсовая работа: Определение связности графа на Лиспе
Рис. 4.7 – Тест 7. Несвязанный граф
Рис. 4.8 – Тест 8. Несвязанный граф
Перечисленные тесты представляют собой различные входные данные, которые позволяют полностью проверить работу программы.
При тестировании все тесты были выполнены успешно. Результаты работы программы приведены в приложении 2.
ЗАКЛЮЧЕНИЕ
В данной работе написана программа на XLisp, определяющей, является ли данный неориентированный граф связным.
Все поставленные цели выполнены: приобретены навыки и методы программирования достаточно сложных задач на языках логического программирования, а также проведена подготовка к выполнению дипломного проекта.
Программа отлажена и протестирована.
СПИСОК ЛИТЕРАТУРЫ
1 Лутай В.Н. Программирование на языках Лисп и Пролог. ТРТУ,1998.
2 Филд А., Харрисон П. Функциональное программирование. - М.: Мир, 1993.
3 Уилсон Р. Введение в теоpию гpафов. - М.: Миp, 1977.
ПРИЛОЖЕНИЕ 1
Текст программы
; смежная вершина (первая вершина ребра, вторая вершина ребра,
; список найденных вершин, список новых вершин)
(defun smezver(x y snaid snov)
(cond
((not (member x snov)) nil) ;x не является новой вершиной
((member y snov) nil) ;y является новой вершиной
((member y snaid) nil) ;y является ранее найденной вершиной
(t t))) ;вершина является новой смежной вершиной
;поиск смежных вершин (список найденных вершин, список новых вершин, список ребер)
(defun smez(snaid snov sreb)
(cond
((null sreb) nil) ;конецпоиска
((smezver (caar sreb) (cadar sreb) snaid snov) ;смежнаявершина