Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
metod_AYaII_buklet_maket (1).doc
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
858 Кб
Скачать

Лабораторная работа 7

Тема работы: работа с графами и деревьями в среде Turbo Prolog

Цель работы: ознакомление с возможностями обработки информации, представленной в виде графов и деревьев в среде Turbo Prolog 2.0 и приобретение практических навыков создания и использования структур данных для представления и обработки графов и деревьев.

Темы для предварительной проработки

  • Работа со структурами данных.

  • Работа с внешней базой данных.

  • Возврат и отсечение.

  • Рекурсия.

Постановка задачи: написать программу на языке Turbo Prolog, содержащую собственные и встроенные предикаты для работы с деревьями или графами и правила, реализующие поставленное задание.

7.1. Порядок выполнения работы

  1. Выбрать индивидуальное задание согласно номеру фамилии в журнале группы.

  2. Разработать метод решения задачи и предикаты для его реализации на языке Turbo Prolog.

  3. Загрузить Turbo Prolog.

  4. Определить и реализовать способ хранения данных, представляющих дерево или граф, во внешнем файле.

  5. В окне редактора написать текст программы, отладить и выполнить ее.

  6. Объяснить особенности использования разработанных предикатов, определить, какие из используемых переменных являются входными и какие - выходными.

7.2. Содержание отчета

  1. Тема лабораторной работы.

  2. Цель работы.

  3. Описание метода решения задачи.

  4. Описание применяемых стандартных и разработанных предикатов.

  5. Текст программы.

  6. Результаты тестирования программы.

  7. Выводы.

7.3. Индивидуальные задания

  1. Построить двоичное дерево. Определить его глубину.

  2. Построить двоичное дерево. Реализовать возможность добавления к нему новой вершины.

  3. Построить двоичное дерево. Реализовать возможность удаления вершины из него.

  4. Построить двоичное дерево. Реализовать возможность каскадного удаления из него вершин.

  5. Построить двоичное дерево. Вывести на экран имена всех вершин указанного уровня.

  6. Построить двоичное дерево. Реализовать возможность вывода имен всех листьевых вершин.

  7. Построить двоичное дерево. Реализовать возможность подсчета количества всех листьевых вершин.

  8. Построить двоичное дерево. Реализовать возможность подсчета количества всех нелистьевых вершин.

  9. Построить двоичное дерево. Посчитать количество вершин левой ветви.

  10. Построить двоичное дерево. Посчитать количество вершин правой ветви.

  11. Построить двоичное дерево. Посчитать количество листьевых вершин левой ветви.

  12. Построить двоичное дерево. Посчитать количество нелистьевых вершин левой ветви.

  13. Построить двоичное дерево. Посчитать количество листьевых вершин правой ветви.

  14. Построить двоичное дерево. Посчитать количество нелистьевых вершин правой ветви.

  15. Построить двоичное дерево. Посчитать количество уровней от заданного уровня до конечного.

  16. Построить двоичное дерево. Определить, какая ветвь имеет большее количество вершин – левая или правая.

  17. Построить двоичное дерево. Определить, какая ветвь имеет большее количество уровней – левая или правая.

  18. Построить двоичное дерево. Определить, на каком уровне находится заданная вершина.

  19. Построить граф с заданными стоимостями дуг. Определить длину пути от одной заданной вершины к другой.

  20. Построить ориентированный граф с заданными стоимостями дуг. Определить максимальную длину пути от одной заданной вершины к другой.

  21. Построить ориентированный граф с заданными стоимостями дуг. Определить минимальную длину пути от одной заданной вершины к другой.

  22. Построить неориентированный граф. Определить количество вершин всех путей от одной заданной вершины к другой.

  23. Построить граф с заданными стоимостями дуг. Определить количество переходов минимального по стоимости пути от одной заданной вершины к другой.

  24. Построить граф с заданными стоимостями дуг. Определить количество переходов максимального по стоимости пути от одной заданной вершины к другой.

  25. Построить граф с заданными стоимостями дуг. Определить, существует ли путь от одной заданной вершины к другой.

  26. Построить граф с заданными стоимостями дуг. Определить путь с минимальным количеством переходов от одной заданной вершины к другой.

  27. Построить граф с заданными стоимостями дуг. Определить путь с максимальным количеством переходов от одной заданной вершины к другой.

  28. Построить граф с заданными стоимостями дуг. Определить, имеет ли решение задача о коммивояжере на базе имеющихся исходных данных.

  29. Построить двоичное дерево. Проверить, входит ли в него заданный элемент.

  30. Построить неориентированный граф с заданными стоимостями ребер. Определить все возможные пути от одной заданной вершины к другой и стоимости этих путей.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]