Курсовая с практикой на тему Разработка виндовс приложений: Вычисление ранга матрицы
-
Оформление работы
-
Список литературы по ГОСТу
-
Соответствие методическим рекомендациям
-
И еще 16 требований ГОСТа,которые мы проверили
Введи почту и скачай архив со всеми файлами
Ссылку для скачивания пришлем
на указанный адрес электронной почты
Содержание:
Введение 5
1. Теоретичекая часть 8
1.1 Краткая история ООП 8
1.2 Объектно-ориентированное программирование на C# 9
1.2.1 Объектная парадигма в C# 9
1.2.2 Поля класса 13
1.2.3 Доступ к полям 13
1.2.4 Методы класса 13
1.2.5 Методы-свойства 14
2. Описание программного продукта 19
2.1. Общие сведения. 19
2.2. Функциональное назначение. 19
2.3. Описание логической структуры. 19
2.4. Требования к техническому обеспечению. 25
2.5. Вызов программы. 25
2.6. Входные данные. 25
2.7. Выходные данные. 25
2.8. Инструкция по использованию программы 25
2.9. Описание тестовых прогонов. 26
Заключение 30
Список использованных источников 31
Приложение. Текст программы 32
Введение:
Объектно-ориентированное программирование (ООП) — одна из парадигм программирования, которая рассматривает программу как множество «объектов», которые взаимодействуют между собой. Основу ООП составляют три основных концепции: инкапсуляция, наследование и полиморфизм. Одним из преимуществ ООП является лучшая модульность программного обеспечения (тысячу функций процедурного языка в ООП можно заменить несколькими десятками классов со своими методами). Невзирая на то, что эта парадигма появилась в 1960-тих годах, она не имела широкого приложения к 1990-тым, когда развитие компьютеров и компьютерных сетей позволило писать чрезвычайно объемное и сложное программное обеспечение, которое заставило пересмотреть подходы к написанию программ. Сегодня много языков программирования или поддерживают ООП или же являются полностью объектно-ориентированными (в частности, Java, C#, C++, Python, PHP, Ruby и Objective — C, ActionScript 3).
Объектно-ориентированное программирование уходит своими корнями к созданию языка программирования Симула в 1960-тых годах, одновременно с усилением дискуссий о кризисе программного обеспечения. Вместе с тем, как усложнялось аппаратное и программное обеспечение, было очень трудно сохранить качество программ. Объектно-ориентированное программирование частично решает эту проблему путем акцентирования модульности программы.
В отличие от традиционных взглядов, когда программу рассматривали как набор подпрограмм, или как перечень инструкций компьютеру, ООП программы можно считать совокупностью объектов. В соответствии с парадигмой объектно-ориентированного программирования, каждый объект способен получать сообщение, обрабатывать данные, и посылать сообщение другим объектам. Каждый объект — своеобразный независимый автомат с отдельным назначением и ответственностью.
Объектно-ориентированное программирование — это метод программирования, основанный на представлении программы в виде совокупности взаимодействующих объектов, каждый из которых является экземпляром определенного класса, а классы являются членами определенной иерархии наследования. Программисты сначала пишут класс, а на его основе при выполнении программы создаются конкретные объекты (экземпляры классов). На основе классов можно создавать новые, которые расширяют базовый класс и таким образом создается иерархия классов.
По мнению Алана Кея, разработчика языка Smalltalk, которого считают одним из «родителей-основателей» ООП, объектно-ориентированный подход заключается в следующем наборе основных принципов :
• Все является объектами.
• Все действия и расчеты производятся путем взаимодействия (обмена данными) между объектами, при котором один объект требует, чтобы другой объект произвел некоторое действие. Объекты взаимодействуют, посылая и получая сообщения. Сообщение — это запрос на выполнение действия, дополненный набором аргументов, которые могут понадобиться при выполнении действия.
• Каждый объект имеет независимую память, которая состоит из других объектов.
• Каждый объект является представителем (экземпляром) класса, который выражает общие свойства объектов.
• В классе задается поведение (функциональность) объекта. Таким образом все объекты, которые являются экземплярами одного класса, могут производить одни и те же действия.
• Классы организованы в единственную древовидную структуру с общим корнем, которая называется иерархией наследования. Память и поведение, связанные с экземплярами некоторого класса, автоматически доступны любому классу, расположенному ниже в иерархическом дереве.
Таким образом, программа представляет собой набор объектов, которые характеризуются состоянием и поведением. Объекты взаимодействуют, используя сообщения. Строится иерархия объектов: программа в целом — это объект, для выполнения своих функцій. Она обращается к объектам, содержащимся в нем, которые, в свою очередь, выполняют запрос путем обращения к другим объектам программы. Конечно, во избежание бесконечной рекурсии в обращениях, на каком-то этапе объект трансформирует запрос в сообщение к стандартным системным объектам, которые поставляются языком и средой программирования. Устойчивость и управляемость системы обеспечиваются за счет четкого распределения ответственности объектов (за каждое действие отвечает определенный объект), однозначного определения интерфейсов межобъектного взаимодействия и полной изолированности внутренней структуры объекта от внешней среды (инкапсуляции).
Заключение:
Данный курсовой проект посвящен вопросам создания программных продуктов с использованием объектно-ориентированного программирования.
В процессе выполнения курсового проекта были изучены теоретические основы ООП, история его возникновения, основные принципы программирования ООП-программ.
В проекте решена задача вычисления ранга матрицы, относящаяся к классу математических задач. При составлении алгоритма решения задачи были рассмотрены различные подходы, приводящие к результату. Для вычисления ранга матрицы был выбран классический подход, заключающийся в вычислении детерминантов всех возможных миноров матрицы.
Программа представляет собой Windows-приложение, спроектированное в визуальной оболочке MS Visual Studio 2010.
Проведенное тестирование работоспособности программы показало, что программа работает корректно на всех тестовых примерах.
Фрагмент текста работы:
1. Теоретичекая часть
1.1 Краткая история ООП
ООП возникло в результате развития идеологии процедурного программирования, где данные и подпрограммы (процедуры, функции) их обработки формально не связаны. Для дальнейшего развития объектно-ориентированного программирования большое значение имеют понятия события (так называемое событийно-ориентированное программирование) и компоненты (компонентное программирование, КОП).
Формирование КОП от ООП состоялись, так же как формирования модульного от процедурного программирования: процедуры сформировались в модули — независимые части кода к уровням сборки программы, так объекты сформировались в компоненты — независимые части кода от уровня выполнения программы. Взаимодействие объектов происходит с помощью сообщений. Результатом дальнейшего развития ООП, по-видимому, будет агентно-ориентированное программирование, где агенты — независимые части кода на уровне выполнения.
Взаимодействие агентов происходит с помощью изменения среды, в котором они находятся.
Языковые конструкции, конструктивно не связанные непосредственно с объектами, но необходимые им для их безопасности (исключительные ситуации, проверки) и эффективной работы, инкапсулируются от них в аспекты (в аспектно — ориентированном программировании). Субъектно-ориентированное программирование расширяет понятие объектов путем обеспечения более унифицированного и независимого взаимодействия объектов.
Первым языком программирования, в котором были предложены принципы объектной ориентированности, была Симула. На момент своего появления (в 1967 году), этот язык программирования предложил революционные идеи: объекты, классы, виртуальные методы и тому подобное, однако это все не было воспринято современниками как что-то грандиозное. Тем не менее, большинство концепций были развиты Аланом Кейем и Дэном Ингаллсом в языке Smalltalk. Именно он стал первым широко распространенным объектный — ориентированным языком программирования.
В настоящее время количество прикладных языков программирования (Java, C#, C++, Python, PHP, Ruby и Objective — C, ActionScript 3), которые реализуют объектный — ориентированную парадигму, является наибольшим по отношению к другим парадигмам. В области системного программирования к сим порам применяется парадигма процедурного программирования, и общепринятым языком программирования является язык C. Хотя при взаимодействии системного и прикладного уровней операционных систем стали заметно влиять языки объектно-ориентированного программирования. Например, одной из самых распространенных библиотек мультиплатформенного программирования является объектно-ориентированная библиотека Qt, написанная языком C++.