Описание рабочего окна Lazarus



Министерство образования и науки РФ

ФГБОУ ВО «Шадринский государственный педагогический университет»

Кафедра программирования и автоматизации бизнес-процессов

 

 

Программа нахождения обратной матрицы.

Курсовая работа по дисциплине

«Программирование»

 

направление подготовки:Прикладная информатика

(Профиль "Прикладная информатика в экономике")

 

Выполнил:

студент 842 группы

факультета информатики, математики и физики

Мисюк Андрей Сергеевич

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

канд. физ.-мат. наук, доцент,

Гордиевских Дмитрий Михайлович

Оценка:

_________________________

Подпись руководителя

_________________________

Нормоконтролер:

_________________________

 

 

Шадринск, 2018

Содержание

 

Введение. 3

1. Матрицы. Их виды и операции над ними. 4

2. Среда разработки Lazarus. 9

3. Разработка программы нахождения обратных матриц. 13

Заключение. 23

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

 


 

Введение

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

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

Объектисследования–средаразработкиLazarus.

Предмет исследования – Программа расчета обратных матриц.

Цельработы–написатьпрограмму нахождения обратных матриц всредеLazarus.

Длядостиженияуказаннойцелипотребуетсярешитьрядзадач:

1. Изучить матрицы, их свойства и операции над ними.

2. Рассмотреть графический интерфейс, особенности и инструменты разработки Lazarus.

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

Матрицы. Их виды и операции над ними

 

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

В математике существует достаточно большое множество различных матриц. Хотя раньше рассматривались матрицы, например треугольной формы, в настоящее время используются только прямоугольные. Впервые матрицы упоминаются в древнем Китае. Их называли волшебными квадратами и в основном использовали для решений линейных уравнений. Позже они встречались у арабских математиков. Первые же современные наработки теории появились в XVIIIвеке, в работах Габриэля Крамера. В его же честь и было названо правило Крамера, с помощью которого решались системы уравнений.[1]

Общий вид прямоугольной матрицы:

А=

Где n– количество столбцов, m – количество строк. iи j–номер столбца и строки соответственно.

Рассмотрим основные виды матриц.

Один из часто встречающихся видов – квадратная матрица. Ее отличительная особенность – это равное количество строк и столбцов. Так же она обладает некоторыми особенностями: только квадратные матрицы имеют обратную матрицу, диагонали, единичные, симметричные, диагональные и треугольные матрицы подвид только квадратных матриц. Некоторые операции и элементарные преобразования производятся только над этими матрицами. Так же существуют матрицы только с одним столбцом или только с одной строкой. Их называют вектор-столбец и вектор-строка соответственно.[1] Если же матрица содержит лишь один элемент, она называется единичной. Чаще всего приходится работать с прямоугольными и квадратными матрицами. Так как над квадратными матрицами проводится больше различных операций и преобразований, а так же более емкие вычисления, то мы решили остановиться на них, и более подробно изучить связанный с ними материал.

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

А=

Частный случай – диагональные и треугольные матрицы. Если все элементы матрицы, кроме тех, что расположены в диагонали, равны нулю, то она диагональная.

D=


 

Если в диагональной матрице все элементы диагонали равны единице, то это единичная матрица.

E=

Так же есть треугольные матрицы. В треугольных матрицах все элементы с одной из сторон диагонали равны нулю.[2]

T=

Рассмотрим основные операции, проводимые над матрицами. Часть таких операций нам знакома с начальной школы. Это сложение, умножение и т.д. Но в случае матриц данные операции имеют свои особенности. Для того чтобы сложить между собой две матрицы, они должны быть одного размера. Суммой матриц будет такая матрица, где каждый элемент является попарной суммой всех соответственных элементов исходных матриц. Как и в случае сложения обычных чисел, сложение матриц имеет те же свойства: коммутативность, ассоциативность, сложение с нулевой матрицей равно исходной, существует противоположная по знаку матрица.[1]

Рассмотрим умножение матриц и умножение матрицы на число. В случае, когда матрица умножается на число, результирующая матрица будет содержать в себе все элементы исходной, умноженные на это число. Но умножение матрицы на другую матрицу делается несколько сложнее и имеет ограничение: количество столбцов первой матрицы должно совпадать с количеством строк второй матрицы. Результирующие элементы итоговой матрицы есть попарная сумма произведений соответствующих столбцов первой и строк второй матриц. Как и сумма, произведение имеет свои свойства: ассоциативность, некоммутативность (как исключение, одна из матриц единичная), дистрибутивность. Если матрица умножается на число, то коммутативность так же справедлива для операции, как и ассоциативность.[1]

Любая квадратная матрица имеет свой определитель, или по-другому детерминант. Определитель обозначается как det(A), |A| или Δ|A|. В случае если матрица имеет только один элемент, ее определитель равен этому элементу. Если матрица второго порядка, то ее определитель равен разности произведения элементов главной диагонали и произведения элементов второй. Определитель матрицы большего порядка можно рассчитать по общей формуле: , где М – дополнительный минор к соответствующему элементу матрицы.[1]

Так же существуют транспонированные матрицы. Если поменять все строки и столбцы исходной матрицы, то получится транспонированная. Соответственно матрица размеров mxnв транспонированном виде будет иметь противоположные размеры: nxm. Для получения транспонированной матрицы следует записать все строки исходной в виде столбцов в том же порядке. Обозначение транспонированной матрицы: AT.

