Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ot4et.docx
Скачиваний:
2
Добавлен:
28.09.2019
Размер:
168.53 Кб
Скачать

22

Содержание

Введение 4

1 Анализ поставленных задач 5

2 Обоснование метода решения поставленных задач 6

3 Обоснование выбора структур данных 7

4 Описание алгоритма решения задачи 8

5 Описание пользовательского интерфейса 10

6 Описание результатов 13

Заключение 14

Список литературы 15

Приложение А 16

Приложение Б 18

Введение

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

Целью практики является разработка приложения «Исследование треугольника» и игры «Сапер».

Для достижения целей необходимо решить следующие задачи:

1. Провести анализ поставленных задач;

2. Выбрать метод решения задачи;

3. Обосновать выбор структур данных;

4. Описать алгоритм решения задачи;

5. Написать код программы.

1 Анализ поставленных задач

В ходе данной практики необходимо решить задачи, связанные с исследованием свойств треугольников, а также реализация игры «Сапер».

В поставленной задаче «Исследование треугольников» по введенным точкам требуется определить, является ли введенная фигура треугольником, а затем исследовать его. Свойства треугольников зависят от характеристик их элементов- углов и сторон. Существует множество видов треугольников: прямоугольные, тупоугольные, остроугольные, равнобедренные и равносторонние. В данной задаче требуется определить, является ли треугольник равнобедренным, равносторонним или прямоугольным.

Во второй задаче требуется написать игру «Сапер» (в текстовом или графическом виде). «Сапёр» — компьютерная игра, которая, по сути, является головоломкой, в которой плоское или объёмное игровое поле разделено на смежные ячейки (квадраты, шестиугольники, кубы и т. п.), некоторые из которых «заминированы». Целью игры является открытие всех ячеек, не содержащих мины. Игрок открывает ячейки, стараясь не открыть ячейку с миной. Открыв ячейку с миной, он проигрывает. Если под открытой ячейкой мины нет, то в ней появляется число, показывающее, сколько ячеек, соседствующих с этой, «заминировано». Используя эти числа, игрок пытается рассчитать расположение мин, однако иногда даже в середине и в конце игры некоторые ячейки всё же приходится открывать наугад. Если под соседними ячейками тоже нет мин, то открывается некоторая «незаминированная» область до ячеек, в которых есть цифры. Открыв все «незаминированные» ячейки, игрок выигрывает.

Существует несколько сложностей игры «Сапер», в поставленной задаче требуется реализовать легкую сложность, которая включает в себя игровое поле размером 9*9 ячеек и 10 мин.

2 Обоснование метода решения поставленных задач

Задача на исследование треугольников.

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

Дальнейшее изучение треугольника основывается на свойствах векторов. В частности, я использовал формулу длины векторов, чтобы сравнивать стороны треугольника и делать выводы, является ли он равнобедренным или равносторонним. Чтобы узнать, является ли треугольник прямоугольным, достаточно воспользоваться еще одним свойством векторов: если скалярное произведение векторов равно 0, то они перпендикулярны. Я попарно скалярно умножаю векторы и сравниваю результат с 0. Если было такое совпадение - треугольник является прямоугольным.

Игра «Сапер».

Для реализации данной игры, прежде всего, я разработал алгоритм составления игрового поля: случайным образом генерируется местоположение «мин», а затем поле заполняется числами, указывающими на количество «мин» вокруг. Далее, я разработал алгоритм ввода пользователем координат открываемой ячейки и алгоритм, который производил открытие игрового поля в соответствии с введенными координатами и проверку на окончание игры.

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