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



Введение

 

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

 


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

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






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