Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
СТА (лекции+лабы) / СТА Лаба 1.docx
Скачиваний:
56
Добавлен:
16.03.2016
Размер:
55.71 Кб
Скачать

13

Ста: Лабораторная работа №1 - Динамические структуры данных и атд

Версия 2.0, 22 сентября 2013г.

(С) 2012-2013, Зайченко Сергей Александрович, к.т.н, ХНУРЭ, доцент кафедры АПВТ

Правила выполнения лабораторной работы

  1. Лабораторная работа выполняется либо бригадой из 2 человек, либо индивидуально. Если студент претендует на оценку “отлично”, работа должна выполняться полностью индивидуально.

  1. В работе на выбор студента предлагаются варианты трех уровней сложности:

  • Базовый уровень - оценка в интервале 15-20 баллов.

  • Углубленный уровень - оценка в интервале 21-25 баллов.

  • Амбициозный уровень - оценка не менее 25 баллов + бонусные баллы на усмотрение преподавателя.

  1. Реализовывать задачи необходимо исключительно на языке программирования С++.

  1. Работа оценивается не только по корректности функционирования решений задач, но и по культуре оформления исходного кода в читабельном виде, адекватности разбиения решения на модули и функции.

  1. Поскольку одной из основных целей данного курса является изучение способов построения классических структур данных, при реализации задач запрещается использовать готовые библиотечные реализации этих структур.

  1. Защита работы:

  • устная и короткая без отчета в случае защиты в день лабораторной работы;

  • с полноценным печатным отчетом и ответами на теоретические вопросы в случае защиты в другие дни.

  1. Неприемлемым нарушением считается копирование исходного кода программ у другой бригады или из любых других источников тем или иным способом. В случае подозрения на плагиат, преподаватель оставляет за собой право не засчитывать решение полностью или частично, в зависимости от уровня понимания бригадой написанного кода. Уровень понимания может устанавливаться дополнительными вопросами к каждому из участников бригады по коду конкретной программы, по использованным в ней конструкциям языка программирования. В качестве проверки на понимание могут быть запрошены некоторые изменения поведения программы, отклоняющиеся от оригинальных условий задачи.

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

Литература к лабораторной работе

  1. Р. Седжвик “Алгоритмы на С++”:

  • Глава 3 “Элементарные структуры данных”

  • Глава 4 “Абстрактные типы данных”

  • Т. Кормен, Ч. Лейзерсон, Р. Ривест, К. Штайн “Алгоритмы. Построение и анализ”, 2 издание:

    • Глава 10 “Элементарные структуры данных” (подразделы 10.1-10.3)

  • А. Ахо, Д. Хопкрофт, Д. Ульман “Структуры данных и алгоритмы”:

    • Глава 2 “Основные абстрактные типы данных” (подразделы 2.1-2.4)

  • Д. Кнут “Искусство программирования”:

    • Том 1, глава 2, раздел 2.2 “Линейные списки”

    Исходные данные

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

    1. Реализация вектора целых чисел (integer_vector.hpp,integer_vector.cpp).

    2. Реализация односвязного списка целых чисел (integer_list.hpp,integer_list.cpp).

    3. Реализации стека целых чисел (integer_stack.hpp,integer_stack_vector_impl.cpp,integer_stack_list_impl.cpp,integer_stack_array_impl.cpp).

    4. Реализации очереди целых чисел (integer_queue.hpp,integer_queue_list_impl.cpp,integer_queue_cyclic_array_impl.cpp).

    Эти реализации можно использовать непосредственно как готовую библиотеку, либо использовать как начальную точку для собственного решения.

    Выдавать данные файлы за собственные решения настоятельно не рекомендуется :)

    Решения на основе примитивных массивов и других идеях, не относящиеся к динамическим структурам данных, не будут засчитаны.

  • Соседние файлы в папке СТА (лекции+лабы)