Поиск

Полнотекстовый поиск:
Где искать:
везде
только в названии
только в тексте
Выводить:
описание
слова в тексте
только заголовок

Рекомендуем ознакомиться

'Документ'
формате) Почта/скайп Размер футболки Как узнали о нашем фитнес-туре: Фейсбук Вконтакте Сайт www....полностью>>
'Конкурс'
Конкурс Племінна група / Breeding group competition(3-5 собак однієї породи, що народились в одному розпліднику та мають один префікс / 3-5 single bre...полностью>>
'Документ'
Сформированность познавательных процессов и их произвольность. .1. Уровень развития словесно - логического мышления: Высокий соответствующий возрастно...полностью>>
'Учебник'
Учитель предлагает рассмотреть слайды: картины И.И.Шишкина, И.И.Левитана, выставку прикладных видов искусства народов России, проживающих на территори...полностью>>

Главная > Пояснительная записка

Сохрани ссылку в одной из сетей:
Информация о документе
Дата добавления:
Размер:
Доступные форматы для скачивания:

Рег. № ___________

Дата регистрации ___________

ГОУ ВПО «Московский государственный открытый университет»

в г. Кропоткине

кафедра Информационных технологий

Разработка программы ведения родословного дерева

Пояснительная записка к курсовому проекту

по учебной дисциплине «Объектно-ориентированное программирование»

специальность 230105

«Программное обеспечение вычислительных машин и автоматизированных систем»

Выполнил:

Студент группы 41 ПО

Прытков А.Г

Руководитель:

Казанская Е.А

Защищена с оценкой

_____________________

«___»_______200__г.

_____________________

(подпись преподавателя)

г. Кропоткин

2009

СОДЕРЖАНИЕ

Разработка программы ведения родословного дерева 1

СОДЕРЖАНИЕ 2

ВВЕДЕНИЕ 3

5 ПРОГРАМНАЯ РЕАЛИЗАЦИЯ ВЕДЕНИЯ РОДОСЛОВНОГО ДЕРЕВА 17

5.1 Постановка задачи 17

5.2 Листинг программы 17

5.3 Работа программы 20

ЗАКЛЮЧЕНИЕ 23

СПИСОК ИСПОЛЬЗУЕМОЙ ЛИТЕРАТУРЫ 24

ВВЕДЕНИЕ

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

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

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

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

- изучение предметной области;

-изучение объектно-ориентированного программирования;

-изучение языка Borland С++.

1 ЭВОЛЮЦИЯ ТЕХНОЛОГИИ ПРОГРАММИРОВАНИЯ

На ранних этапах развития программирования, когда программы писались в виде последовательностей машинных команд, какая-либо технология программирования отсутствовала. Первые шаги в разработке технологии состояли в представлении программы в виде последовательности операторов. Написанию последовательности машинных команд предшествовало составление операторной схемы, отражающей последовательность операторов и переходы между ними. Операторный подход позволил разработать первые программы для автоматизации составления программ – так называемые составляющие программы.

В 1958 году были разработаны первые языки программирования, Фортран и Алгол-58. Программа на Фортране состояла из главной программы и некоторого количества процедур – подпрограмм и функций. Программа на Алголе-58 и его последующей версии Алголе-60 представляла собой единое целое, но имела блочную структуру, включающую главный блок и вложенные блоки подпрограмм и функций. Компиляторы для Фортрана обеспечивали раздельную трансляцию процедур и последующее их объединение в рабочую программу, первые компиляторы для Алгола предполагали, что транслируется сразу вся программа, раздельная трансляция процедур не обеспечивалась.

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

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

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

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

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

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

2 РАЗЛИЧИЯ ФУНКЦИОНАЛЬНОГО И ОБЪЕКТНО-ОРИЕНТИРОВАННОГО ПОДХОДОВОВ ПРОГРАММИРОВАНИЯ

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

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

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

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

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

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

Объектно-ориентированная база классов представляет собой иерархический набор (библиотеку) классов – строительных блоков для сборки новых уровней создаваемого программного продукта. Здесь хранятся классы «джентльменского набора» библиотек языков программирования, а также классы, описывающие понятия прикладных предметных областей.

Классы представляют собой накопленные знания о ранее изготовленных продуктах. База классов должна обеспечивать легкий поиск классов, их изучение, модификацию, включение новых классов. Язык и база классов объединяются в интегрированную объектно-ориентированную среду программирования, в которой все средства поддержки процесса разработки программ написаны на данном языке и входят на равных правах в состав базы классов. Типичными примерами таких средств являются графический многооконный интерфейс с пользователем, иерархические меню, компилятор, интерпретатор, отладчик, текстовый редактор.

Разработка программ по объектно-ориентированной технологии сводится к созданию новых классов, их тестированию и включению в состав объектно-ориентированной среды разработки.

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

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

Гибкость. Внесение изменений внутри объекта или класса совершенно не затрагивает его клиентов, т.е. тех объектов, которые его используют, разумеется, если внешний интерфейс объекта остается неизменным. Это фундаментальный принцип объектно-ориентированного программирования. Таким образом обеспечивается гибкость при программировании снизу-вверх.

В настоящее время объектно-ориентированный подход является одним из быстро развивающихся направлений в проектировании систем. Примером могут являться объектно-ориентированный анализ – методология разработки систем, предложенная Йорданом, объектно-ориентированное проектирование, объектно-ориентированное программирование, реализованное в многочисленных компиляторах C++, Object Pascal, Borland Pascal, Smalltalk.

3 ОБЪЕКТНО-ОРИЕНТИРОВАННЫЙ ПОДХОД

3.1 Основные идеи объектно-ориентированного подхода опираются на следующие положения

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

Таким образом, объектно-ориентированный подход предполагает, что при разработке программы должны быть определены классы используемых в программе объектов и построены их описания, затем созданы экземпляры необходимых объектов и определено взаимодействие между ними.

Понятия объекта и класса тесно связаны. Тем не менее, существует важное различие между этими понятиями. Класс – это абстракция существенных характеристик объекта. Класс – описание множеств объектов, которые разделяют одинаковые свойства, операции, отношения и семантику (смысл). Любой объект – просто экземпляр класса. Различают внутренне представление класса (реализацию) и внешнее представление (интерфейс).

Значительное увеличение сложности задач, решаемых с помощью компьютеров, приводит к увеличению размеров и сложности программ, что порождает трудности при их разработке и отладке. Рассмотрение любой сложной системы требует применения техники декомпозиции – разбиения на составляющие элементы. Известны две схемы декомпозиции: алгоритмическая декомпозиция и объектно-ориентированная декомпозиция.

В основе алгоритмической декомпозиции лежит разбиение по действиям – алгоритмам. Эта схема представления применяется в обычных программных средствах. Объектно-ориентированная декомпозиция обеспечивает разбиение по автономным лицам – объектам реального (или виртуального) мира. Эти лица (объекты) – более «крупные» элементы, каждый из них несет в себе и описания действий, и описания данных.

Объектно-ориентированное представление программного средства основывается на принципах абстрагирования, инкапсуляции, модульности и иерархической организации. Каждый из этих принципов не нов, но их совместное применение рассчитано на проведение объектно-ориентированной декомпозиции. Это определяет модификацию их содержания и механизмов взаимодействия друг с другом.

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

Инкапсуляция и абстракция – взаимодополняющие понятия: абстракция выделяет внешнее поведение  объекта, а инкапсуляция содержит и скрывает реализацию, которая обеспечивает это поведение. Инкапсуляция достигается с помощью информационной закрытости. Обычно скрываются структура объектов и реализация их методов. Инкапсуляция является процессом разделения элементов абстракции на секции с различной видимостью. Инкапсуляция служит для отделения интерфейса абстракции от ее реализации.

В языках С++, Object Pascal, Ada 95 абстракция классов и объектов формируют логическую структуру системы. При производстве физической структуры эти абстракции помещаются в модули. В больших системах, где классов сотни, модули помогают управлять сложностью. Модули служат физическими контейнерами, в которых объявляются классы и объекты логической разработки.

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

Определение классов и объектов выполняется в ходе логической разработки, а определение модулей – в ходе физической разработки системы. Эти действия сильно взаимосвязаны, осуществляются итеративно. Допустим, в Ada 95 мощным средством обеспечения модульности является пакет.

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

3.2 Два важных инструмента иерархических данных

В объектно-ориентированном программировании важными инструментами данных является структура из классов(«is a»-иерархия) и структура из объектов(«part of»-иерархия).

Чаще всего «is a»-иерархическая структура строится с помощью наследования. Наследование определяет отношение между классами, где класс разделяет структуру или поведение, определенные в одном другом (единичное наследование) или в нескольких других (множественное наследование) классах. Другая разновидность иерархической организации – «part of»-иерархическая структура – базируется на отношении агрегации. Агрегация не является понятием, уникальным для объектно-ориентированных систем. Например, любой язык программирования, разрешающий структуры типа «запись», поддерживает агрегацию. И все же агрегация особенно полезна в сочетании с наследованием: агрегация обеспечивает физическую группировку логически связной структуры, а наследование позволяет легко и многократно использовать эти общие группы в других абстракциях.

Рассмотрим более пристально объекты – конкретные сущности, которые существуют во времени и пространстве.

Объект – это конкретное представление абстракции. Объект обладает индивидуальностью, состоянием и поведением. Структура и поведение подобных объектов определены в их общем классе. Термины «экземпляры класса» и «объект» взаимозаменяемы.

Индивидуальность – это характеристика объекта, которая отличает его от всех других объектов.

В чистых объектно-ориентированных языках программирования операции могут объявляться только как методы – элементы классов, экземплярами которых являются объекты. Гибридные языки позволяют писать операции как свободные подпрограммы (вне классов). В общем случае все методы и свободные подпрограммы, ассоциированные с конкретным объектом, образуют протокол. Таким образом, протокол определяет оболочку допустимого поведения объекта и поэтому заключает в себе цельное (статическое и динамическое) представление объекта. Большой протокол полезно разделять на логические группировки, разделяющие пространство поведения объект, обозначают роли, которые может играть объект. С точки зрения внешней среды важное значение имеет такое понятие, как обязанности объекта. Обязанности означают обязательства объекта обеспечить определенное поведение. Обязанностями объекта являются все виды обслуживания, которые он предлагает клиентам. В мире объект играет определенные роли, выполняя свои обязанности.

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

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

4 ОЦЕНКА СЛОЖНОСТИ ПРОГРАММНЫХ СИСТЕМ

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

Для любого инженерного продукта метрики должны ориентироваться на его уникальные характеристики. С точки зрения метрик выделяют пять характеристик объектно-ориентированных систем: локализацию, инкапсуляцию, информационную закрытость, наследование и способы абстрагирования объектов.

Локализация фиксирует способ группировки информации в программе. В классических методах, где используется функциональная декомпозиция, информация локализуется вокруг функций. Функции в них реализуются как процедурные модули. В методах, управляемых данными, информация группируется вокруг структур данных. В объектно-ориентированной среде информация группируется внутри классов или объектов (инкапсуляция, как данных, так и процессов). Поскольку в классических методах основной механизм локализации – функция, программные метрики ориентированы на внутреннюю структуру или сложность функций (длина модуля, связность, цикломатическая сложность) или на способ, которым функции связываются друг с другом (сцепление модулей). Так как в объектно-ориентированной системе базовым элементом является класс, то локализация здесь основывается на объектах. Поэтому метрики должны применяться к классу (объекту) как к комплексной сущности. Кроме того, между операциями (функциями) и классами могут быть отношения не только «один-к-одному». Поэтому метрики, отображающие способы взаимодействия классов, должны быть приспособлены к отношениям «один-ко-многим», «многие-ко-многим».

Инкапсуляция – упаковка (связывание) совокупности элементов. Для классических программных средств примерами низкоуровневой инкапсуляции являются записи и массивы. Механизмом инкапсуляции среднего уровня являются подпрограммы. В объектно-ориентированных системах инкапсулируются обязанности класса, представляемые его свойствами, операциями и состояниями. Для метрик учет инкапсуляции приводит к смещению фокуса измерений с одного модуля на группу свойств и обрабатывающих модулей (операций). Кроме того, инкапсуляция переводит измерения на более высокий уровень абстракции. Напротив, классические метрики ориентированы на низкий уровень – количество булевых условий (цикломатическая сложность) и количество строк программы.

Информационная закрытость делает невидимыми операционные детали программного компонента. Другим компонентам доступна только необходимая информация. Качественные объектно-ориентированные системы поддерживают высокий уровень информационной закрытости. Таким образом, метрики, измеряющие степень достигнутой закрытости, тем самым отображают качество объектно-ориентированного проекта.

Наследование – механизм, обеспечивающий тиражирование обязанностей одного класса в другие классы. Наследование распространяется через все уровни иерархии классов. Стандартные программные средства не поддерживают эту характеристику. Поскольку наследование – основная характеристика объектно-ориентированных систем, на ней фокусируются многие объектно-ориентированные метрики (количество детей – потомков класса, количество родителей, высота класса в иерархии наследования). 

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

5 ПРОГРАМНАЯ РЕАЛИЗАЦИЯ ВЕДЕНИЯ РОДОСЛОВНОГО ДЕРЕВА

5.1 Постановка задачи

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

5.2 Листинг программы

#include

#pragma hdrstop

#include "Unit1.h"

#include "Unit2.h"

#include "Unit3.h"

#include "Unit4.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"

TForm1 *Form1;

//---------------------------------------------------------------------------

__fastcall TForm1::TForm1(TComponent* Owner)

: TForm(Owner)

{

Form1->TreeView1->Items->Clear();

}

//---------------------------------------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)

{

if ((Form1->TreeView1->Selected==NULL) && (Form1->TreeView1->Items->Count>0))

{

ShowMessage("Не выбран не один узел");

}

else

{

Form1->Enabled=false;

Form2->ShowModal();

}

}

//---------------------------------------------------------------------------

void __fastcall TForm1::Button2Click(TObject *Sender)

{

if ((Form1->TreeView1->Selected==NULL) && (Form1->TreeView1->Items->Count>0))

{

ShowMessage("Не выбран не один узел");

}

else

{

Form1->Enabled=false;

Form3->ShowModal();

}

}

//---------------------------------------------------------------------------

void __fastcall TForm1::Button3Click(TObject *Sender)

{

if ((Form1->TreeView1->Selected==NULL) && (Form1->TreeView1->Items->Count>0))

{

ShowMessage("Не выбран не один узел");

}

else

{

AnsiString str;

int i, j;

str=Form1->TreeView1->Selected->Text;

i=1;

j=str.Pos(' ');

Form4->Edit1->bString(i, j-1);

str.Delete(i, j);

j=str.Pos(' ');

Form4->Edit2->bString(i, j-1);

str.Delete(i, j);

j=str.Pos(' ');

Form4->Edit3->bString(i, j-1);

str.Delete(i, j+2);

j=str.Pos(' ');

Form4->Edit4->bString(i, j-3);

//str.Delete(i, j);

Form1->Enabled=false;

Form4->ShowModal();

}

}

//---------------------------------------------------------------------------

void __fastcall TForm1::Button4Click(TObject *Sender)

{

if ((Form1->TreeView1->Selected==NULL) && (Form1->TreeView1->Items->Count>0))

{

ShowMessage("Не выбран не один узел");

}

else

{

Form1->TreeView1->Selected->Delete();

if (!Form1->TreeView1->Items->Count)

{

Form1->Button2->Enabled=false;

Form1->Button3->Enabled=false;

Form1->Button4->Enabled=false;

Form1->Button5->Enabled=false;

}

}

}

//---------------------------------------------------------------------------

void __fastcall TForm1::Button5Click(TObject *Sender)

{

Form1->TreeView1->Items->Clear();

Form1->Button2->Enabled=false;

Form1->Button3->Enabled=false;

Form1->Button4->Enabled=false;

Form1->Button5->Enabled=false;

}

//---------------------------------------------------------------------------

void __fastcall TForm1::Button6Click(TObject *Sender)

{

Form1->Close();

}

5.3 Работа программы

Разработанная программа имитирует родословное дерево с возможностью изменение и добавление данных.

После запуска программы на экране появляется экранная форма исходный вид которой представлен на рисунке 5.3.1

Рисунок 5.3.1 – Главное окно программы

Рисунок 5.3.2 –Добавление узла.

Рисунок 5.3.3 –Родословное дерево.

Рисунок 5.3.4 – Изменение узла

ЗАКЛЮЧЕНИЕ

В результате выполнения данного курсового проекта были решены поставленные задачи:

-рассмотрено понятие объектно-ориентированного программирования;

-рассмотрена история объектно-ориентированного программирования;

-изучен язык объектно-ориентированного программирования C++Builder;

-в результате на языке программирования C++ написана программа, имитирующая принцип работы криптографического алгоритма RSA в сети.

Для программной реализации был выбран язык программирования Borland C++.

СПИСОК ИСПОЛЬЗУЕМОЙ ЛИТЕРАТУРЫ

  1. Антони Синтес Освой самостоятельно объектно-ориентированное программирование за 21 день = Sams Teach Yourself Object-Oriented Programming in 21 Days. — М.: «Вильямс», 2002. — С. 672. — ISBN 0-672-32109-2

  2. Гради Буч, Объектно-ориентированный анализ и проектирование с примерами приложений на С++ — Бином, 1998. ISBN 0-8053-5340-2, ISBN 5-7989-0067-3, ISBN 5-7940-0017-1

  3. Иан Грэхем Объектно-ориентированные методы. Принципы и практика = Object-Oriented Methods: Principles & Practice. — 3-е изд. — М.: «Вильямс», 2004. — С. 880. — ISBN 0-201-61913-X

  4. Петер Коуд (Дэвид Норт, Марк Мэйфилд) «Объектные модели. Стратегии, шаблоны и приложения» . — М.: «Вильямс», 2002. — С. 350. — ISBN 0-123-32109-4



Похожие документы:

  1. Пояснительная записка Муниципальное бюджетное общеобразовательное учреждение «Гимназия №13 г. Аргун» (бывшая средняя школа №4)

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

    Образовательная программа
    ... образования по обществознанию для 5-9 классов СОДЕРЖАНИЕ 1. Структура учебной программы по обществознанию……………………...3 2. Пояснительная записка……………………………………………………….4 2.1 Общая характеристика учебной программы по обществознанию ...
  3. Программа личностного развития и формирования универсальных учебных действий у обучающихся на ступени начального общего образования (личностные и метапредметные результаты)

    Программа
    ... . – М.: Баласс, 2011. Рабочая программа по предмету «Технология» I. Пояснительная записка Учебный предмет «Технология» в начальной школе ... утверждение, а описание последовательности действий; • объектно-ориентированный подход: самое важное – объекты, а ...
  4. Программы учебных предметов в 7-9-х классах Русский язык

    Пояснительная записка
    ... Родословная ... дисциплин по примерному учебному плану. Программа содержит следующие разделы: – пояснительная записка ... проекта; - разработка ... нивелирование; г) ориентирование. 10. Дополни ... учебно-познавательной деятельности: проблемное и программированное ...
  5. Образовательная программа начального общего образования гбоу сош №411

    Образовательная программа
    ... части на поведение всей системы; объектно-ориентированный подход – постановка во главу угла ... экспозиции. Программа по технологии (для четырёхлетней начальной школы) О.А. Куревина, Е.А. Лутцева I. Пояснительная записка Учебный предмет «Технология ...

Другие похожие документы..