Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
пояснительная записка.doc
Скачиваний:
2
Добавлен:
01.12.2018
Размер:
929.28 Кб
Скачать

3 Анализ работы программы.

РУКОВОДСТВО ПОЛЬЗОВАТЕЛЯ

3.1 Анализ работы программы

Рассмотрим работу программы на конкретном примере. Пусть размерность матрицы равна 3*3. Матрица А заполняется по формуле (1).

A[0,0]=1; A[0,1]=3; A[0,2]=1;

A[1,0]=2; A[1,1]=2; A[1,2]=1;

A[2,0]=3; A[2,1]=2; A[2,2]=2;

Сначала транспонируем нашу матрицу. Меняем строки на столбцы, а столбцы на строки:

A[0,0]=1; A[0,1]=2; A[0,2]=3;

A[1,0]=3; A[1,1]=2; A[1,2]=2;

A[2,0]=1; A[2,1]=1; A[2,2]=2;

Теперь переходим к непосредственному нахождению обратной матрицы по формулам: (2),(3),(4),(5), приведенным ранее выше.

k=0:

A[0,0]=1; A[0,1]=-3; A[0,2]=-1;

A[1,0]=2; A[1,1]=-4; A[1,2]=-1;

A[2,0]=3; A[2,1]=-7; A[2,2]=-1;

k=1:

A[0,0]=-0,5; A[0,1]=0,75; A[0,2]=-0,25;

A[1,0]=0,5; A[1,1]=-0,25; A[1,2]=-0,25;

A[2,0]=-0,5; A[2,1]=1,75; A[2,2]=0,75;

k=2:

A[0,0]=-0,667; A[0,1]=1,333; A[0,2]=-0,333;

A[1,0]=0,333; A[1,1]=0,33; A[1,2]=-0,33;

A[2,0]=0,667; A[2,1]=-2,333; A[2,2]=1,333;

3.2 Руководство пользователя

Для анализа работы программы нужно запустить программу, нажав клавишу F9. (Или просто с помощью exe файла с именем Project1.exe).

В начале работы программы вам нужно ввести ключ программы:

Рисунок 7

Его можно найти в главном меню (помощь>>>ключ):

Рисунок 8

После подтвердить его:

Рисунок 9

Для начала работы с программы нужно нажать кнопку-

Рисунок 10

Для ввода количества элементов матрицы А и соответственно А-1 надо ввести значение в окно «Размерность матрицы».

Рисунок 11

Затем нажать на кнопку “Заполнить”. Таким образом сформируется матрица А.

Рисунок 12

Ввести минимальное значение для формирования матрицы А.

Рисунок 13

Ввести максимальное значение для формирования матрицы А.

Рисунок 14

Затем нажать на кнопку “Найти”, для нахождения обратной матрицы.

Рисунок 15

Для перехода по страницам используются кнопки “дальше”

Рисунок 16

и “назад”.

Рисунок 17

Чтобы просмотреть графики матриц А и обратной матрицы А-1 нужно перейти на следующую страницу нажав кнопку “дальше” и кнопку “строить”:

Рисунок 18

Для перехода на страницу сохранения и вывода матриц нужно перейти на следующую страницу нажав кнопку “дальше”.

Что бы занести в поле записей матрицу А нужно нажать кнопку “матрица А”:

Рисунок 19

Что бы занести в поле записей матрицу А-1 нужно нажать кнопку “обратная матрица А-1 ”:

Рисунок 20

Что бы занести в поле записей обе матрицы А и А-1 нужно нажать кнопку “обе матрицы ”:

Рисунок 21

Для того чтобы очистить поле записей нажмите кнопку “очистить”:

Рисунок 22

Выбрать расширение файла с которым вы хотите его сохранить можно в радиогруппе, указав в ней нужное вам расширение:

Рисунок 23

Сохранить все что находится в поле записей с нужным вам расширением можно с помощью кнопки “сохранить”:

Рисунок 24

Для загрузки файла в Memo нужно нажать кнопку “загрузить”:

Рисунок 25

Так же сохранить или открыть файл можно через закладки в главном меню <файл> (так же здесь можно выйти из программы):

Рисунок 26

Для переключения страниц можно выбрать в главном меню <страницы> и затем требуемую закладку:

Рисунок 27

Для изменения размера шрифта в Memo надо в главном меню выбрать «Шрифт»

Рисунок 28

Для перехода на страницу работы с Exel нужно перейти на следующую страницу нажав кнопку “дальше”.

Открыть нужный файл *.xls в Excel можно нажав кнопку ”загрузить из файла”:

Рисунок 29

Закрыть OleContainer можно нажав кнопку “ Закрыть OleContainer”:

Рисунок 30

Первая форма проекта содержит 5 листов.

Первый лист мы видим при запуске проекта:

Рисунок 31

Второй лист после подтверждения и начала работы с программой:

Рисунок 32

Третий после нажатия кнопки “дальше”:

Рисунок 33

Четвертый, так же после нажатия кнопки “дальше”:

Рисунок 34

Пятый, так же после нажатия кнопки “дальше”:

Рисунок 35

Вторая форма проекта (информация о программе) :

Рисунок 36

Список литературы

1 Архангельский А.Я. Delphi 7. - М.: Бином, 2004.

2 Семакин И.Г., Шестаков А.П. Основы программирования. - М.: Мастерство, НМЦ СПО, Высшая школа, 2001

3 Богомолов Н.В. Практические занятия. - М.: Высшая школа, 1999.

4 Данко П.Е., Попов А.Г., Кожевникова Т.Я. Высшая математика в упражнениях и задачах. В двух частях. Ч.1. - М.: ОНИКС 21 век, Мир и Образование, 2003.

5 Грушникова Т.Н., Карташова Е.В., Савина Е.Ю. Курсовое проектирование по дисциплине «Технология разработки программных продуктов». – М.: Издательство Коломна, 2005.

ПРИЛОЖЕНИЕ А – ИСХОДНЫЕ ТЕКСТЫ ПРОГРАММНЫХ МОДУЛЕЙ

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

ComCtrls, Tabnotbk, Menus, StdCtrls, Buttons, Mask, Spin, Grids,

ExtCtrls, TeeProcs, TeEngine, Chart, Series, OleCtnrs, OleServer, Excel97;

type {раздел описания типов}

TForm1 = class(TForm)

TabbedNotebook1: TTabbedNotebook;

MainMenu1: TMainMenu;

N1: TMenuItem;

N2: TMenuItem;

N3: TMenuItem;

N4: TMenuItem;

N5: TMenuItem;

N9: TMenuItem;

BitBtn1: TBitBtn;

