8.2. Содержание пояснительной записки
Курсовая работы должна быть выполнена как библиотека классов и как работающая программа, позволяющая продемонстрировать выполнение всех функций в любой последовательности через систему меню. Пояснительная записка должна иметь объем не менее 20 стр. текста (без приложения, шрифт 12), выполнена в соответствии с ГОСТом (ГОСТ 19.404-79) и содержать следующие разделы.
1. Техническое задание (ГОСТ 19.201-78).
2. Назначение и область применения программного продукта.
3. Выбор и обоснование выбора инструментальных средств.
4. Теоретический материал – особенности программирования в данной области (например, структур данных в двоичных файлах) . Теоретический материал должен быть переработан применительно к содержанию работы.
5. Структурное описание разработки. Описание форматов данных. Описание используемых структур данных (классов), форматов данных, сопровождаемое необходимыми графическими иллюстрациями (рисунками). Содержательное описание типов данных, структур данных. Возможно (поощряется ) использование Rational Rose.
6. Иерархия классов.
7. Описание программы (ГОСТ 19.402-78).
8. Описание алгоритмов и методов решения. Функциональное описание. Содержательное описание основных алгоритмов, их особенностей, интерфейсов функций, фрагментов нетривиальных алгоритмов.
9. Описание пользовательского интерфейса.
10. Описание работы программы на контрольных примерах (например, на большом текстовом файле), временные характеристики программы. Выводы. Ограничения (по памяти, по времени), ошибки, особенности проектирования.
11. Руководство пользователя (ГОСТ 19.505-79)..
12. Руководство программиста (ГОСТ 19.504-79)..
13. Заключение.
14. Список используемой литературы.
15. Тексты программных модулей (приложение).
8.3. Критерии оценки
1. Программа должна быть проверена на разнообразных входных данных.
2. Программа должна отображать текущее состояние структуры данных, хотя бы основные ее характеристики – количество элементов.
3. В пояснительной записке структурное описание разработки должно давать представление о том, какие основные решения приняты при разработке, как работает программа, какие данные являются статическими, какие – динамическими, должны быть упомянуты особенности алгоритмов. Структурное описание – словесное, с привлечением графических иллюстраций (схем, рисунков), фрагментов оригинальных алгоритмов и структур данных.
4. Пояснительная записка и файл программы сдаются за 1-2 дня до защиты. Защита курсовой работы происходит в форме собеседования с вопросам как по пояснительной записке, так и по тексту программы.
5. При наличии грамматических и синтаксических ошибок в тексте пояснительной записки оценка снижается на 1 балл, более 20 – на 2 балла.
9. Экзамен
В билеты экзамена включается одна задача и один теоретический вопрос. Задача должна быть выполнена с использованием технологии ООП на Си++.
Программа должна быть оформлена в виде класса или системы классов. Если программа работает с данными произвольных типов, то класс должен быть оформлен в виде шаблона. В классах необходимо описание только тех методов, которые используются в поставленной задаче. Если в варианте задания четко определен вид структуры данных, формы представления данных, то отклонения от условий считается грубым нарушением (например, статический или динамический массив, фиксированная или переменная размерность, внешняя или внутренняя форма представления числа и т. п.). При отсутствии такой информации необходимо явно оговорить выбранный Вами способ представления данных.
К тексту программы должно быть приложено описание структур данных, принципов построения алгоритма и перечня особых ситуаций, с которыми может сталкиваться программа (как реализованных в программе, так и не реализованных - "пустая" структура данных, поведение программы при несоответствии формата файла и т. п..). Объем готовой программы - в пределах 1-2 стр.. Стилистика описания, логичность, связность также учитываются при выставлении оценки.
9.1.Тематика задач, выносимых на экзамен
Классы типов данных, представленные динамическими структурами данных : целые произвольной размерности, представленные строкой символов-цифр (внешняя форма представления), или последовательностью цифр-тетрад (двоично-десятичное представление), степенные полиномы, представленные динамическим массивом коэффициентов, матрицы произвольной размерности, представленные динамическим (линейным) массивом коэффициентов или массивом указателей на строки матрицы динамические массивы. Разреженная матрица, представленная списком, динамическим массивом или массивом указателей на описатели ненулевых коэффициентов. Переопределение операций сложения, вычитания или умножения с результатом новым объектом. Конструктор копирования.
Шаблоны иерархических структур данных в памяти. Тип хранимого элемента параметр шаблона. Структуры данных: двухуровневые массивы указателей (массивы нижнего уровня - динамические), односвязные и двусвязные циклические списки, содержащие статический или динамический массив указателей на объекты, двоичные деревья, содержащие массивы указателей на объекты (а также другие виды деревьев по заданиям к л. р. 5.5). Операции включения по заданному логическому номеру, с сохранением порядка, сортировки выбором и вставками, загрузки хранимых элементов в структуру данных из последовательного потока.
Структуры данных в двоичных файлах (хранимые объекты строки и динамические массивы). Класс, производный от fstream, содержащий массив указателей, односвязный или двусвязный список с элементами динамическими массивами или строками в формате записей переменной длины. Операции сортировки выбором и вставками, включение с сохранением порядка и по логическому номеру, двоичный поиск. Использовать загрузку управляющих структур и поэлементную загрузку хранимых объектов (строк и массивов).
Структуры данных в двоичных файлах (тип хранимых объектов - параметр шаблона). Шаблон класса двоичного файла, содержащего массив указателей, односвязный или двусвязный список или двоичное дерево с элементами, тип которых является параметром шаблона. Операции сортировки выбором и вставками, включение с сохранением порядка и по логическому номеру, двоичный поиск. Использовать загрузку управляющих структур и поэлементную загрузку хранимых объектов.
9.2.Примеры задач.
Задача 1.
Класс разреженных матриц. Матрица представлена динамическим массивом ненулевых коэффициентов (строка, столбец - int, значение - double). Переопределить операцию сложения матриц, результат - объект-значение, операнды не меняются.
Задача 2.
Шаблон двоичный файл, содержащий массив указателей на объекты. Тип хранимого в файле объекта параметр шаблона. В начале файла расположены : размерность массива указателей (int), текущее количество указателей ( int) и смещение (адрес) массива указателей. Разработать метод создания файла, содержащего массив указателей на упорядоченные объекты из последовательного файла, содержащего сами объекты. Предполагается, что операции сравнения хранимых объектов переопределены стандартным образом (в виде стандартных операций сравнения). Использовать поэлементную загрузку хранимых объектов и хранение в памяти массива файловых указателей. Для позиционирования в потоке можно использовать методы seekg(long,mode) и long tellg(), для хранимого объекта переопределен метод fstream object который записывает объект с текущей позиции в открытый двоичный поток и метод fstream object, который читает содержимое объекта с текущей позиции открытого
9.3.Экзаменационные вопросы.
Основные черты объектно-ориентированного программирования С++ - язык расширения для С Понятие класса в С++ Описание класса в С++ Определение класса в С++ Описание и использование объектов в С++ Указатель this в С++ Конструкторы Конструктор копирования и конструктор без параметров Статические элементы класса Доступ к членам класса Дружественные функции и классы Деструкторы Перегрузка унарных операций Перегрузка бинарных операций Перегрузка операции присваивания Перегрузка операций new и delete Перегрузка вызова функции Перегрузка операции индексирования Перегрузка операции постфиксного и префиксного типа Основные понятия наследования Доступ к членам родительского класса при наследовании Простое наследование Множественное наследование Виртуальные классы при множественном наследовании Виртуальные методы Понятие полиморфизма. Исключения в С++. Try, catch, throw. Исключения в С++. Обработка неловленных исключений. Создание пользовательского обработчика. Исключения в С++. Обработка исключений из-за нехватки памяти. Создание пользовательского обработчика. Шаблоны функций в С++. Специализированные шаблоны функций. Порядок обработки вызовов функций в компиляторах. Шаблоны классов в С++. Специализированные шаблоны классов. Контейнерные классы в шаблонах. Итераторы. Библиотека классов-потоков. Иерархия классов в библиотеке. Библиотека классов-потоков. Форматирование в потоках. Библиотека классов-потоков. Обработка ошибок в потоках. Библиотека классов-потоков. Манипуляторы. Библиотека классов-потоков. Работа с файлами. Библиотека классов-потоков. Классы для ввода. вывода в память ( strstream, istrstream, ostrstream ). RTTI в C++. typeid, dynamic_cast.10. Основная и дополнительная литература
10.1. Язык программирования С++. Киев:Диасофт,2001. - 900с.,ил.
10.2. Bruce Eckel. Thinking in C++.
10.3. Borland ObjectWindows for C++.Programmer’s Guide. version 2.0.
10.4. Просто и ясно о Borland C++. Версии 4.0 и 4.5. М.:Бином. - 400с.,ил.
10.5. С++ изнутри.-Киев:Диасофт,1993. 304с.,ил.
10.6. Программирование на С++.-Киев:Диасофт,1993.-272с.,ил.
10.7. С++ под рукой.-Киев:Диасофт,1993.-176с.,ил.
10.8. Намиот особенности языка программирования С++. Реализация Turbo C++.- М.:Память,1991.-96с.,ил.
10.9. Подбельский С++: Учеб. пособие. - М.: Финансы и статистика, 1995.-560c.:ил.
10.10. От Си к Си++.-М.:Эдель,1993. - 128с.,ил.
10.11. Романов на языке С++. Практический подход.- М.:Компьютер,1993. - 160с.,ил.
10.12. Язык программирования С++.Часть 1. Киев:Диасофт,1993. - 264с.,ил.
10.13. Язык программирования С++.Часть 2. Киев:Диасофт,1993. - 296с.,ил.
10.14. Объектно-оpиентиpованное пpогpаммиpование на Borland С++ 4.5.-К.:Диалектика,1996.-544с., ил.
10.15. Справочное руководство по языку программирования С++ с комментариями. -М.:Мир,1992.-445с.,ил.
[1] Государственный образовательный стандарт высшего профессионального образования (ГОСВПО)
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 |


