Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

лабораторная 3 / лабораторная 3

.docx
Скачиваний:
4
Добавлен:
31.05.2023
Размер:
440.26 Кб
Скачать

МИНИСТЕРСТВО ЦИФРОВОГО РАЗВИТИЯ, СВЯЗИ И МАССОВЫХ КОММУНИКАЦИЙ РОССИЙСКОЙ ФЕДЕРАЦИИ

Ордена Трудового Красного Знамени федеральное государственное бюджетное образовательное учреждение высшего образования

«Московский технический университет связи и информатики»

Кафедра «Математическая кибернетика и информационные технологии»

Дисциплина «Кроссплатформенное технологии программирования»

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

Выполнил:

студент группы БСТ2104

Проверил:

Москва, 2023 г.

Цель работы: реализовывать функционал для Алгоритма A* («A star»).

Задача №1: изменить классы Location и AStarState.

Ход работы: Доработаем класс Location, реализовав два метода: equals() и hashcode().

Рисунок 1 – Реализация методов equals() и hashcode().

Перед началом разработки методов, добавим два (нестатических) поля в класс AStarState с таким типом, одно для "открытых вершин" и другой для "закрытых вершин".

Рисунок 2 – Добавление полей в класс AStarState.

После создания и инициализации полей, реализуем следующие методы в классе AStarState:

  1. public int numOpenWaypoints();

  2. public Waypoint getMinOpenWaypoint();

  3. public boolean addOpenWaypoint(Waypoint newWP);

  4. public boolean isLocationClosed(Location loc);

  5. public void closeWaypoint(Location loc).

Рисунок 3 – Реализация метода public int numOpenWaypoints()

Рисунок 4 – Реализация метода public Waypoint getMinOpenWaypoint()

Рисунок 5 – Реализация метода public int numOpenWaypoints()

Рисунок 6 – Реализация метода public boolean addOpenWaypoint(Waypoint newWP)

Рисунок 7 – Реализация метода public void closeWaypoint(Location loc)

Запустим программу в классе AStarApp и попробуем найти короткий путь из одной точки в другую.

Рисунок 8 – Результат работы программы

Вывод: реализовали функционал для Алгоритма A* («A star»).

Соседние файлы в папке лабораторная 3