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

новая папка / Java lab#3

.docx
Скачиваний:
3
Добавлен:
26.02.2023
Размер:
331.48 Кб
Скачать

Министерство цифрового развития, связи и массовых коммуникаций Российской Федерации

Федеральное государственное бюджетное образовательное учреждение высшего образования

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

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

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

«Алгоритм A*»

по дисциплине «Кроссплатформенные технологии»

Проверила:

Полянцева К.А.

Москва 2022

Содержание

3.1. Подготовка класса Location для совместного использования с классами коллекции Java 3

3.2. Завершение реализации класса AStarState 4

1. Цель работы: реализовать работу алгоритма по поиску пути от начального местоположения до пункта назначения с успешным преодолением препятствий.

2. Задание:

2.1 Подготовить класс Location для совместного использования с классами коллекции Java.

Задачи:

  1. Обеспечить реализацию метода equals ()

  2. Обеспечить реализацию метода hashcode().

2.2 Завершить реализацию класса AStarState

Задачи:

  1. Добавить два (нестатических) поля в класс AStarState: одно для "открытых вершин" и другое для "закрытых вершин"

  2. реализовать следующие методы в классе AStarState:

    • public int numOpenWaypoints(),

    • public Waypoint getMinOpenWaypoint(),

    • public boolean addOpenWaypoint(Waypoint newWP),

    • public boolean isLocationClosed(Location loc),

    • public void closeWaypoint(Location loc)

3. Ход выполнения лабораторной работы

3.1. Подготовка класса Location для совместного использования с классами коллекции Java

Код метода equals () с комментариями представлен на рисунке 1.

Рисунок 1 – Код метода equals ()

Код метода hashcode() с комментариями представлен на рисунке 2

Рисунок 2 – Код метода hashcode()

3.2. Завершение реализации класса AStarState

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

Рисунок 3 – Объявление полей для закрытых и открытых вершин

Код метода public int numOpenWaypoints(), возвращающего количество открытых вершин, в классе AStarState представлен на рисунке 4.

Рисунок 4 – Код метода public int numOpenWaypoints()

Код метода public Waypoint getMinOpenWaypoint() с комментариями в классе AStarState представлен на рисунке 5.

Рисунок 5 – Код метода public Waypoint getMinOpenWaypoint()

Код метода public boolean addOpenWaypoint(Waypoint newWP) с комментариями в классе AStarState представлен на рисунке 6.

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

Код метода public boolean isLocationClosed(Location loc) с комментариями в классе AStarState представлен на рисунке 7.

Рисунок 7 – Код метода public boolean isLocationClosed(Location loc)

Код метода public void closeWaypoint(Location loc) с комментариями в классе AStarState представлен на рисунке 8.

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

4. Ссылка на репозиторий гитхаба

https://github.com/TerraficMint/ssss

5. Вывод

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

Список использованной литературы

  1. Камаев В.А., Костерин В.В. Технологии программирования. М.: Высшая школа, 2006.

  2. Жоголев Е.А.Технология программирования. – М.: Научный мир, 2004.

  3. ГОСТ 7.32-2017 Система стандартов по информации, библиотечному и издательскому делу. Отчет о научно-исследовательской работе. Структура и правила оформления. - URL: https://files.stroyinf.ru/Index/655/65555.htm

Git:

  1. Scott Chacon, Ben Straub «Pro Git»

  2. git-scm.com

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