
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 |
||||||
Н Контр |
Грушникова |
|
|
|||||||
Утв |
|
|
|
ПРИЛОЖЕНИЕ
Г – ДИСКЕТА С ПРОГРАММОЙ