У многих матриц есть обратная матрица. Если исходную матрицу умножить на обратную, то результирующая матрица будет единичной.Если определитель исходной матрицы равен нулю, то обратной не существует.Обозначение обратной матрицы: A-1.Формула нахождения обратной матрицы: , где |A| - определитель матрицы,
- транспонированная матрица алгебраических дополнений.[2]

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


Среда разработки Lazarus

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

LazarusсоздавалсяпообразуиподобиюDelphi.Но,темнеменее,Lazarus–этосамостоятельноепрограммноеобеспечениеиимеетсвоипринципиальныеотличия[6].

Впервуюочередьстоитотметитьчтодваэтихпродуктапозиционируютабсолютноразнуюидеологию.ВотличииотBorlandDelphi,средаразработкиLazarusимеетлицензионноесоглашениекотороенетребуеткаких-либовыплатправообладателю.Дляиспользованияэтогопродуктанетребуютсяникакиефинансовыезатраты,втовремякакдляиспользованияBorlandDelphiпотребуетсясуммаоколо30тысячрублейдляприобретениялицензии.

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

Ещеодинизнемаловажныхфакторов–этокроссплатформенность.Программы,созданныеспомощьюLazarus,можнокомпилироватьдлябольшогоспектраоперационныхсистемиархитектурпроцессоров.ПрисозданиисвоегопроектавынестолкнетесьспроблемойреализациикаквсредеWindowsNT,Linux,MacOS,такилюбыхпопулярныхмобильныхплатформах,такихкакAndroid,SymbianилиIOS.Безпроблемподдерживаютсяпроцессорыx86,x64,ARM.[4].

Описание рабочего окна Lazarus

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

Рисунок 1. Окна рабочей среды Lazarus.

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

Неменееважноеокно–этоинспекторобъектов.Сегопомощьюможноконтролироватьвсеобъектыисобытия,программыиихнастройки.

Вверхнейчастиокнапоказываетсяиерархияобъектов,аснизу,расположенытривкладки:«Свойства»,«События»,«Избранное».

Окноредактораисходногокодапредназначенонепосредственнодлянаписаниясамогокодапрограммы.Вэтомокнепишутсястрокипрограммы.ДанноеокнооченьпохоженаокнообычногоблокнотаWindowsиимееттотженаборстандартныхфункций:копирование,вырезание,вставкаит.п.Помимонабораэтихоперацийредакторимеетинструментыприменимыедляболеекомфортнойразработкипрограмм.Весьфункционалредактораприсутствуетвменю«Правка»и«Поиск»главногоменюLazarus.[9]

Окноформынеимеетинтерфейсакактакового,вданномокнеотображаетсяинтерфейссоздаваемойпрограммы.

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

Написаниепрограммыможноразделитьнадваосновныхэтапа:

· Созданиевформетребуемыхкомпонентовдляеефункционала.

· Написаниестроккода,которыйсвязанскомпонентамииуправляетими.

Разберемэтидваэтапапопорядку.

Начнемспервогоэтапа–создадимформубудущегоприложения.Дляпростотыиспользуемклассическийпример:приложениепонажатиюкнопкинапишетвокне«Helloworld!».Дляэтогопонадобятсянесколькоинструментов:

· Кнопка,понажатиюкоторойбудетвысвечиватьсянужнаянадпись.

· Строковыйблок,внемвысветитсязаданнаянадпись.

Длясозданиякнопкивпанелиинструментовнужнонажатьнаобъект«кнопка».Онрасположенвовкладке«Standart»,наиконкеобъектаизображенакнопкаснадписью«ок».Посленажатиянаобъект,нужноразместитьеговокнеформы,втребуемомместе.

Далееразместимобъектстроки.Онтакжерасположенвовкладкестандартныхинструментовиимеетвидтрехпервыхбуквлатинскогоалфавита:«Abc».

Реализоватьзадачуможнодвумяспособами:

· Принажатиикнопкивстрокубудетзаписананужнаянамнадпись.

· Изначальнострокабудетневидима,нужнаянадписьбудетзаведенавстрокуизначально,апринажатиикнопки,строкастановитсявидимойиможнонаблюдатьрезультатзадачи.

Решениебудетболееправильным,еслииспользоватьпервыйспособ.Дляначаланужнонажатьнаобъектстроки,винспектореобъектовонназывается«label1».Всвойствахстроки,впараметре«caption»стираемсодержимоеиоставляемегопустым.

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

Длявыводанужнойфразывстрокутребуетсяобратитьсякобъекту«label1»,далееобратитьсякегосвойству«Caption».Операторбудетиметьследующийвид:«Label1.Caption:=».Длявыводанадписиеенужнопрописатьпослезнакаравно,заключитьвкавычкииобязательнонезабытьпоставитьвконцеточкусзапятой:«Label1.Caption:='Helloworld!';».Lazarusавтоматическиокраситзнакипрепинаниякраснымцветом,акомментарийвводимойфразысиним.

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

Рисунок 2. Пример работы простой программы.

Мы создали простую программу. Теперь изучена работа в среде Lazarus и можно приступать к непосредственному написанию программы.

Итак, в данном параграфе нами были рассмотрены основные принципы работы в среде программирования Lazarus. Были изучены все основные компоненты среды программирования, инструментарий, управление программой. Основные принципы взаимодействия всех этих компонентов. Была написана и протестирована простая программа для практического понимания изученного материала.


Дата добавления: 2018-05-12; просмотров: 381; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!