Список использованных источников. На этом листе должно быть кратко изложено содержание работы.

Реферат

 

На этом листе должно быть кратко изложено содержание работы.

1. Переписано задание.

2. Задание было выполнено с использованием С++ включая стандартную библиотеку STL и ООП.

3. Для тестирования функций, классов и методов были написаны тестовые программы.

 

 


Содержание

 

Введение………………………………………………………………………….5

Основная часть…………………………………………………………………...7

1. Цель работы и средства ее достижения…………………………………..7

2. Описание алгоритмов……………………………………………………..9

3. Тексты программ………………………………………………………….11

4. Результаты расчетов………………………………………………………13

Заключение……………………………………………………………………….15

Список использованных источников…………………………………………...16

 


Введение

Здесь требуется осветить следующие темы.

1. Програграммирование с использованием встроенных типов

2. Встроенные массивы и указатели

3. Встроенные массивы в качестве параметров функций.

4. Динамические массивы

5. Многомерные массивы

6. С-строки

7. Назначение и состав стандартной библиотеки STL.

8. Проектирование и использование пользовательских классов

 

Может быть, для пункта 8 будет полезен следующий текст.

 

 

Объектно-ориентированное, или объектное, программирование (в дальнейшем ООП) — парадигма программирования, в которой основными концепциями являются понятия объектов и классов.

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

В центре ООП находится понятие объекта. Объект — это сущность, которой можно посылать сообщения, и которая может на них реагировать, используя свои данные. Данные объекта скрыты от остальной программы. Сокрытие данных называется инкапсуляцией. Наличие инкапсуляции достаточно для объектности языка программирования, но ещё не означает его объектной ориентированности — для этого требуется наличие наследования. Но даже наличие инкапсуляции и наследования не делает язык программирования в полной мере объектным с точки зрения ООП. Основные преимущества ООП проявляются только в том случае, когда в языке программирования реализован полиморфизм; то есть возможность объектов с одинаковой спецификацией иметь различную реализацию.

Следует выделить основные понятия ООП.

Абстрагирование — это способ выделить набор значимых характеристик объекта, исключая из рассмотрения незначимые. Соответственно, абстракция — это набор всех таких характеристик.

Инкапсуляция — это свойство системы, позволяющее объединить данные и методы, работающие с ними, в классе и скрыть детали реализации от пользователя.

Наследование — это свойство системы, позволяющее описать новый класс на основе уже существующего с частично или полностью заимствующейся функциональностью. Класс, от которого производится наследование, называется базовым, родительским или суперклассом. Новый класс — потомком, наследником или производным классом.

Полиморфизм — это свойство системы использовать объекты с одинаковым интерфейсом без информации о типе и внутренней структуре объекта.

Класс — является описываемой на языке терминологии (пространства имён) исходного кода моделью ещё не существующей сущности (объекта). Фактически он описывает устройство объекта, являясь своего рода чертежом. Говорят, что объект — это экземпляр класса. При этом в некоторых исполняющих системах класс также может представляться некоторым объектом при выполнении программы посредством динамической идентификации типа данных. Обычно классы разрабатывают таким образом, чтобы их объекты соответствовали объектам предметной области.

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

Методы — процедуры и функции, связанные с классом. Они определяют действия, которые можно выполнять над объектом такого типа, и которые сам объект может выполнять.

Появление в ООП отдельного понятия класса закономерно вытекает из желания иметь множество объектов со сходным поведением. Класс в ООП — это в чистом виде абстрактный тип данных, создаваемый программистом. С этой точки зрения объекты являются значениями данного абстрактного типа, а определение класса задаёт внутреннюю структуру значений и набор операций, которые над этими значениями могут быть выполнены. Желательность иерархии классов (а значит, наследования) вытекает из требований к повторному использованию кода — если несколько классов имеют сходное поведение, нет смысла дублировать их описание, лучше выделить общую часть в общий родительский класс, а в описании самих этих классов оставить только различающиеся элементы.

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

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

Объектно-ориентированное проектирование состоит в описании структуры и поведения проектируемой системы, то есть, фактически, в ответе на два основных вопроса:

— Из каких частей состоит система.

— В чём состоит ответственность каждой из частей.

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

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

Большое значение имеет правильное построение иерархии классов. Одна из известных проблем больших систем, построенных по ООП-технологии — так называемая проблема хрупкости базового класса. Она состоит в том, что на поздних этапах разработки, когда иерархия классов построена и на её основе разработано большое количество кода, оказывается трудно или даже невозможно внести какие-либо изменения в код базовых классов иерархии (от которых порождены все или многие работающие в системе классы). Даже если вносимые изменения не затронут интерфейс базового класса, изменение его поведения может непредсказуемым образом отразиться на классах-потомках. В случае крупной системы разработчик базового класса просто не в состоянии предугадать последствия изменений, он даже не знает о том, как именно базовый класс используется и от каких особенностей его поведения зависит корректность работы классов-потомков.

 


Основная часть

 

 

1. Цель работы и средства ее достижения

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

 

Переписать задание.

Какой компилятор С++ использовали.

 

 

2. Описание алгоритмов

 

 

Описание смысла переменных и подпрограмм.

 

3. Тексты программ

 

 

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

 

4. Результаты тестирования

 

Картинки (скриншоты какого-нибудь вывода на экран).

 


Заключение

 

В результате работы над настоящей Курсовой Работой были достигнуты следующие цели:

— разработаны программные реализации заданных алгоритмов, классов и методов;

— проведено тестирование программной реализации заданных алгоритмов и классов;

— получен навык применения технологий объектно-ориентированного программирования;

— получен навык работы с языком С++;

— получен навык подготовки и оформления научно-технической документации.

 

Можете придумать еще что-нибудь сами в том же духе.

 


Список использованных источников

 

1. Борисенко. Основы программирования.

2. Шилдт Г. — Справочник по С/С++.

 

3. Джамса К. Учимся программировать на языке С++. М.: Мир, 1997 — 320с.

 

4. Динман М. И. C++. Освой на примерах.СПб.: БХВ-Петербург, 2006 — 384с.

 

5. Лафоре Р. - Объектно-ориентированное программирование в С++. СПб.: Питер, 2006 — 923с.

 

6. Хенкеманс Д. Ли М. - Программирование на C++. СПб.: Символ-Плюс, 2002 — 416с

 

Если в тексте есть ссылки на источники, то лучше их приводить в порядке появления ссылок.