на тему рефераты Информационно-образоательный портал
Рефераты, курсовые, дипломы, научные работы,
на тему рефераты
на тему рефераты
МЕНЮ|
на тему рефераты
поиск
Разработка приложения для Windows, которое обеспечивает выполнение операций сложения, вычитания и умножения над матрицами целых чисел

Разработка приложения для Windows, которое обеспечивает выполнение операций сложения, вычитания и умножения над матрицами целых чисел

Введение

Цель курсовой работы является отражение приобретенных знаний и практические навыки по курсу “Программирование на языке высокого уровня”.

Задача курсовой работы - разработать приложение для Windows, которое обеспечивает выполнение операций сложения, вычитания и умножения над матрицами целых чисел. Выбор выполняемой операции осуществляет пользователь.

Результатом решения является:

а) пояснительная записка, составленная с учетом требования стандартов ЕСПД;

б) исполняемый файл программы, прилагаемый к пояснительной записке на диске. Для решения поставленной задачи как основные использованы следующие источники: Бобровский, С. И. Технологии Delphi 2006. Новые возможности- СПб. : Питер, 2006; Культин, Н. Б. Основы программирования в Delphi 7 - СПб. : БХВ-Петербург, 2003.

Для реализации данной задачи была использована среда Delphi 6.

Любая программа в DELPHI состоит из файла проекта (файл с расширением DPR) и одного или нескольких модулей (файлы с расширением PAS). Каждый из таких файлов описывает программную единицу Object Pascal.

Файл проекта представляет собой программу, написанную на языке Object Pascal и предназначенную для обработки компилятором. Эта программа автоматически создается DELPHI и содержит лишь несколько строк. (View/ProjectSource).

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

Любой модуль имеет следующую структуру:

· Заголовок

· Секция интерфейсных объявлений

· Секция реализаций

· Секция инициации

Терминатор Один из модулей, главный, содержит инструкции, с которых начинается выполнение программы. Главный модуль приложения формирует DELPHI.

Заголовок открывается зарезервированным словом UNIT, за которым следует имя модуля и точка с запятой. Имя модуля служит для его связи с другими модулями и основной программой. Эта связь устанавливается специальным предложением

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

Секция реализаций открывается словом IMPLEMENTATION, содержит описание подпрограмм. В ней могут появляться локальные для модуля объекты.

Секция инициации - открывается словом BEGIN.

Терминатором модуля, как и терминатором программы является END с точкой.

Наиболее распространенным типом модуля в DELPHI является ФОРМА - модуль со связанным с ним окном. Интерфейсная часть такого модуля обычно содержит объявление нового класса, и автоматически обновляется в ходе конструирования окна. В интерфейсной части модуля-формы содержится также объявление объекта для соответствующего оконного класса.

Кроме того, есть модули, не связанные с видимыми окнами:

Модули данных имеют связанные с ними окна, однако эти окна никогда не появляются на экране. Необходимость в них появляется при использовании, например, компонентов доступа к базам данных страницы DATA ACCESS, и т.д.

Модули динамических библиотек предназначены для создания широко используемых в WINDOWS динамически связываемых библиотек DLL.

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

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

В основе классов лежат три фундаментальных принципа, которые называются инкапсуляция, наследование и полиморфизм.

Инкапсуляция.

Класс представляет собой единство трех сущностей - полей, методов и свойств. Объединение этих сущностей в единое целое и называется инкапсуляцией. Библиотека классов Delphi - это, фактически, набор «кирпичиков», созданных программистами Borland для построения программ.

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

Type TMyClass = class aIntField :Integer; aStrField :String; aObjField :Tobject; end;

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

Type TMyClass = class Function MyFunc (aPar : Integer) :Integer; Procedure MyProc;

end;

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

Наследование

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

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

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

При решении задачи придержана техника пошаговой детализации, использованы циклические структуры.

В программе, предусмотрен вывод справки о программе и информации о разработчике.

1. Разработка эскизного и технического проектов программы

Придержан стандарт ГОСТ 19.404-79 к содержанию и оформлению программного документа “Пояснительная записка”, входящего в состав документов на стадиях разработки эс кизного и технического проектов программы.

1.1 Задание

Тема: Разработка приложения для Windows, представляющего собой выполнение операции над матрицами.

Условие задачи:

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

1.2 Назначение и область применения

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

Поскольку ставится задача разработать приложение для Windows, то использоваться программа может только под управлением ОС Windows.

1.3 Технические характеристики

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

