это быстро и бесплатно
Оформите заказ сейчас и получите скидку 100 руб.!
Ознакомительный фрагмент работы:
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РЕСПУБЛИКИ КАЗАХСТАН
КОНТРОЛЬНАЯ РАБОТА
по дисциплине «Инструментальные средства разработки программных средств»
На тему: «Действия над матрицами»
Выполнил:
студент гр.08-ВТ3-3
Проверил:
Преподаватель
Индивидуальное задание.
Задание: Реализация действий над матрицами (сложение, вычитание, умножение, обращение, транспонирование)
Технология: Automation, позднее связывание.
Тип (имя) сервера: MS Excel.
Формулы расчёта.
Сложение матриц.
Результатом сложения матриц А и В является матрица С элементы которой равны попарной сумме соответствующих элементов матриц А и В.
Аij+Bij = Cij
Вычитание матриц.
Результатом вычитания матриц А и В является матрица С элементы которой равны попарной разности соответствующих элементов матриц А и В.
Аij - Bij = Cij
Умножение матриц.
Результатом умножения матриц А и В является матрица С элементы которой равны сумме произведений элементов в соответствующей строке первого множителя и столбце второго.
Но, поскольку мы для расчета используем MS Excel, то умножаем матрицы с помощью доступной нам функции «МУМНОЖ».
Обращение матриц.
Обратная матрица — такая матрица A-1, при умножении на которую исходная матрица A даёт в результате единичную матрицу E:
АА-1=А-1А=Е
При условии что,аd-bc≠0.
Для получения обращенной матрицы используем функцию MS Excel «МОБР».
Транспонирование матриц.
Результатом транспонирования матрицы А является матрица С, каждый n-ый столбец которой идентичен n-ой строке матрицы А.
А Результат транспонирования матрицы А матрица С.
Для получения транспонированной матрицы средствами MS Excel используем функцию «ТРАНСП».
Схема алгоритма.
Рисунок 1. –Схема работы программы.
Для реализации задания используется функция CreateOleObject модуля comobj.
Исходный код приложения.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls,comobj, Grids;
type
TForm1 = class(TForm)
Button1: TButton;
StringGrid1: TStringGrid;
StringGrid2: TStringGrid;
StringGrid3: TStringGrid;
StringGrid4: TStringGrid;
StringGrid5: TStringGrid;
StringGrid6: TStringGrid;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var m:OLEvariant;
i,j:integer;
begin
randomize;
for i:=1 to 4 do
for j:=1 to 4 do
StringGrid1.Cells[i-1, j-1]:=IntToStr(random(25));
m:=CreateOLEObject('Excel.Application');
m.WorkBooks.Add;
m.WorkBooks[1].WorkSheets[1].Name:='Действия над матрицами';
//m.Application.Visible:=true;
for i:=1 to 4 do
for j:=1 to 4 do
m.WorkBooks[1].WorkSheets[1].Cells.Item[i,j]:=StringGrid1.Cells[i-1, j-1];
//оформление
m.WorkBooks[1].WorkSheets[1].Range['E1:E18'].ColumnWidth:=2;
m.WorkBooks[1].WorkSheets[1].Range['E1:E18'].Interior.Color:=RGB(0,0,0);
m.WorkBooks[1].WorkSheets[1].Range['J1:J18'].ColumnWidth:=2;
m.WorkBooks[1].WorkSheets[1].Range['J1:J18'].Interior.Color:=RGB(0,0,0);
m.WorkBooks[1].WorkSheets[1].Range['A6:I6'].Interior.Color:=RGB(0,0,0);
m.WorkBooks[1].WorkSheets[1].Range['A18:I18'].Interior.Color:=RGB(0,0,0);
m.WorkBooks[1].WorkSheets[1].Range['A12:I12'].Interior.Color:=RGB(0,0,0);
m.WorkBooks[1].WorkSheets[1].Range['A5'].Font.Bold:=true;
m.WorkBooks[1].WorkSheets[1].Range['A5'].Font.Size:=18;
m.WorkBooks[1].WorkSheets[1].Range['A5'].Value:='Исходная матрица';
m.WorkBooks[1].WorkSheets[1].Range['A11'].Font.Bold:=true;
m.WorkBooks[1].WorkSheets[1].Range['A11'].Font.Size:=13;
m.WorkBooks[1].WorkSheets[1].Range['A11'].Value:='Результат транспонирования';
m.WorkBooks[1].WorkSheets[1].Range['F5'].Font.Bold:=true;
m.WorkBooks[1].WorkSheets[1].Range['F5'].Font.Size:=13;
m.WorkBooks[1].WorkSheets[1].Range['F5'].Value:='Результат вычитания';
m.WorkBooks[1].WorkSheets[1].Range['F11'].Font.Bold:=true;
m.WorkBooks[1].WorkSheets[1].Range['F11'].Font.Size:=13;
m.WorkBooks[1].WorkSheets[1].Range['F11'].Value:='Результат сложения';
m.WorkBooks[1].WorkSheets[1].Range['A17'].Font.Bold:=true;
m.WorkBooks[1].WorkSheets[1].Range['A17'].Font.Size:=13;
m.WorkBooks[1].WorkSheets[1].Range['A17'].Value:='Результат умножения';
m.WorkBooks[1].WorkSheets[1].Range['F17'].Font.Bold:=true;
m.WorkBooks[1].WorkSheets[1].Range['F17'].Font.Size:=13;
m.WorkBooks[1].WorkSheets[1].Range['F17'].Value:='Результат обращения';
m.WorkBooks[1].WorkSheets[1].Range['A19'].Font.Name:='Times New Roman';
m.WorkBooks[1].WorkSheets[1].Range['A19:J19'].RowHeight:=30;
m.WorkBooks[1].WorkSheets[1].Range['A19:J19'].MergeCells:=true;
m.WorkBooks[1].WorkSheets[1].Range['A19'].Font.Bold:=true;
m.WorkBooks[1].WorkSheets[1].Range['A19'].Font.Size:=13;
m.WorkBooks[1].WorkSheets[1].Range['A19'].Value:='Действия сложения,вычитания умножения производятся между "исходной" и "транспонированной" матрицами.';
m.WorkBooks[1].WorkSheets[1].Range['A19'].Wraptext:=true;
//транспонирование
m.WorkBooks[1].WorkSheets[1].Range['A7:D10', EmptyParam].Select;
m.WorkBooks[1].WorkSheets[1].Range['A7:D10', EmptyParam].FormulaArray:='=ТРАНСП(R1C1:R4C4)';
//сложение
m.WorkBooks[1].WorkSheets[1].Range['F7:I10', EmptyParam].Select;
m.WorkBooks[1].WorkSheets[1].Range['F7:I10', EmptyParam].FormulaArray:='=(R1C1:R4C4)+(R7C1:R10C4)';
//вычитание
m.WorkBooks[1].WorkSheets[1].Range['F1:I4', EmptyParam].Select;
m.WorkBooks[1].WorkSheets[1].Range['F1:I4', EmptyParam].FormulaArray:='=(R1C1:R4C4)-(R7C1:R10C4)';
//умножение
m.WorkBooks[1].WorkSheets[1].Range['A13:D16', EmptyParam].Select;
m.WorkBooks[1].WorkSheets[1].Range['A13:D16', EmptyParam].FormulaArray:='=МУМНОЖ(R1C1:R4C4;R7C1:R10C4)';
//обращение
m.WorkBooks[1].WorkSheets[1].Range['F13:I16', EmptyParam].Select;
m.WorkBooks[1].WorkSheets[1].Range['F13:I16', EmptyParam].FormulaArray:='=МОБР(R1C1:R4C4)';
//передача данных
for i:=13 to 16 do
for j:=1 to 4 do
StringGrid5.Cells[j-1, i-13]:=m.WorkBooks[1].WorkSheets[1].Cells.Item[i,j];
for i:=7 to 10 do
for j:=6 to 10 do
StringGrid4.Cells[j-6,i-7]:=m.WorkBooks[1].WorkSheets[1].Cells.Item[i,j];
for i:=1 to 4 do
for j:=6 to 10 do
StringGrid3.Cells[j-6, i-1]:=m.WorkBooks[1].WorkSheets[1].Cells.Item[i,j];
for i:=1 to 4 do
for j:=7 to 10 do
StringGrid2.Cells[j-7, i-1]:=m.WorkBooks[1].WorkSheets[1].Cells.Item[j,i];
for i:=13 to 16 do
for j:=6 to 10 do
StringGrid6.Cells[j-6, i-13]:=m.WorkBooks[1].WorkSheets[1].Cells.Item[i,j];
m.displayalerts:=false;
m.application.quit;
m:=Unassigned;
end;
Рисунок 2.- «Окно вывода результатов действий над матрицами»
Список использованной литературы:
3. Корняков В. Н. «Программирование документов и приложений MS Office в Delphi.» —СПб. : БХВ-Петербург, 2005. - 496 с : ил. ISBN 5-94157-458-4
Сделайте индивидуальный заказ на нашем сервисе. Там эксперты помогают с учебой без посредников
Разместите задание – сайт бесплатно отправит его исполнителя, и они предложат цены.
Цены ниже, чем в агентствах и у конкурентов
Вы работаете с экспертами напрямую. Поэтому стоимость работ приятно вас удивит
Бесплатные доработки и консультации
Исполнитель внесет нужные правки в работу по вашему требованию без доплат. Корректировки в максимально короткие сроки
Гарантируем возврат
Если работа вас не устроит – мы вернем 100% суммы заказа
Техподдержка 7 дней в неделю
Наши менеджеры всегда на связи и оперативно решат любую проблему
Строгий отбор экспертов
К работе допускаются только проверенные специалисты с высшим образованием. Проверяем диплом на оценки «хорошо» и «отлично»
Работы выполняют эксперты в своём деле. Они ценят свою репутацию, поэтому результат выполненной работы гарантирован
Ежедневно эксперты готовы работать над 1000 заданиями. Контролируйте процесс написания работы в режиме онлайн
Теория вероятностей 9 класс , тесты
Решение задач, Теория вероятностей и математическая статистика
Срок сдачи к 23 февр.
Написать индивидуальное сообщение на тему: средние века
Другое, Мировая Отечественная художественная культура
Срок сдачи к 23 февр.
Отчёт полный факторный эксперимент первого порядка пфэ
Другое, Методология, электротехника
Срок сдачи к 23 февр.
Выполнить курс "Начертательная геометрия и инженерная графика 2.2". М-08603
Контрольная, Начертательная геометрия и инженерная графика
Срок сдачи к 21 мар.
Конфигурирование и настройка аппаратно-программных офисных...
Курсовая, МДК, информатика, электротехника
Срок сдачи к 24 февр.
Организация местного самоуправления( на примере своего поселения, муниципального района, городского округа)
Реферат, Муниципальное управление и местное самоуправление
Срок сдачи к 12 мар.
Презентация на 18 слайдов
Презентация, Стратегический менеджмент и управление проектами в государственном управлении
Срок сдачи к 3 апр.
И. В. Витте, Выбрать тему, сделать задание по рекомендациям
Курсовая, Гражданское право
Срок сдачи к 15 мая
Дипломная работа на тему «Методика применения компьютерных обучающих программ на уроках английского языка»
Диплом, Педагогика и Английский язык
Срок сдачи к 13 апр.
Заполните форму и узнайте цену на индивидуальную работу!