BitBtn2: TBitBtn;

Edit1: TEdit;

BitBtn4: TBitBtn;

BitBtn5: TBitBtn;

BitBtn3: TBitBtn;

BitBtn6: TBitBtn;

BitBtn7: TBitBtn;

Label1: TLabel;

Label2: TLabel;

StringGrid1: TStringGrid;

StringGrid2: TStringGrid;

SpinEdit1: TSpinEdit;

BitBtn8: TBitBtn;

BitBtn9: TBitBtn;

BitBtn10: TBitBtn;

Label3: TLabel;

Label4: TLabel;

BitBtn11: TBitBtn;

Label5: TLabel;

OpenDialog2: TOpenDialog;

SaveDialog1: TSaveDialog;

BitBtn13: TBitBtn;

BitBtn15: TBitBtn;

BitBtn16: TBitBtn;

BitBtn17: TBitBtn;

Chart1: TChart;

Series1: TLineSeries;

Series2: TLineSeries;

AltF41: TMenuItem;

N6: TMenuItem;

N7: TMenuItem;

N8: TMenuItem;

N11: TMenuItem;

N10: TMenuItem;

N101: TMenuItem;

N121: TMenuItem;

N141: TMenuItem;

N142: TMenuItem;

BitBtn18: TBitBtn;

Label6: TLabel;

Label7: TLabel;

Label8: TLabel;

BitBtn19: TBitBtn;

BitBtn20: TBitBtn;

Excel1: TMenuItem;

OleContainer1: TOleContainer;

RadioGroup1: TRadioGroup;

OpenDialog1: TOpenDialog;

BitBtn22: TBitBtn;

Label9: TLabel;

xls1: TMenuItem;

SpinEdit2: TSpinEdit;

SpinEdit3: TSpinEdit;

Label10: TLabel;

Label11: TLabel;

Label12: TLabel;

BitBtn21: TBitBtn;

BitBtn14: TBitBtn;

procedure N3Click(Sender: TObject); {вывод сообщения с ключём для программы}

procedure N9Click(Sender: TObject); {вызо второй формы}

procedure BitBtn1Click(Sender: TObject); {процедура подтверждения ключа программы}

procedure BitBtn2Click(Sender: TObject); {процедура начала работы с программой}

procedure BitBtn4Click(Sender: TObject); {процедура перехода на следующую стр.}

procedure FormCreate(Sender: TObject); {процедура создания формы и присв. kol:= 1 }

procedure BitBtn3Click(Sender: TObject); {процедура перехода на предыдущую стр.}

procedure BitBtn5Click(Sender: TObject); {процедура перехода на следующую стр.}

procedure BitBtn6Click(Sender: TObject); {процедура перехода на следующую стр.}

procedure BitBtn7Click(Sender: TObject); {процедура перехода на предыдущую стр.}

procedure SpinEdit1Change(Sender: TObject); {процедура выбора количества элементов матрицы}

procedure BitBtn8Click(Sender: TObject); {процедура нахождение обратной матрицы}

procedure BitBtn9Click(Sender: TObject); {Процедура заполнения матрицы А рандомом}

procedure BitBtn10Click(Sender: TObject); {процедура перехода на предыдущую стр.}

procedure BitBtn11Click(Sender: TObject); {процедура ввывода сообщения}

procedure BitBtn12Click(Sender: TObject); {процедура построения графиков}

procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean); {процедура подтверждения закрытия проекта}

procedure BitBtn13Click(Sender: TObject); {Процедура сохранения в файл}

procedure BitBtn14Click(Sender: TObject); {процедура открытия файла}

procedure BitBtn15Click(Sender: TObject); {процедура очистки мемо}

procedure BitBtn16Click(Sender: TObject); {процедура вывода матрицы A в Memo}

procedure BitBtn17Click(Sender: TObject); {процедура вывода обратной матрицы, матрицы A в Memo}

procedure N4Click(Sender: TObject); {Процедура сохранения в файл *.txt}

procedure N5Click(Sender: TObject); {процедура открытия файла (*.txt) или (*.xls)}

procedure AltF41Click(Sender: TObject); {процедура выхода из программы}

procedure N7Click(Sender: TObject); {процедура вызова страницы заполнения и расчета.}

procedure N8Click(Sender: TObject); {процедура вызова страницы построения графиков.}

procedure N11Click(Sender: TObject); {процедура вызова страницы сохранения.}

procedure N101Click(Sender: TObject); {процедура выбора шрифта}

procedure N121Click(Sender: TObject); {процедура выбора шрифта}

procedure N141Click(Sender: TObject); {процедура выбора шрифта}

procedure N142Click(Sender: TObject); {процедура выбора шрифта}

procedure BitBtn18Click(Sender: TObject); {процедура перехода на следующую стр.}

procedure BitBtn20Click(Sender: TObject); {процедура перехода на предыдущую стр.}

procedure Excel1Click(Sender: TObject); {переход на страницу Excel с помощью главного меню}

procedure BitBtn21Click(Sender: TObject); {процедура загрузки файла в Excel}

procedure BitBtn22Click(Sender: TObject); {процедура закрытия оле}

procedure xls1Click(Sender: TObject); {процедура открытия файла *.xls}

procedure BitBtn19Click(Sender: TObject); {процедура перехода на следующую стр.}

private

{ Private declarations }

public

{ Public declarations }

end;

var {раздел описания глобальных переменных}

Form1: TForm1;

ap:integer;{переменная для индексов листов}

kol: integer; { переменная в которой хранится размерность матрицы}

obr: array[0..300, 0..300] of real; {размерность массива под обратную матрицу}

FName,h:string; {переменные для сохранения матриц}

implementation

uses Unit2;

{$R *.DFM}

procedure Obratis; {процедура нахождения обратной матрицы n*n}

var k, i, j: integer;

b: array[0..300, 0..300] of real; {вспомогательный массив для расчета обратной матрицы }

begin

for k:=0 to kol - 1 do

begin

for i:=0 to kol - 1 do

for j:=0 to kol - 1 do

begin

if (i=k) and (j=k) then

b[i,j] := 1/obr[i,j];

if (i=k) and (j<>k) then

b[i,j] := -obr[i,j]/obr[k,k];

if (i<>k) and (j=k) then

b[i,j] := obr[i,k]/obr[k,k];

if (i<>k) and (j<>k) then

b[i,j] := obr[i,j] - obr[k,j] * obr[i,k]/obr[k,k];

end;

for i:= 0 to kol - 1 do

for j:= 0 to kol - 1 do

obr[i, j]:= b[i, j]; {обновление массива}

end;

end;