Постановка задачи - р
азработать проект, который обеспечивает выполнение операций сложения, вычитания и умножения над матрицами целых чисел. Выбор выполняемой операции осуществляет пользователь. Входная информация по задаче - две целочисленные матрицы, над которыми будут выполняться операции сложения, вычитания и умножения. Выходная информация это то же матрица, которая является результатом выбранной операции. Для программирования данной задачи используются структура данных - массив и циклические конструкции. Массив - совокупность однотипных элементов. Двумерный массив называются матрицей. Матрица определяется именем, размерность и типом. Например А[4,3] - матрица из 4 строк и 3 столбцов. Доступ к элементам массива осуществляется с помощью индексов. Для доступа к элементам матрицы используются два индекса. Например A[I,j] -элемент на пересечений i - строки, j- столбца. Операции сложения и вычитания матриц выполняются по элементно, т.е

С[I,j]=a[I,j]+b[I,j]; или С[I,j]=a[I,j]- b[I,j];

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

С[1,1]=a[1,1]*b[1,1]+a[1,2]*b[2,1]+a[1,3]*b[3,1];

Чтобы произвести операции сложения и вычитания размеры матриц должны быть одинаковыми. Для выполнения операции умножения количество столбцов первой матрицы должно быть одинаковым количеством строк второй матрицы. В программе для удобства пользователю исходные матрицы формируются с помощью генерации случайных чисел. Использованы случайные числа в пределах от 0 до 10.

1.3.2 Описание алгоритма

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

Операцию должен выбрать пользователь.

Так как выполняются операции над матрицами, необходимо инициализировать исходные матрицы. Инициализация каждой матрицы выполняется вызовом отдельных процедур, т.е. нажатием на Label1 и Label2. Выбор операции осуществляется нажатием на соответствующую кнопку Button1, Button2, или Button3. Ниже в рисунке 1. приведена схема обобщенного алгоритма.

В программе решаются три независимые друг от друга подзадачи.

1. Сложение двух матриц.

2. Вычитание двух матриц.

3. Умножение двух матриц.

Схема алгоритма сложения матриц приведена на рисунке 2.

Рисунок 2. Сложение двух матриц

Схема алгоритма вычитания матриц приведена на рисунке 3.

Рисунок 3. Вычитание двух матриц

1.3.3 Организация входных и выходных данных

Входными данными в данной задаче являются исходные матрицы размером 10х10. Чтобы выполнить операции сложения и вычитания матрицы должны иметь одинаковые размеры. А для операции умножения количество столбцов первой матрицы должно быть одинаковым количеством строк второй матрицы. Поэтому для всех операции подходят квадратные матрицы.

Выходными данными является матрица результата.

В программе для удобства исходные матрицы формируются случайными числами.

1.3.4 Выбор состава технических и программных средств

Задание на курсовую работу
- разработка приложения для Windows, поэтому использована среда разработки приложений Delphi.

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

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

TStringGrid - служит для представления текстовых данных в виде таблицы. Доступ к каждому элементу таблицы происходит через свойство Cell.

TButton позволяет выполнить какие-либо действия при нажатии кнопки во время выполнения программы. В Delphi все делается очень просто. Поместив TButton на форму, по двойному щелчку можно создать заготовку обработчика события нажатия кнопки. Над объектами проекта использованы события Show, Create, onClick, Close.

Для полноценной работы данной программы необходимы следующие ресурсы компьютера: процессор Pentium IV или Celeron 2.0Ghz.

Оперативная память не менее 512 Мбайт, достаточное количество свободного места на диске - порядка 1 Гбайт.

2. Разработка рабочего проекта

2.1 Разработка программы

Проект программы содержит три окна:

1. Form1 - главное окно (выполнение операции над матрицами).

2. Form2 - справка о разработчике.

3. Form3 - справка о программе.

Окно Form1 (рисунок 3).

Рисунок 3. Главное окно программы - Form1

Ниже приведены описание компонентов, некоторые похожие компоненты не описаны.

Компонент Form1

Свойства:

Сaption - Курсовая работа по программированию;

Border - bsSingle;

BiSystemMenu - false;

BiMinimaze - false;

BiHelp - False;

События: нет.

1- компонент TМainMenu

Свойства:

object MainMenu1: TMainMenu

Items

Справка (N1) О разработчике (N3) О программе(N4)

Выход (N2)

События:

Для N1 - событие BitBtn1Click (приводится ниже).

Страницы: 1, 2



© 2003-2013
Рефераты бесплатно, курсовые, рефераты биология, большая бибилиотека рефератов, дипломы, научные работы, рефераты право, рефераты, рефераты скачать, рефераты литература, курсовые работы, реферат, доклады, рефераты медицина, рефераты на тему, сочинения, реферат бесплатно, рефераты авиация, рефераты психология, рефераты математика, рефераты кулинария, рефераты логистика, рефераты анатомия, рефераты маркетинг, рефераты релиния, рефераты социология, рефераты менеджемент.