Главная » Просмотр файлов » Первое домашнее задание. Лабиринт

Первое домашнее задание. Лабиринт (1127051)

Файл №1127051 Первое домашнее задание. Лабиринт (Первое домашнее задание. Лабиринт)Первое домашнее задание. Лабиринт (1127051)2019-05-11СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла

Домашнее задание 1.ЛабиринтОбщее описание заданияЗадание направленно на проверку знаний основ языка C++ у студентов и знакомствос основными алгоритмами на графах. Задание состоит из следующих этапов:1.написание программы на языке С++, решающую задачу поискаминимального пути в лабиринте (см. описание ниже);2.проведение тестирования написанной программы с точки зрениякорректности работы программы;3.теоретический анализ времени работы используемого алгоритма и замерыпроизводительности полученной реализации указанного алгоритма;4.написание отчета, описывающего результаты всех указанных этапов.Выполненное задание разместить в соответствующей именной папке в Dropbox вотдельной папке с названием «Autumn 2014 - Homework 1» (Приглашения в ближайшеевремя придут по почте, имя папки совпадает с Вашим login-ом, который Вы указали вАнкете).

Любые вопросы (в том числе, если у Вас есть возражения, связанные сиспользованием Dropbox) по заданию присылать по электронной почте на следующийадрес: mikle.shupletsov@gmail.com. Тема письма имеет следующий формат: [318][Фамилия Имя] [Вопрос].ЛабиринтЛабиринт состоит из нескольких уровней.

Соседние уровни соединены при помощилестниц. Каждый уровень в лабиринте представляет собой квадрат из N на N клеток, гдекаждая клетка может быть одной из следующих типов: ‘.’ – пустое пространство (по нему можно передвигаться); ‘#’ – стены лабиринта (клетки по которым нельзя перемещаться); ‘U’ – лестница на верхний уровень (из данной клетки можно перейти только науровень выше); ‘D’ – лестница на нижний уровень (из данной клетки можно перейти только науровень ниже); ‘P’ – портал (выход из лабиринта); ‘S’ – начальная точка.Передвигаться можно только вверх(‘n’), вниз (‘s’), влево (‘w’) и вправо (‘e’).Границы лабиринта можно считать непроходимыми, даже если они не окружены стенами(клетки ‘#’).Формат входных данных.Описание лабиринта считывается программой либо со стандартного потока ввода (cin),либо из файла.