procedure TForm1.N3Click(Sender: TObject);

begin

MessageDlg(' 123 ',mtInformation,[mbOK],0); {вывод сообщения с ключём для программы}

end;

procedure TForm1.N9Click(Sender: TObject); {вызо второй формы}

begin

form2.visible:=TRUE; {вторая форма видема и имеет параметры первой формы}

form2.ClientHeight:=form1.ClientHeight;

form2.ClientWidth:=form1.ClientWidth;

form2.Height:=form1.Height;

form2.Width:=form1.Width;

form2.left:=form1.left;

form2.top:=form1.top;

end;

procedure TForm1.BitBtn1Click(Sender: TObject); {процедура подтверждения ключа программы}

var p:integer; {переменная в которой хранится ключ программы}

begin

If Edit1.Text='' then begin

ShowMessage('Введите ключ программы!');

ShowMessage('Ключ можно найти в <Главном меню>!'); end

else begin

try

P:=StrToInt(Edit1.Text); {ключ должен быть числом}

except

ShowMessage('Ошибка в записи ключа!');

Edit1.SetFocus; {установка курсора в окно ввода ключа}

exit;

end;

P:= StrToInt(Edit1.Text);

if p=123 then {определение правильности ключа}

begin

BitBtn2.Visible:=true; {активация кнопки перехода к самой программе}

Label4.Caption:='Нажмите <Начять работу с программой>.';

end

else

ShowMessage('Введен неверный ключ!');

Edit1.SetFocus; {установка курсора в окно ввода ключа}

end;

end;

procedure TForm1.BitBtn2Click(Sender: TObject); {процедура начала работы с программой}

begin

TabbedNotebook1.Activepage:='2'; {активация второй страницы}

N4.Enabled:=true; {активация пункта главного меню}

N5.Enabled:=true; {активация пункта главного меню}

xls1.Enabled:=true; {активация пункта главного меню}

N7.Enabled:=true; {активация пункта главного меню}

N8.Enabled:=true; {активация пункта главного меню}

N11.Enabled:=true; {активация пункта главного меню}

Excel1.Enabled:=true; {активация пункта главного меню}

end;

procedure TForm1.BitBtn4Click(Sender: TObject); {процедура перехода на следующую стр.}

begin

TabbedNotebook1.Activepage:='3';

end;

procedure TForm1.FormCreate(Sender: TObject); {процедура создания формы}

begin

kol:= 1; {при запуске формы количество элементов в массиве равно 1}

end;

procedure TForm1.BitBtn3Click(Sender: TObject); {процедура перехода на предыдущую стр.}

begin

TabbedNotebook1.Activepage:='2';

end;

procedure TForm1.BitBtn5Click(Sender: TObject); {процедура перехода на следующую стр.}

begin

TabbedNotebook1.Activepage:='4';

end;

procedure TForm1.BitBtn6Click(Sender: TObject); {процедура перехода на следующую стр.}

begin

TabbedNotebook1.Activepage:='5';

end;

procedure TForm1.BitBtn7Click(Sender: TObject); {процедура перехода на предыдущую стр.}

begin

TabbedNotebook1.Activepage:='3';

end;

procedure TForm1.SpinEdit1Change(Sender: TObject); {процедура выбора количества элементов матрицы}

var i, j: integer;

begin

kol:= SpinEdit1.Value; {kol - переменная в которой хранится размерность матрицы}

StringGrid1.ColCount:= kol; {размерность StringGrida }

StringGrid1.RowCount:= kol; {размерность StringGrida}

StringGrid2.ColCount:= kol; {размерность StringGrida}

StringGrid2.RowCount:= kol; {размерность StringGrida}

for i:= 0 to kol - 1 do

for j:= 0 to kol - 1 do

begin

StringGrid1.Cells[i,j]:='';

StringGrid2.Cells[i,j]:='';

end;

end;

procedure TForm1.BitBtn8Click(Sender: TObject); {процедура нахождение обратной матрицы}

var i, j: integer;

i1, j1: integer;

begin

i1:= 1;

j1:= 1;

try

for i:= 0 to kol - 1 do

for j:= 0 to kol - 1 do

begin

i1:= i;

j1:= j;

obr[i, j]:= StrToFloat(StringGrid1.Cells[j, i]);

end;

except

ShowMessage('Ошибка при вводе числа в столбце ' + IntToStr(j1 + 1) + ' строке ' + IntToStr(i1 + 1) + '!');

exit;

end;

Obratis; {процедура нахождения обратной матрицы}

for i:= 0 to kol - 1 do

for j:= 0 to kol - 1 do

StringGrid2.Cells[i, j]:= FloatToStr(Round(1000*obr[j, i])/1000); {округление до тысячных}

end;

procedure TForm1.BitBtn9Click(Sender: TObject); {Процедура заполнения матрицы А рандомом}

var i, j, r1, r2: integer;

begin

r1:= SpinEdit2.Value; {(от)r1 - переменная в которой хранится размерность промежутка для чисел матрицы}

r2:= SpinEdit3.Value; {(до)r2 - переменная в которой хранится

размерность промежутка для чисел матрицы}

if r1>r2 then Application.MessageBox('Неправильно введён промежуток чисел','Сообщение',MB_ICONQUESTION) // Сообщение

else begin

randomize;

for i:= 0 to kol - 1 do

for j:= 0 to kol - 1 do

StringGrid1.Cells[i, j]:= IntToStr(random(r2-r1+1) + r1); {заполнение матрицы А рандомом}

end;

end;

procedure TForm1.BitBtn10Click(Sender: TObject); {процедура перехода на предыдущую стр.}

begin

TabbedNotebook1.Activepage:='5';

end;

procedure TForm1.BitBtn11Click(Sender: TObject); {процедура ввывода сообщения}

begin

MessageDlg(' Всё в мире относительно, и курсокик не исключение... ',mtInformation,[mbOK],0); {сообщение приветствия}

end;

procedure TForm1.BitBtn12Click(Sender: TObject); {процедура построения графиков}

var i,j:integer;

begin

if (kol=1) and (StringGrid1.Cells[0,0]<>'') and (StringGrid2.Cells[0,0]<>'') then Application.MessageBox('Маловато 1-ой точки для исходных данных','Сообщение',MB_ICONQUESTION) // Сообщение

else

try {Начало защищённого блока}

Series1.Clear; {Очистка графика}

Series2.Clear; {Очистка графика}

for j:=1 to kol do begin {Циклы}

for i:=1 to kol do begin

Series1.AddX(StrToFloat(StringGrid1.Cells[i-1,j-1])); {Вывод массивов на график }

