Составить блок схему
Добрый день!! Очень прошу помощи!!(( составить блок схему по коду Delphi. Завтра зачет, сдавать надо!!(( ничего не понимаю!!!!
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Grids;
type
TForm1 = class(TForm)
Edit1: TEdit;
Label1: TLabel;
StringGrid1: TStringGrid;
StringGrid2: TStringGrid;
Label2: TLabel;
Label3: TLabel;
Edit2: TEdit;
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var n,i,j,imax,jmax:integer;
a:array of array of real;
max:real;
begin
n:=strtoint(edit1.text);
StringGrid1.ColCount:=n;
StringGrid1.RowCount:=n;
StringGrid2.ColCount:=n-1;
StringGrid2.RowCount:=n-1;
Setlength(a,n,n);
randomize;
for i:=0 to n-1 do
begin
for j:=0 to n-1 do
begin
a[i,j]:=10*random-5;
StringGrid1.Cells[j,i]:=floattostrf(a[i,j],fffixed,5,2);
end;
end;
//ïðèñâàèâàåì ïåðâîìó ýëåìåíòó ìàòðèöû çíà÷åíèå ìàêñèìóìà, ñòîðîêå è ñòîëáöó - 1;
max:=abs(a[0,0]);imax:=0;jmax:=0;
for i:=0 to n-1 do
for j:=0 to n-1 do
if (a[i,j])>max then
begin
max:=a[i,j]; //ìàêñèìàëüíûé ýëåìåíò
imax:=i; //ñòðîêà, ãäå îí íàõîäèòñÿ
jmax:=j; //ñòîëáåö, ãäå îí íàõîäèòñÿ
end;
//âûâîäèì äàííûå î ìàêñèìàëüíîì ýëåìåíòå
edit2.Text:='Ìàêñèìàëüíûé ýëåìåíò='+floattostrf(max,fffixed,5,2)+
' â ñòðîêå ¹ '+inttostr(imax+1)+' â ñòîëáöå ¹ '+ inttostr(jmax+1);
//ñìåùàåì âñå ýëåìåíòû â ñòðîêàõ îò êîíöà ñòðîêè äî íóæíîãî
//ñòîëáöà íà îäèí âëåâî (óäàëÿåì ñòîëáåö)
for i:=0 to n-1 do
for j:=jmax to n-2 do
begin
a[i,j]:=a[i,j+1];
end;
//ñìåùàåì âñå ýëåìåíòû â ñòîëáöàõ îò êîíöà ñòîëáöà äî íóæíîé
//ñòðîêè íà îäèí ââåðõ (óäàëÿåì ñòðîêó)
for j:=0 to n-1 do
for i:=imax to n-2 do
begin
a[i,j]:=a[i+1,j];
end;
//çàíîñèì ðåçóëüòàò âî âòîðóþ òàáëèöó
for i:=0 to n-2 do
begin
for j:=0 to n-2 do
begin
StringGrid2.Cells[j,i]:=floattostrf(a[i,j],fffixed,5,2);
end;
end;
end;
end.
Добрый день!! Очень прошу помощи!!(( составить блок схему по коду Delphi. Завтра зачет, сдавать надо!!(( ничего не понимаю!!!!
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Grids;
type
TForm1 = class(TForm)
Edit1: TEdit;
Label1: TLabel;
StringGrid1: TStringGrid;
StringGrid2: TStringGrid;
Label2: TLabel;
Label3: TLabel;
Edit2: TEdit;
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var n,i,j,imax,jmax:integer;
a:array of array of real;
max:real;
begin
n:=strtoint(edit1.text);
StringGrid1.ColCount:=n;
StringGrid1.RowCount:=n;
StringGrid2.ColCount:=n-1;
StringGrid2.RowCount:=n-1;
Setlength(a,n,n);
randomize;
for i:=0 to n-1 do
begin
for j:=0 to n-1 do
begin
a[i,j]:=10*random-5;
StringGrid1.Cells[j,i]:=floattostrf(a[i,j],fffixed,5,2);
end;
end;
//ïðèñâàèâàåì ïåðâîìó ýëåìåíòó ìàòðèöû çíà÷åíèå ìàêñèìóìà, ñòîðîêå è ñòîëáöó - 1;
max:=abs(a[0,0]);imax:=0;jmax:=0;
for i:=0 to n-1 do
for j:=0 to n-1 do
if (a[i,j])>max then
begin
max:=a[i,j]; //ìàêñèìàëüíûé ýëåìåíò
imax:=i; //ñòðîêà, ãäå îí íàõîäèòñÿ
jmax:=j; //ñòîëáåö, ãäå îí íàõîäèòñÿ
end;
//âûâîäèì äàííûå î ìàêñèìàëüíîì ýëåìåíòå
edit2.Text:='Ìàêñèìàëüíûé ýëåìåíò='+floattostrf(max,fffixed,5,2)+
' â ñòðîêå ¹ '+inttostr(imax+1)+' â ñòîëáöå ¹ '+ inttostr(jmax+1);
//ñìåùàåì âñå ýëåìåíòû â ñòðîêàõ îò êîíöà ñòðîêè äî íóæíîãî
//ñòîëáöà íà îäèí âëåâî (óäàëÿåì ñòîëáåö)
for i:=0 to n-1 do
for j:=jmax to n-2 do
begin
a[i,j]:=a[i,j+1];
end;
//ñìåùàåì âñå ýëåìåíòû â ñòîëáöàõ îò êîíöà ñòîëáöà äî íóæíîé
//ñòðîêè íà îäèí ââåðõ (óäàëÿåì ñòðîêó)
for j:=0 to n-1 do
for i:=imax to n-2 do
begin
a[i,j]:=a[i+1,j];
end;
//çàíîñèì ðåçóëüòàò âî âòîðóþ òàáëèöó
for i:=0 to n-2 do
begin
for j:=0 to n-2 do
begin
StringGrid2.Cells[j,i]:=floattostrf(a[i,j],fffixed,5,2);
end;
end;
end;
end.