При этом программа должна корректно обрабатывать следующие дваосновных формата описания лабиринта:1. «карта» - описание карты лабиринта по уровням (M);2. «координаты» - список координат элементов лабиринта (L).Каждая строка в указанных описаниях непосредственно относится к описанию форматаили является комментарием в стиле языка С (например, “//строка с комментарием”Формат «карта» (M)Первая строка содержит символ «M», указывающий тип входного формата. На второйстроке указывается одно целое число N – размер стороны любого из уровней лабиринта.На третьей строке указывается число K – число уровней в лабиринте (уровни лабиринтанумеруются с нулевого). Далее, следует описание всех клеток каждого из уровнейлабиринта, начиная с нулевого.Пример корректного входного описания лабиринта в формате «карта» (M):M42//level 0....#....#..#...//level 1.P.........S#.D#Формат «координаты» (L)Первая строка содержит символ «L», указывающий тип входного формата.

На второйстроке указывается одно целое число N – размер стороны любого из уровней лабиринта.На третьей строке указывается число K – число уровней в лабиринте (уровни лабиринтанумеруются с нулевого). Далее, следует описание лабиринта, в котором указываютсякоординаты всех элементов (кроме, возможно, клеток ‘.’, описывающих пустоепространство лабиринта). При этом каждая строка описывает координаты одной клетки иимеет следующий формат: (‘строка’, ‘столбец’, ‘уровень’, ‘символ’). Клетки лабиринтаописываются в произвольном порядке. Не исключается возможность, что описаниесодержит координаты пустого пространства.Пример корректного входного описания лабиринта в формате«координаты» (L):L42(1,0,0,#)(2,1,0,#)(3,0,0,#)(0,1,1,P)(2,3,1,S)(3,0,1,#)(3,2,1,D)(3,3,1,#)Формат выходных данныхРезультат поиска минимального пути передается программой либо в стандартный потоквывода (cout), либо в файл.

При этом программа должна корректно обрабатыватьследующие два основных формата описания результата:1. «карта» - минимальный путь на карте лабиринта (Map);2. «координаты» - список координат минимального пути (List).Формат «карта» (M)Первая строка содержит символ «M», указывающий тип входного формата. На второйстроке указывается одно целое число N – размер стороны любого из уровней лабиринта.На третьей строке указывается число K – число уровней в лабиринте (ровни лабиринтанумеруются с нулевого). Если путь не существует, то более никакой информации невыдается. В противном случае выдается описание всех клеток каждого из уровнейлабиринта, начиная с нулевого с указанием минимального пути от клетки ‘S’ до клетки‘P’.

Путь указывается следующим образом: символы всех клеток пустого пространства,которые находятся на минимальном пути, заменяются на символы ‘n’, ‘e’, ‘s’, ‘w’,‘d’ и ‘u’, которые указывают направление движения (изменения начинаются с клетки‘S’, при этом клетка портала ‘P’ не должна меняться).

Описание каждого уровняпредваряется строкой с комментарием, указывающим на уровень лабиринта (например,“//level 0”). Других комментариев выходной формат содержать не должен.Пример корректного выходного описания лабиринта в формате «карта»(M):M42//level 0....#....#..#...//level 1.Pww...n...n#.d#Формат «координаты» (L)Первая строка содержит символ «L», указывающий тип входного формата. На второйстроке указывается одно целое число N – размер стороны любого из уровней лабиринта.На третьей строке указывается число K – число уровней в лабиринте (уровни лабиринтанумеруются с нулевого).

Если путь не существует, то более никакой информации невыдается. В противном случае на следующей строке выдается целое число, котороехарактеризует длину минимального пути от клетки ‘S’ до клетки ‘P’(считаетсясуммарное число клеток в найденном пути, за исключением клетки с порталом (клетка‘P’)) и с новой строки выдается описание минимального пути, в котором указываютсякоординаты всех элементов задействованных в этом пути. При этом каждая строкаописывает координаты одной клетки и имеет следующий формат: (строка, столбец,уровень, направление), где направление один из следующих символов: ‘n’, ‘e’, ‘s’,‘w’, ‘d’ и ‘u’, указывающий направление движения из клетки. Клетки лабиринтаописываются в порядке прохождения пути, то есть от начальной клетки, в которой былсимвол ‘S’ до последней клетки пути, которая указывает на клетку с порталом (клетка ссимволом ‘P’).

Описание не должно содержать комментариев.Пример корректного входного описания лабиринта в формате«координаты» (L):L424(2,3,1,n)(1,3,1,n)(0,3,1,w)(0,2,1,w)Параметры командной строки.Программа должна поддерживать следующие параметры командной строки:1. –-help, -h – при передаче этого параметра программа должна вывести краткуюсправку о работе с программой, которая включает краткое описание программы, атакже все параметры командной строки и их назначение;2. –-input (M|L), -i (M|L) – параметр определяет тип входного формата (вскобках указаны возможные типы входного формата);3.

–-input_file “filename.txt”, -I “filename.txt” – если указан этотпараметр, то программа считывает вход из файла с именем “filename.txt”,если параметр не указан, то считывание происходит со стандартного потока ввода(cin);4. –-output (M|L), -o (M|L)– параметр определяет тип выходного формата (вскобках указаны возможные типы выходного формата);5. –-output_file “filename.txt”, -O “filename.txt”, -O - еслиуказан этот параметр, то программа записывает результат работы в файл с именем“filename.txt”, если параметр не указан, то запись происходит в стандартныйпоток вывода (cout);Примеры корректного задания параметров командной строкиMaze.exe --help //вывод краткой справки о работе программыMaze.exe –i M –o M /*программа считывает со стандартного потокаввода карту в формате М выдает результат своей работы встандартный поток вывода в формате М.*/Maze.exe --input M --output L -I test.txt –O result.txt//*программа считывает карту в формате М из файла test.txt изаписывает результат своей работы в файл result.txt в форматеL.*/Примеры некорректного задания параметров командной строкиMaze.exe –h –i M //не согласованные параметры коммандной строкиMaze.exe –i –o M //пропущен обязательный параметр при “-i”Maze.exe --input M -I test.txt –O result.txt /*не задан выходнойформат представления лабиринта.*/Maze.exe -o M -I test.txt /*не задан входной форматпредставления лабиринта.*/Тестирование программы и замеры производительности.Программа должна быть протестирована на предмет корректного решенияпоставленной задачи, корректного считывания входного и генерации выходного форматовпредставления лабиринта и минимального пути в нем.Должно быть проведено тестирование программы на случайно сгенерированныхлабиринтах разного размера.

Установить максимальные значения параметров лабиринта,при которых программа работает за приемлемое время (меньше одной минуты) и непревышает заданных ограничений по памяти (например, память Вашего компьютера) дляразных форматов описания лабиринта. Сравнить полученные данные с теоретическойоценкой времени работы реализованного Вами алгоритма поиска пути.Требования к отчетуОтчет по заданию должен содержать следующие основные разделы:1 Введение.2 Описание алгоритма.3 Результаты тестирования и замеры производительности.4 Список литературы.Раздел «Введение» содержит постановку задачи и краткое описание полученныхрезультатов.Раздел «Описание алгоритма» содержит описание реализованного алгоритма поискаминимального пути и теоретическую оценку времени его работы.Раздел «Результаты тестирования и замеры производительности» содержитописания того, как написанная программа тестировалась с точки зрения корректностирешения задачи, и результаты сравнения скорости работы программы на различныхвходных данных с теоретической оценкой времени работы алгоритма.

Для наглядноститребуется привести не только таблицы, но и графики. Кроме того, в этом разделе долженбыть приведен анализ полученных замеров производительности.Раздел «Список литературы» содержит ссылки на статьи и электронные ресурсы,если таковые были упомянуты в тексте отчета.Критерии оценкиРезультаты выполнения домашнего задания оцениваются по следующим основнымкритериям:1 корректность и качество реализации алгоритма поиска минимального пути;2 правильность считывания входных форматов и генерации выходного форматапредставления лабиринта и найденного минимального пути в нем;3 качество оформления кода (styleguide);4 тестирование программы и анализ производительности;5 структура и содержание отчета..

Характеристики

Тип файла
PDF-файл
Размер
339,25 Kb
Тип материала
Высшее учебное заведение

Тип файла PDF

PDF-формат наиболее широко используется для просмотра любого типа файлов на любом устройстве. В него можно сохранить документ, таблицы, презентацию, текст, чертежи, вычисления, графики и всё остальное, что можно показать на экране любого устройства. Именно его лучше всего использовать для печати.

Например, если Вам нужно распечатать чертёж из автокада, Вы сохраните чертёж на флешку, но будет ли автокад в пункте печати? А если будет, то нужная версия с нужными библиотеками? Именно для этого и нужен формат PDF - в нём точно будет показано верно вне зависимости от того, в какой программе создали PDF-файл и есть ли нужная программа для его просмотра.

Список файлов учебной работы

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6417
Авторов
на СтудИзбе
307
Средний доход
с одного платного файла
Обучение Подробнее