Курсовой проект




Скачать 53.25 Kb.
НазваниеКурсовой проект
Дата публикации16.07.2013
Размер53.25 Kb.
ТипКурсовой проект
uchebilka.ru > Бухгалтерия > Курсовой проект
Курсовой проект

Проектирование и реализация абстракций типов данных”
Задание: разработать спецификацию интерфейса (абстракцию) типа данных в соответствии со своим вариантом. Для этого

  1. сформулировать, в задачах какого сорта может быть использован разрабатываемый тип данных;

  2. перечислить основные и дополнительные определяющие операции для разрабатываемого типа, указывая их аргументы;

  3. дать названия определяющим операциям, записав их в виде прототипов функций;

  4. записать пример использования типа, тестирующий его пригодность для предметной области;

  5. сформулировать возможные подходы (не менее двух) к реализации типа;

  6. дать сравнительный анализ этих подходов, указав их достоинства и недостатки (особо отметить наиболее простую реализацию и наиболее эффективную реализацию);

  7. свести материалы в промежуточный отчет, раздел “Проектирование типа данных”

  8. запрограммировать простую реализацию типа данных в виде класса, поместив его в заголовочном файле с расширением .h (например, type.h);

  9. при необходимости снабдить методы комментариями, поясняющими суть операции;

  10. запрограммировать, составленный в п.4, пример использования типа, поместив его в отдельный файл с расширением .cpp (например, main.cpp);

  11. запрограммировать методы для основных определяющих операций, поместив реализации в отдельный файл с расширением .cpp (например, type.cpp);

  12. запрограммировать элементарно реализуемые методы для дополнительных определяющих операций;

  13. сложно реализуемые методы для дополнительных операций заменить либо простыми заглушками, либо закомментировать. Заглушки снабдить комментарием с описанием нереализованной операции (спецификацией операции);

  14. протестировать методы основных операций, для чего сформировать программный проект (как минимум, туда войдут файлы main.cpp и type.cpp);

  15. свести материалы в отчет, раздел “Реализация методов основных операций”;

  16. запрограммировать и протестировать методы дополнительных определяющих операций;

  17. свести материалы в отчет, раздел “Реализация методов дополнительных операций”;

  18. внимательно просмотреть реализацию всех методов, отвечая для каждого на вопрос, должен ли измениться его программный код, если простую реализацию типа заменить на эффективную (согласно п.6);

  19. заменить простую реализацию эффективной , перепрограммировав методы согласно перечню п.18;

  20. протестировать новую реализацию типа, используя прежнюю тестовую программу (весьма важно, чтобы не потребовались изменения тестового модуля, т.к. иначе проектирование абстракции данных было ошибочно);

  21. свести материалы в отчет, раздел “Усовершенствованная реализация”;

  22. составить для разработанного типа “Руководство пользователя”, разместив его в виде комментария в заголовочном файле и включить его в отчет.



^ ВАРИАНТЫ ИНДИВИДУАЛЬНЫХ ЗАДАНИЙ
Простые проекты


  1. Тип данных “множество объектов”. Множество целых чисел для программирования задач теории конечных числовых множеств. (Сперва фиксированного размера на базе массива, затем динамическое множество на базе типа данных “список объектов”)

  2. Тип данных “стек объектов” (Сперва фиксированного размера на базе массива, затем динамический стек на базе типа данных “список объектов”).

  3. Типы данных “двумерный вектор” и “трехмерный вектор” для программирования задач аналитической геометрии на плоскости и в пространстве.

  4. Двоичное дерево.


Проекты средней сложности


  1. Тип данных “рациональное число” для программирования вычислительных задач в точной арифметике.

^ Предварительные замечания. Выполнение арифметических операций на компьютере отличается от математической теории тем, что в нашем распоряжении оказывается лишь конечное множество чисел. Это объясняется конечным представлением чисел в памяти ЭВМ и относится как к целому типу, так и к типу с плавающей точкой. Фактически, компьютерные числа с плавающей точкой описывают действительные числа с заданным количеством значащих цифр, т.е. некоторое подмножество рациональных чисел.

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

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

^ Дополнительные указания. Уделите особое внимание вопросу сокращения общих множителей в числителе и знаменателе при выполнении арифметических операций. На первом этапе представить число парой длинных целых и сокращать согласно алгоритму Евклида , при усовершенствовании класса наряду с числителем и знаменателем хранить их простые множители в виде массива (динамического) или списка. Операции следует перепрограммировать так, чтобы результат сразу получался в виде несократимой дроби. Далее, предусмотреть “округление” числа, когда несократимая дробь с большими абсолютными значениями числителя и знаменателя заменяется близкой (м.б. ближайшей) на числовой оси дробью, с меньшими числителем и знаменателем.

  1. Четверичное дерево.

  2. Тип данных “полином n-й степени” для программирования задач алгебры и анализа полиномов.

  3. Типы данных “окружность”, “дуга”, “круг”, “сектор”, “сегмент” для программирования задач построения чертежей школьной геометрии.

  4. Типы данных “отрезок”, “луч”, “прямая” для программирования задач построения чертежей школьной геометрии.

  5. Типы данных “треугольник общего вида”, “треугольник прямоугольный”, “треугольник равнобедренный”, “треугольник равносторонний” для программирования задач построения чертежей школьной геометрии.

  6. Типы данных “четырехугольник общего вида”, “прямоугольник”, “параллелограмм”, “ромб”, “квадрат” для программирования задач построения чертежей школьной геометрии.

  7. Вектор и матрица абстрактных объектов. Вектор-функция. Матрица Якоби.

  8. Выпуклый многоугольник

  9. Отображение. Ассоциативный массив. Словарь

  10. Типы данных “табличная функция одной переменной” и “табличная функция двух переменных” обеспечивающие интерполяцию, например, для задачи построения графика.


Сложные проекты


  1. Произвольный многоугольник

  2. 2n-ичное дерево.

  3. Тип данных “разреженный вектор абстрактных объектов произвольной размерности”

  4. Рабочая область базы данных

  5. Целое число произвольной длины

  6. Действительное число произвольной точности.

Добавить документ в свой блог или на сайт

Похожие:

Курсовой проект iconРеферат Курсовой проект состоит из графической части схема производства hno
Курсовой проект состоит из графической части (схема производства hno3 под давлением 0,35 мпа; общий вид абсорбционной колонны) и...

Курсовой проект iconКурсовой проект по курсу “Организация и методика производственного...
Задание на курсовой проект по курсу “Организация и методика производственного обучения”

Курсовой проект iconКурсовой проект По дисциплине Инновационная деятельность На тему:...

Курсовой проект iconКурсовой проект по дисциплине «Информатика»

Курсовой проект iconКурсовой проект по дисциплине «Маркетинг»

Курсовой проект iconКурсовой проект по дисциплине «менеджмент»

Курсовой проект iconКурсовой проект по дисциплине «Планирование на предприятии»

Курсовой проект iconКурсовой проект по дисциплине “ Архитектура компьютера”

Курсовой проект iconКурсовой Проект. На тему: ‘ Проектирование Сетей’

Курсовой проект iconКурсовой проект по дисциплине «Инновационный менеджмент»

Вы можете разместить ссылку на наш сайт:
Школьные материалы


При копировании материала укажите ссылку © 2013
контакты
uchebilka.ru
Главная страница


<