Series2.AddX(StrToFloat(StringGrid2.Cells[i-1,j-1])); {Вывод массивов на график }

end;

end;

except

Application.MessageBox('Нет исходных данных','Сообщение',MB_ICONQUESTION); {Сообщение }

exit; {Выход в случае ошибки}

end; {Конец защищённого блока}

end;

procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean); {процедура подтверждения закрытия проекта}

begin

{ if Application.MessageBox('Вы хотите выйти из программы?','Внимание!',mb_okCancel+mb_IconQuestion)=idCancel then

close; {сообщение с подтверждением о выходе при выходе из программы} //х.з. как он работает __невоткнул__ }

If MessageDlg('Вы действительно хотите завершить работу?',mtInformation,[mbYes,mbNo],0)=mrNo

then CanClose:=False;

end;

procedure TForm1.BitBtn13Click(Sender: TObject); {Процедура сохранения в файл}

var i,j:integer;

begin

if RadioGroup1.ItemIndex=0 //////////////////////////////////////////

then begin

if SaveDialog1.Execute then

FName:=SaveDialog1.FileName+'.txt';

try

Memo1.Lines.SaveToFile(FName);

except

Application.MessageBox('Не удалось создать файл!','Ошибка',MB_OK+MB_Iconerror);

end;

end;

if RadioGroup1.ItemIndex=1 then begin

e:=CreateOleObject('Excel.application');

e.Visible:=true;

e.workbooks.add;

e.sheets[1].cells(1,1):='Матрица А'; e.sheets[1].cells(1,kol+4):='Обратная матрица А';

for j:=0 to SpinEdit1.Value do

begin

for i:=0 to Spinedit1.Value do

begin

e.sheets[1].cells(i+3,j+1):=StringGrid1.Cells[i,j];

e.sheets[1].cells(i+3,j+kol+4):=StringGrid2.Cells[i,j];

end;

end; end;

end;

procedure TForm1.BitBtn14Click(Sender: TObject); {процедура открытия файла}

begin

if opendialog2.Execute then

fname:=opendialog2.FileName;

try

memo1.Lines.LoadFromFile(fname);

except

Application.MessageBox('Не удалось загрузить файл!','Ошибка',MB_OK+MB_Iconerror);

end;

end;

procedure TForm1.BitBtn15Click(Sender: TObject); {процедура очистки мемо}

begin

Memo1.Clear;

end;

procedure TForm1.BitBtn16Click(Sender: TObject); {процедура вывода матрицы A в Memo}

var i,j:integer;

begin

Memo1.Lines.Add(#13);

Memo1.Lines.Add('Матрица A:');

memo1.lines.add(#13);

for i:=1 to SpinEdit1.Value do

begin

for j:=1 to Spinedit1.Value do

begin

h:='A['+inttostr(i)+','+inttostr(j)+']='+(StringGrid1.Cells[j-1,i-1]);

memo1.lines.Add(h);

h:='';

end;

end;

end;

procedure TForm1.BitBtn17Click(Sender: TObject); {процедура вывода обратной матрицы, матрицы A в Memo}

var i,j:integer;

begin

Memo1.Lines.Add(#13);

Memo1.Lines.Add('Обратная матрица матрицы A:');

memo1.lines.add(#13);

for i:=1 to SpinEdit1.Value do

begin

for j:=1 to Spinedit1.Value do

begin

h:='A['+inttostr(i)+','+inttostr(j)+']='+(StringGrid2.Cells[j-1,i-1]);

memo1.lines.Add(h);

h:='';

end;

end;

end;

procedure TForm1.N4Click(Sender: TObject); {Процедура сохранения в файл *.txt}

begin

TabbedNotebook1.Activepage:='4';

if SaveDialog1.Execute then

FName:=SaveDialog1.FileName+'.txt';

try

Memo1.Lines.SaveToFile(FName);

except

Application.MessageBox('Не удалось создать файл!','Ошибка',MB_OK+MB_Iconerror);

end;

end;

procedure TForm1.N5Click(Sender: TObject); {процедура открытия файла (*.txt) или (*.xls)}

begin

if opendialog2.Execute then

fname:=opendialog2.FileName;

try

memo1.Lines.LoadFromFile(fname);

except

Application.MessageBox('Не удалось загрузить файл!','Ошибка',MB_OK+MB_Iconerror);

end;

end;

procedure TForm1.AltF41Click(Sender: TObject); {процедура выхода из программы}

begin

close;

end;

procedure TForm1.N7Click(Sender: TObject); {процедура вызова страницы заполнения и расчета.}

begin

TabbedNotebook1.Activepage:='2';

end;

procedure TForm1.N8Click(Sender: TObject);

begin

TabbedNotebook1.Activepage:='3'; {процедура вызова страницы построения графиков.}

end;

procedure TForm1.N11Click(Sender: TObject); {процедура вызова страницы сохранения.}

begin

TabbedNotebook1.Activepage:='4';

end;

procedure TForm1.N101Click(Sender: TObject); {процедура выбора шрифта}

begin

Memo1.Font.Size:=8;

end;

procedure TForm1.N121Click(Sender: TObject); {процедура выбора шрифта}

begin

Memo1.Font.Size:=10;

end;

procedure TForm1.N141Click(Sender: TObject); {процедура выбора шрифта}

begin

Memo1.Font.Size:=12;

end;

procedure TForm1.N142Click(Sender: TObject); {процедура выбора шрифта}

begin

Memo1.Font.Size:=14;

end;

procedure TForm1.BitBtn18Click(Sender: TObject); {процедура сохранения сразу двух матриц}

var i,j:integer;

begin

Memo1.Lines.Add(#13);

Memo1.Lines.Add('Матрица A:');

memo1.lines.add(#13);

for i:=1 to SpinEdit1.Value do

begin

for j:=1 to Spinedit1.Value do

begin

h:='A['+inttostr(i)+','+inttostr(j)+']='+(StringGrid1.Cells[j-1,i-1]);

memo1.lines.Add(h);

h:='';

end;

end;

Memo1.Lines.Add(#13);

Memo1.Lines.Add('Обратная матрица матрицы A:');

memo1.lines.add(#13);

for i:=1 to SpinEdit1.Value do

begin

for j:=1 to Spinedit1.Value do

begin

h:='A['+inttostr(i)+','+inttostr(j)+']='+(StringGrid2.Cells[j-1,i-1]);

memo1.lines.Add(h);

h:='';

end;

end;

end;

procedure TForm1.BitBtn20Click(Sender: TObject); {процедура перехода на предыдущую стр.}

begin

TabbedNotebook1.Activepage:='4';

end;

procedure TForm1.Excel1Click(Sender: TObject); {переход на страницу Excel с помощью главного меню}

begin

TabbedNotebook1.Activepage:='5';

end;

procedure TForm1.BitBtn21Click(Sender: TObject); {процедура загрузки файла в Excel}

begin

if OpenDialog1.Execute

then

OleContainer1.CreateObjectFromFile(OpenDialog1.FileName,false);

end;

procedure TForm1.BitBtn22Click(Sender: TObject); {процедура закрытия оле}

begin

OleContainer1.Close;

end;

procedure TForm1.xls1Click(Sender: TObject); {процедура открытия файла *.xls}

begin

TabbedNotebook1.Activepage:='5';

if OpenDialog1.Execute

then

OleContainer1.CreateObjectFromFile(OpenDialog1.FileName,false);

end;

procedure TForm1.BitBtn19Click(Sender: TObject); {процедура перехода на следующую стр.}

begin

TabbedNotebook1.Activepage:='2';

end;

end.

ПРИЛОЖЕНИЕ Б – РАСПЕЧАТКА ТЕКСТОВОГО ФАЙЛА

Матрица A:

A[1,1]=11

A[1,2]=38

A[1,3]=3

A[1,4]=13

A[1,5]=45

A[1,6]=23

A[1,7]=34

A[1,8]=4

A[1,9]=38

A[1,10]=-38

A[1,11]=-24

A[1,12]=-34

A[1,13]=-1

A[1,14]=-27

A[1,15]=-8

A[1,16]=23

A[1,17]=-49

A[1,18]=-12

A[1,19]=-39

A[1,20]=1

A[1,21]=41

A[2,1]=28

A[2,2]=13

A[2,3]=35

A[2,4]=-36

A[2,5]=15

A[2,6]=45

A[2,7]=24

A[2,8]=-47

A[2,9]=-48

A[2,10]=37

A[2,11]=-38

A[2,12]=-2

A[2,13]=22

A[2,14]=-38

A[2,15]=0

A[2,16]=-2

A[2,17]=-36

A[2,18]=-47

A[2,19]=10

A[2,20]=-29

A[2,21]=-24

A[3,1]=44

A[3,2]=-46

A[3,3]=-45

A[3,4]=35

A[3,5]=44

A[3,6]=-35

A[3,7]=-37

A[3,8]=-20

A[3,9]=-21

A[3,10]=42

A[3,11]=-28

A[3,12]=-15

A[3,13]=10

A[3,14]=-45

A[3,15]=-3

A[3,16]=-19

A[3,17]=-34

A[3,18]=-17

A[3,19]=-26

A[3,20]=3

A[3,21]=14

A[4,1]=1

A[4,2]=14

A[4,3]=-10

A[4,4]=31

A[4,5]=42

A[4,6]=41

A[4,7]=-46

A[4,8]=-30

A[4,9]=7

A[4,10]=-8

A[4,11]=29

A[4,12]=2

A[4,13]=49

A[4,14]=26

A[4,15]=-15

A[4,16]=-25

A[4,17]=-29

A[4,18]=-27

A[4,19]=-50

A[4,20]=11

A[4,21]=-14

A[5,1]=-49

A[5,2]=-26

A[5,3]=-47

A[5,4]=-34

A[5,5]=-2

A[5,6]=-26

A[5,7]=13

A[5,8]=-43

A[5,9]=12

A[5,10]=11

A[5,11]=-40

A[5,12]=35

A[5,13]=-40

A[5,14]=-21

A[5,15]=32

A[5,16]=50

A[5,17]=-39

A[5,18]=43

A[5,19]=-23

A[5,20]=26

A[5,21]=-12

A[6,1]=2

A[6,2]=-3

A[6,3]=-16

A[6,4]=-15

A[6,5]=7

A[6,6]=-12

A[6,7]=-40

A[6,8]=-13

A[6,9]=30

A[6,10]=5

A[6,11]=44

A[6,12]=40

A[6,13]=-50

A[6,14]=8

A[6,15]=47

A[6,16]=3

A[6,17]=-27

A[6,18]=15

A[6,19]=-22

A[6,20]=-46

A[6,21]=-30

A[7,1]=35

A[7,2]=33

A[7,3]=-9

A[7,4]=-47

A[7,5]=22

A[7,6]=-23

A[7,7]=-44

A[7,8]=-39

A[7,9]=-9

A[7,10]=-33

A[7,11]=-13

A[7,12]=9

A[7,13]=-50

A[7,14]=-34

A[7,15]=19

A[7,16]=48

A[7,17]=30

A[7,18]=-34

A[7,19]=-21

A[7,20]=-18

A[7,21]=20

A[8,1]=-7

A[8,2]=-28

A[8,3]=2

A[8,4]=-19

A[8,5]=-11

A[8,6]=9

A[8,7]=49

A[8,8]=48

A[8,9]=-21

A[8,10]=-17

A[8,11]=-31

A[8,12]=28

A[8,13]=-4

A[8,14]=29

A[8,15]=-10

A[8,16]=15

A[8,17]=17

A[8,18]=-30

A[8,19]=1

A[8,20]=-30

A[8,21]=46

A[9,1]=-50

A[9,2]=20

A[9,3]=47

A[9,4]=-6

A[9,5]=40

A[9,6]=-36

A[9,7]=26

A[9,8]=24

A[9,9]=-8

A[9,10]=-25

A[9,11]=39

A[9,12]=15

A[9,13]=8

A[9,14]=-11

A[9,15]=-11

A[9,16]=-21

A[9,17]=-30

A[9,18]=-23

A[9,19]=-10

A[9,20]=11

A[9,21]=41

A[10,1]=18

A[10,2]=20

A[10,3]=-34

A[10,4]=-29

A[10,5]=-22

A[10,6]=-8

A[10,7]=-40

A[10,8]=-48

A[10,9]=-33

A[10,10]=6

A[10,11]=-46

A[10,12]=-31

A[10,13]=47

A[10,14]=-17

A[10,15]=36

A[10,16]=-2

A[10,17]=4

A[10,18]=-11

A[10,19]=-24

A[10,20]=-7

A[10,21]=-3

A[11,1]=-44

A[11,2]=12

A[11,3]=-12

A[11,4]=-19

A[11,5]=35

A[11,6]=39

A[11,7]=9

A[11,8]=25

A[11,9]=-4

A[11,10]=-22

A[11,11]=-3

A[11,12]=-49

A[11,13]=-18

A[11,14]=23

A[11,15]=-6

A[11,16]=0

A[11,17]=-5

A[11,18]=18

A[11,19]=46

A[11,20]=21

A[11,21]=-31

A[12,1]=38

A[12,2]=15

A[12,3]=-49

A[12,4]=-27

A[12,5]=43

A[12,6]=37

A[12,7]=50

A[12,8]=23

A[12,9]=-18

A[12,10]=-13

A[12,11]=4

A[12,12]=-33

A[12,13]=-43

A[12,14]=-10

A[12,15]=-14

A[12,16]=43

A[12,17]=-1

A[12,18]=45

A[12,19]=-3

A[12,20]=13

A[12,21]=-39

A[13,1]=44

A[13,2]=-23

A[13,3]=-22

A[13,4]=32

A[13,5]=-24

A[13,6]=-38

A[13,7]=32

A[13,8]=23

A[13,9]=-46

A[13,10]=49

A[13,11]=17

A[13,12]=49

A[13,13]=-43

A[13,14]=-11

A[13,15]=42

A[13,16]=34

A[13,17]=-31

A[13,18]=-39

A[13,19]=-1

A[13,20]=-26

A[13,21]=25

A[14,1]=-41

A[14,2]=-44

A[14,3]=-28

A[14,4]=-2

A[14,5]=27

A[14,6]=-31

A[14,7]=36

A[14,8]=34

A[14,9]=6

A[14,10]=-35

A[14,11]=23

A[14,12]=5

A[14,13]=31

A[14,14]=-25

A[14,15]=15

A[14,16]=-5

A[14,17]=-25

A[14,18]=-20

A[14,19]=-35

A[14,20]=1

A[14,21]=-5

A[15,1]=39

A[15,2]=27

A[15,3]=-48

A[15,4]=32

A[15,5]=-16

A[15,6]=-5

A[15,7]=-25

A[15,8]=-2

A[15,9]=24

A[15,10]=9

A[15,11]=36

A[15,12]=-11

A[15,13]=32

A[15,14]=37

A[15,15]=-27

A[15,16]=-28

A[15,17]=-18

A[15,18]=-16

A[15,19]=0

A[15,20]=-14

A[15,21]=-32

A[16,1]=42

A[16,2]=-23

A[16,3]=-8

A[16,4]=24

A[16,5]=35

A[16,6]=9

A[16,7]=9

A[16,8]=-2

A[16,9]=40

A[16,10]=-17

A[16,11]=25

A[16,12]=-28

A[16,13]=40

A[16,14]=-46

A[16,15]=42

A[16,16]=12

A[16,17]=-16

A[16,18]=-29

A[16,19]=-26

A[16,20]=48

A[16,21]=-17

A[17,1]=-35

A[17,2]=46

A[17,3]=12

A[17,4]=20

A[17,5]=35

A[17,6]=46

A[17,7]=-8

A[17,8]=-14

A[17,9]=-18

A[17,10]=31

A[17,11]=-21

A[17,12]=-41

A[17,13]=-46

A[17,14]=-30

A[17,15]=-28

A[17,16]=39

A[17,17]=-14

A[17,18]=21

A[17,19]=15

A[17,20]=9

A[17,21]=34

A[18,1]=-43

A[18,2]=18

A[18,3]=44

A[18,4]=-42

A[18,5]=-41

A[18,6]=50

A[18,7]=28

A[18,8]=50

A[18,9]=34

A[18,10]=47

A[18,11]=-24

A[18,12]=42

A[18,13]=-38

A[18,14]=31

A[18,15]=33

A[18,16]=47

A[18,17]=20

A[18,18]=3

A[18,19]=44

A[18,20]=-47

A[18,21]=7

A[19,1]=-27

A[19,2]=4

A[19,3]=-19

A[19,4]=-42

A[19,5]=-21

A[19,6]=14

A[19,7]=-24

A[19,8]=-43

A[19,9]=4

A[19,10]=-21

A[19,11]=-1

A[19,12]=1

A[19,13]=14

A[19,14]=26

A[19,15]=-19

A[19,16]=-6

A[19,17]=-19

A[19,18]=-36

A[19,19]=45

A[19,20]=-17

A[19,21]=-30

A[20,1]=-48

A[20,2]=7

A[20,3]=34

A[20,4]=-7

A[20,5]=-22

A[20,6]=-45

A[20,7]=37

A[20,8]=-8

A[20,9]=-8

A[20,10]=-18

A[20,11]=42

A[20,12]=3

A[20,13]=12

A[20,14]=-10

A[20,15]=19

A[20,16]=48

A[20,17]=-18

A[20,18]=20

A[20,19]=43

A[20,20]=-15

A[20,21]=-18

A[21,1]=48

A[21,2]=-42

A[21,3]=3

A[21,4]=14

A[21,5]=3

A[21,6]=20

A[21,7]=11

A[21,8]=33

A[21,9]=-23

A[21,10]=24

A[21,11]=-46

A[21,12]=10

A[21,13]=-32

A[21,14]=35

A[21,15]=-3

A[21,16]=-10

A[21,17]=-48

A[21,18]=-18

A[21,19]=25

A[21,20]=16

A[21,21]=2

Обратная матрица матрицы A:

A[1,1]=0,008

A[1,2]=-0,006

A[1,3]=0,007

A[1,4]=0,004

A[1,5]=-0,007

A[1,6]=-0,004

A[1,7]=-0,002

A[1,8]=-0,01

A[1,9]=0,001

A[1,10]=0,001

A[1,11]=-0,006

A[1,12]=0,01

A[1,13]=0,005

A[1,14]=-0,007

A[1,15]=-0,012

A[1,16]=-0,003

A[1,17]=-0,012

A[1,18]=0,005

A[1,19]=0,009

A[1,20]=0

A[1,21]=0

A[2,1]=0,03

A[2,2]=-0,015

A[2,3]=0,014

A[2,4]=0,021

A[2,5]=-0,013

A[2,6]=-0,028

A[2,7]=-0,001

A[2,8]=-0,051

A[2,9]=-0,004

A[2,10]=-0,003

A[2,11]=0,006

A[2,12]=0,014

A[2,13]=0,029

A[2,14]=-0,001

A[2,15]=-0,035

A[2,16]=-0,03

A[2,17]=-0,036

A[2,18]=0,021

A[2,19]=0,02

A[2,20]=-0,006

A[2,21]=-0,014

A[3,1]=-0,023

A[3,2]=0,018

A[3,3]=-0,018

A[3,4]=-0,016

A[3,5]=0,011

A[3,6]=0,02

A[3,7]=0,008

A[3,8]=0,034

A[3,9]=0,005

A[3,10]=0,002

A[3,11]=-0,003

A[3,12]=-0,017

A[3,13]=-0,027

A[3,14]=0,003

A[3,15]=0,034

A[3,16]=0,021

A[3,17]=0,029

A[3,18]=-0,015

A[3,19]=-0,028

A[3,20]=0,009

A[3,21]=0,017

A[4,1]=0,027

A[4,2]=-0,01

A[4,3]=0,012

A[4,4]=0,02

A[4,5]=-0,011

A[4,6]=-0,023

A[4,7]=-0,001

A[4,8]=-0,038

A[4,9]=-0,019

A[4,10]=-0,012

A[4,11]=0,013

A[4,12]=0,001

A[4,13]=0,028

A[4,14]=0,002

A[4,15]=-0,032

A[4,16]=-0,026

A[4,17]=-0,03

A[4,18]=0,01

A[4,19]=0,011

A[4,20]=-0,001

A[4,21]=-0,013

A[5,1]=0,011

A[5,2]=-0,002

A[5,3]=0,019

A[5,4]=0,013

A[5,5]=-0,001

A[5,6]=-0,009

A[5,7]=0,001

A[5,8]=-0,007

A[5,9]=0,001

A[5,10]=-0,008

A[5,11]=0,017

A[5,12]=0,004

A[5,13]=0,009

A[5,14]=-0,013

A[5,15]=-0,013

A[5,16]=-0,008

A[5,17]=-0,022

A[5,18]=0,008

A[5,19]=0,001

A[5,20]=0,002

A[5,21]=-0,014

A[6,1]=0,02

A[6,2]=-0,016

A[6,3]=0,01

A[6,4]=0,018

A[6,5]=-0,017

A[6,6]=-0,014

A[6,7]=-0,011

A[6,8]=-0,034

A[6,9]=-0,007

A[6,10]=0

A[6,11]=-0,007

A[6,12]=0,018

A[6,13]=0,022

A[6,14]=0,001

A[6,15]=-0,042

A[6,16]=-0,017

A[6,17]=-0,019

A[6,18]=0,015

A[6,19]=0,03

A[6,20]=-0,008

A[6,21]=-0,009

A[7,1]=-0,012

A[7,2]=0,019

A[7,3]=-0,012

A[7,4]=-0,016

A[7,5]=0,017

A[7,6]=0,014

A[7,7]=-0,001

A[7,8]=0,037

A[7,9]=0,004

A[7,10]=-0,004

A[7,11]=0,012

A[7,12]=-0,014

A[7,13]=-0,011

A[7,14]=-0,01

A[7,15]=0,03

A[7,16]=0,018

A[7,17]=0,013

A[7,18]=-0,017

A[7,19]=-0,023

A[7,20]=0

A[7,21]=-0,004

A[8,1]=0,016

A[8,2]=-0,019

A[8,3]=0,011

A[8,4]=0,014

A[8,5]=-0,019

A[8,6]=-0,021

A[8,7]=0

A[8,8]=-0,044

A[8,9]=-0,003

A[8,10]=0,003

A[8,11]=-0,01

A[8,12]=0,018

A[8,13]=0,015

A[8,14]=0,018

A[8,15]=-0,03

A[8,16]=-0,023

A[8,17]=-0,02

A[8,18]=0,023

A[8,19]=0,019

A[8,20]=-0,003

A[8,21]=0,004

A[9,1]=-0,006

A[9,2]=0,007

A[9,3]=-0,003

A[9,4]=-0,012

A[9,5]=0,01

A[9,6]=0,01

A[9,7]=0,002

A[9,8]=0,019

A[9,9]=0,003

A[9,10]=-0,004

A[9,11]=0,002

A[9,12]=-0,01

A[9,13]=-0,013

A[9,14]=-0,005

A[9,15]=0,021

A[9,16]=0,015

A[9,17]=0,01

A[9,18]=-0,004

A[9,19]=-0,01

A[9,20]=0

A[9,21]=0

A[10,1]=-0,04

A[10,2]=0,025

A[10,3]=-0,017

A[10,4]=-0,027

A[10,5]=0,024

A[10,6]=0,03

A[10,7]=0,004

A[10,8]=0,061

A[10,9]=0,015

A[10,10]=0,005

A[10,11]=0

A[10,12]=-0,02

A[10,13]=-0,034

A[10,14]=-0,005

A[10,15]=0,062

A[10,16]=0,038

A[10,17]=0,045

A[10,18]=-0,019

A[10,19]=-0,038

A[10,20]=0,004

A[10,21]=0,012

A[11,1]=-0,022

A[11,2]=0,006

A[11,3]=-0,012

A[11,4]=-0,014

A[11,5]=0,005

A[11,6]=0,022

A[11,7]=-0,004

A[11,8]=0,032

A[11,9]=0,012

A[11,10]=0,006

A[11,11]=-0,01

A[11,12]=-0,002

A[11,13]=-0,015

A[11,14]=-0,004

A[11,15]=0,023

A[11,16]=0,024

A[11,17]=0,028

A[11,18]=-0,013

A[11,19]=-0,006

A[11,20]=0,002

A[11,21]=0,005

A[12,1]=0,062

A[12,2]=-0,042

A[12,3]=0,044

A[12,4]=0,054

A[12,5]=-0,034

A[12,6]=-0,06

A[12,7]=-0,011

A[12,8]=-0,109

A[12,9]=-0,015

A[12,10]=-0,014

A[12,11]=-0,003

A[12,12]=0,04

A[12,13]=0,064

A[12,14]=-0,002

A[12,15]=-0,104

A[12,16]=-0,065

A[12,17]=-0,085

A[12,18]=0,048

A[12,19]=0,064

A[12,20]=-0,011

A[12,21]=-0,029

A[13,1]=0,023

A[13,2]=-0,019

A[13,3]=0,023

A[13,4]=0,024

A[13,5]=-0,016

A[13,6]=-0,025

A[13,7]=-0,008

A[13,8]=-0,038

A[13,9]=-0,002

A[13,10]=0,002

A[13,11]=-0,005

A[13,12]=0,02

A[13,13]=0,02

A[13,14]=-0,003

A[13,15]=-0,04

A[13,16]=-0,022

A[13,17]=-0,033

A[13,18]=0,023

A[13,19]=0,027

A[13,20]=0,002

A[13,21]=-0,012

A[14,1]=-0,04

A[14,2]=0,028

A[14,3]=-0,025

A[14,4]=-0,025

A[14,5]=0,03

A[14,6]=0,038

A[14,7]=0,008

A[14,8]=0,081

A[14,9]=0,012

A[14,10]=0,005

A[14,11]=0,012

A[14,12]=-0,029

A[14,13]=-0,039

A[14,14]=-0,014

A[14,15]=0,071

A[14,16]=0,041

A[14,17]=0,044

A[14,18]=-0,031

A[14,19]=-0,048

A[14,20]=0,011

A[14,21]=0,015

A[15,1]=0,013

A[15,2]=-0,006

A[15,3]=0,007

A[15,4]=0,008

A[15,5]=-0,004

A[15,6]=-0,004

A[15,7]=-0,005

A[15,8]=-0,013

A[15,9]=-0,003

A[15,10]=0,003

A[15,11]=0,014

A[15,12]=0,001

A[15,13]=0,017

A[15,14]=-0,01

A[15,15]=-0,02

A[15,16]=-0,005

A[15,17]=-0,019

A[15,18]=0,005

A[15,19]=0,005

A[15,20]=-0,002

A[15,21]=-0,011

A[16,1]=-0,014

A[16,2]=0,003

A[16,3]=-0,006

A[16,4]=-0,002

A[16,5]=0,006

A[16,6]=0,005

A[16,7]=0,009

A[16,8]=0,02

A[16,9]=0

A[16,10]=0,003

A[16,11]=-0,008

A[16,12]=-0,003

A[16,13]=-0,015

A[16,14]=0,005

A[16,15]=0,02

A[16,16]=0,012

A[16,17]=0,019

A[16,18]=-0,002

A[16,19]=-0,012

A[16,20]=0,012

A[16,21]=0,012

A[17,1]=-0,008

A[17,2]=0,008

A[17,3]=-0,002

A[17,4]=-0,004

A[17,5]=0,007

A[17,6]=0,002

A[17,7]=0,005

A[17,8]=0,016

A[17,9]=-0,003

A[17,10]=-0,006

A[17,11]=0,012

A[17,12]=-0,009

A[17,13]=-0,004

A[17,14]=-0,006

A[17,15]=0,012

A[17,16]=0,006

A[17,17]=0,002

A[17,18]=-0,006

A[17,19]=-0,014

A[17,20]=-0,001

A[17,21]=-0,009

A[18,1]=0,027

A[18,2]=-0,022

A[18,3]=0,022

A[18,4]=0,02

A[18,5]=-0,017

A[18,6]=-0,018

A[18,7]=-0,013

A[18,8]=-0,042

A[18,9]=-0,004

A[18,10]=0,001

A[18,11]=-0,007

A[18,12]=0,024

A[18,13]=0,021

A[18,14]=-0,007

A[18,15]=-0,048

A[18,16]=-0,026

A[18,17]=-0,033

A[18,18]=0,018

A[18,19]=0,028

A[18,20]=0

A[18,21]=-0,011

A[19,1]=0,044

A[19,2]=-0,031

A[19,3]=0,037

A[19,4]=0,031

A[19,5]=-0,026

A[19,6]=-0,039

A[19,7]=-0,012

A[19,8]=-0,07

A[19,9]=-0,008

A[19,10]=-0,008

A[19,11]=0,007

A[19,12]=0,027

A[19,13]=0,045

A[19,14]=-0,012

A[19,15]=-0,072

A[19,16]=-0,039

A[19,17]=-0,059

A[19,18]=0,032

A[19,19]=0,051

A[19,20]=-0,004

A[19,21]=-0,024

A[20,1]=-0,006

A[20,2]=-0,003

A[20,3]=-0,006

A[20,4]=0

A[20,5]=0,005

A[20,6]=-0,005

A[20,7]=0,001

A[20,8]=-0,004

A[20,9]=0,007

A[20,10]=0,002

A[20,11]=-0,004

A[20,12]=0,002

A[20,13]=-0,001

A[20,14]=0

A[20,15]=0,002

A[20,16]=0,007

A[20,17]=0,003

A[20,18]=0

A[20,19]=0,001

A[20,20]=-0,004

A[20,21]=0,006

A[21,1]=0,006

A[21,2]=-0,012

A[21,3]=0,009

A[21,4]=0,001

A[21,5]=-0,005

A[21,6]=0,003

A[21,7]=-0,011

A[21,8]=0,005

A[21,9]=0,01

A[21,10]=0,006

A[21,11]=-0,007

A[21,12]=0,008

A[21,13]=0,005

A[21,14]=-0,015

A[21,15]=-0,015

A[21,16]=0,004

A[21,17]=-0,001

A[21,18]=0,002

A[21,19]=0,016

A[21,20]=-0,003

A[21,21]=-0,007

ПРИЛОЖЕНИЕ В – ГРАФИЧЕСКАЯ ЧАСТЬ

Структурная схема программного продукта

КПКО. КП 3731.000 ГЧ

Изм

Лист

№ докум

Подпись

Дата

Разраб

Структурная схема программного

кода

Лит

Лист

Листов

Провер

Савина

у

1

4

Гр. 307 – ЭВМ – 04

Н Контр

Грушникова

Утв.

Блок – схемы расчетных процедур

Блок-схема формирования массива А

r2:= SpinEdit3.Value;

r1:= SpinEdit2.Value;

StringGrid1.Cells[i,j]:=

IntToStr(random(r2-r1+1) + r1);

Неправильно

Введён промежуток чисел

КПКО. КП 3731.000 ГЧ

Изм

Лист

№ докум

Подпись

Дата

Разраб

Блок – схема

формирования

массива А

Лит

Лист

Листов

Провер

Савина

у

1

1

Гр. 307 – ЭВМ – 05

Н Контр

Грушникова

Утв

Блок – схема подсчета матрицы A-1

StringGrid2.Cells[i,j]:=FloatToStr

(Round(1000*obr[j, i])/1000);

КПКО. КП 3731.000 ГЧ

Изм

Лист

№ докум

Подпись

Дата

Разраб

Блок – схема подсчета матрицы A-1

Лит

Лист

Листов

Провер

Савина

у

1

1

Гр. 307 – ЭВМ – 04

Н Контр

Грушникова

Утв

Блок – схема подсчета процедуры Obratis для нахождения матрицы A-1.

if (i=k) and (j=k) then

if (i=k) and (j<>k) then

if (i<>k) and (j=k) then

if (i<>k) and (j<>k) then

obr[i, j]:= b[i, j];

КПКО. КП 3731.000 ГЧ

Изм

Лист

№ докум

Подпись

Дата

Разраб

Блок – схема подсчета процедуры Obratis для нахождения матрицы A-1.

Лит

Лист

Листов

Провер

Савина

у

1

1

Гр. 307 – ЭВМ – 04

Н Контр

Грушникова

Утв

ПРИЛОЖЕНИЕ Г – ДИСКЕТА С ПРОГРАММОЙ