- •1.1 Описание алгоритма решения задачи
- •1.2 Основные операторы, процедуры и методы используемые в написании программного кода
- •1.3 Форма приложения, описание используемых свойств компонентов
- •1.4 Текст программного кода.
- •Interface
- •Var a, b, c :matr;
- •I,j,n,m: integer;
- •Implementation
- •Var I, j: integer;
- •Var I, j: integer;
- •Var imin,I,j:integer;
- •2.1 Математическая модель
- •2.2 Словесный алгоритм программы
- •2.3 Форма приложения
- •2.4 Описание основных операторов, процедур и функций
- •2.5 Текст программного кода
Var a, b, c :matr;
I,j,n,m: integer;
sred: array [1..20] of real;
Implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
n:=StrToInt(Edit1.Text);
m:=n;
StringGrid1.Cells[0,0]:='A';
for i:=1 to n do begin
StringGrid1.Cells[0,i]:='i='+IntToStr(i);
StringGrid2.Cells[0,i]:='i='+IntToStr(i);
StringGrid3.Cells[0,i]:='i='+IntToStr(i);
end;
for j:=1 to n do begin
StringGrid1.Cells[j,0]:='j='+IntToStr(j);
StringGrid2.Cells[j,0]:='j='+IntToStr(j);
StringGrid3.Cells[j,0]:='j='+IntToStr(j);
end;
end;
procedure TForm1.Button1Click(Sender: TObject); // Изменить размер
begin
n:=StrToInt(Edit1.Text); // Число строк в массиве
{Задание числа строк и столбцов в таблице}
StringGrid1.RowCount:=N+1;
StringGrid1.ColCount:=N+1;
StringGrid2.RowCount:=N+1;
StringGrid2.ColCount:=N+1;
StringGrid3.RowCount:=N+1;
StringGrid3.ColCount:=N+1;
for i:=1 to n do begin
StringGrid1.Cells[0,i]:='i='+IntToStr(i);
StringGrid2.Cells[0,i]:='i='+IntToStr(i);
StringGrid3.Cells[0,i]:='i='+IntToStr(i);
end;
for j:=1 to n do begin
StringGrid1.Cells[j,0]:='j='+IntToStr(j);
StringGrid2.Cells[j,0]:='j='+IntToStr(j);
StringGrid3.Cells[j,0]:='j='+IntToStr(j);
end;
end;
procedure vvod (var x:matr; k:integer; SGrid: TStringGrid);
Var I, j: integer;
begin
for i:=1 to n do
for j:=1 to n do begin
x[i,j]:=StrToInt(SGrid.Cells[j,i]);
end;
end;
procedure vyvod (var x:matr; k:integer; SGrid: TStringGrid);
Var I, j: integer;
begin
for i:=1 to k do begin
for j:=1 to k do
SGrid.Cells[j,i]:=FloatToStr(x[i,j]);
end;
end;
procedure form (a,b:matr; m:integer);
Var imin,I,j:integer;
min,sr:real;
begin
for i:=1 to n do
begin
sr:=0;
for j:=1 to n do
sr:=sr+b[i,j];
sred[i]:=sr/n;
end;
for i:=1 to n-1 do //Начала сортировки
begin
imin:=i;
min:=sred[imin];
for j:=i+1 to n do
if sred[j]<min then
begin
imin:=j;
min:=sred[j];
end;
sred[imin]:=sred[i];
sred[i]:=min;
end;
for i:=1 to m do
for j:=1 to m do
begin
c[j,i]:=a[i,j]/min;
end;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
vvod (a, n, StringGrid1);
vvod (b, n, StringGrid2);
form(a, b, n );
vyvod(c, n, StringGrid3);
stringgrid3.Cells[i,j]:=floattostr(c[i,j]);
end;
end.
2 Задание №2. Визуальное отображение перемещений механизма
Создать программу для визуального отображения перемещений механизма в соответствии с представленной на рисунке схемой. Программа должна обеспечить визуальное отображение статического начального положения механизма при запуске исполняемого файла и дальнейшее отображение движения механизма управляемое с формы приложения. Приложение выполнить с использованием объектов и пользовательских подпрограмм. Допускается упрощение в прорисовке опор и шарниров механизма.