Читайте также: |
|
AssignFile(f, OpenDialog1.FileName); // связывает логическое имя файла с физическим
Reset(f); // чтение/запись
for i:= 1 to 3 do // всего 3 периода
for j:= 1 to 96 do // всего 96 строчек
Begin
Readln(f, s); // читаем эти строчки
StringGrid1.Cells[i, j]:= s; // каждая ячейка - значение очередной строчки
end;
CloseFile(f); // закрываем файл
end;
end;
{**** Панель - Печать... ****}
procedure TForm4.Action15Execute(Sender: TObject);
Begin
PrintGrid(StringGrid1, lbCaption);
end;
{**** Панель - Помощь ****}
procedure TForm4.Action4Execute(Sender: TObject);
Begin
ShellExecute(handle, 'open', 'helpfile.pdf', nil, nil, SW_SHOWNORMAL);
end;
{**** Панель - О программе ****}
procedure TForm4.Action5Execute(Sender: TObject);
Begin
Form22.Show;
end;
{**** Панель - АЛГОРИТМЫ: ****}
// 1) Условия ликвидности
procedure TForm4.Action6Execute(Sender: TObject);
Var
i, k, g: Byte;
Begin
knop:= 1; // определяем, что для данного алгоритма нужно выполнять 1ую проверку
Proverka; // вызываем процедуру проверки ячеек таблицы
if prov = True then // если всё хорошо, то можно выполнять алгоритм
Begin
{____ 1) Читаем все заполняемые пользователем переменные из таблицы: ____}
// i - № периода и столбца, k - № элемента в массиве, g - № строчки
for i:= 1 to 3 do
Begin
k:= 1; g:= 4; v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
k:= 5; g:= 9; v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
k:= 8; g:= 13; v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
k:= 10; g:= 16; v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
k:= 15; g:= 23; v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
k:= 20; g:= 30; v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
k:= 27; g:= 38; v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
k:= 30; g:= 42; v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
k:= 33; g:= 47; v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
k:= 35; g:= 50; v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
k:= 37; g:= 55; v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
k:= 40; g:= 60; v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
k:= 42; g:= 63; v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
end;
{____ 2) Считаем значения, которые опираются на выше рассчитанные переменные: ____}
for i:= 1 to 3 do
Begin
// АКТИВ
{1} z[v1_1, i]:= v[ 1, i] + v[ 2, i] + v[ 3, i] + v[ 4, i];
z[v1_2, i]:= v[ 5, i] + v[ 6, i] + v[ 7, i];
z[v1_3, i]:= v[ 8, i] + v[ 9, i];
z[v1_4, i]:= v[10, i] + v[11, i] + v[12, i] + v[13, i] + v[14, i];
z[v1, i]:= z[v1_1, i] + z[v1_2, i] + z[v1_3, i] + z[v1_4, i];
{2} z[v2_3_1, i]:= v[20, i] + v[21, i];
z[v2_1, i]:= v[15, i] + v[16, i] + v[17, i] + v[18, i];
z[v2_3, i]:= z[v2_3_1, i] + v[22, i] + v[23, i] + v[24, i] + v[25, i] + v[26, i];
z[v2_4, i]:= v[27, i] + v[28, i] + v[29, i];
z[v2_5, i]:= v[30, i] + v[31, i] + v[32, i];
z[v2, i]:= z[v2_1, i] + v[19, i] + z[v2_3, i] + z[v2_4, i] + z[v2_5, i];
{I} z[vI, i]:= z[v1, i] + z[v2, i];
// ПАССИВ
{4} z[v4_1, i]:= v[37, i] + v[38, i];
z[v4, i]:= z[v4_1, i] + v[39, i];
{5} z[v5_1, i]:= v[40, i] + v[41, i];
z[v5_2, i]:= v[42, i] + v[43, i] + v[44, i] + v[45, i] + v[46, i] + v[47, i] +
v[48, i] + v[49, i];
z[v5, i]:= z[v5_1, i] + z[v5_2, i] + v[50, i] + v[51, i];
{3} z[v3_3, i]:= v[35, i] + v[36, i];
z[v3_4, i]:= z[vI, i] - v[33, i] - v[34, i] - z[v3_3, i] - z[v4, i] - z[v5, i];
z[v3, i]:= v[33, i] + v[34, i] + z[v3_3, i] + z[v3_4, i];
z[vII, i]:= z[v3, i] + z[v4, i] + z[v5, i];
end;
Form5.Show;
end;
end;
// 2) Показатели ликвидности
procedure TForm4.Action7Execute(Sender: TObject);
Var
i, k, g: Byte;
Begin
knop:= 2; // определяем, что для данного алгоритма нужно выполнять 1ую проверку
Proverka; // вызываем процедуру проверки ячеек таблицы
if prov = True then // если всё хорошо, то можно выполнять алгоритм
Begin
{____ 1) Читаем все заполняемые пользователем переменные из таблицы: ____}
// i - № периода и столбца, k - № элемента в массиве, g - № строчки
for i:= 1 to 3 do
Begin
k:= 1; g:= 4; v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
k:= 5; g:= 9; v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
k:= 8; g:= 13; v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
k:= 10; g:= 16; v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
k:= 15; g:= 23; v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
k:= 20; g:= 30; v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
k:= 27; g:= 38; v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
k:= 30; g:= 42; v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
k:= 47; g:= 68; v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
k:= 50; g:= 71; v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
end;
{____ 2) Считаем значения, которые опираются на выше рассчитанные переменные: ____}
for i:= 1 to 3 do
Begin
// АКТИВ
{1} z[v1_1, i]:= v[ 1, i] + v[ 2, i] + v[ 3, i] + v[ 4, i];
z[v1_2, i]:= v[ 5, i] + v[ 6, i] + v[ 7, i];
z[v1_3, i]:= v[ 8, i] + v[ 9, i];
z[v1_4, i]:= v[10, i] + v[11, i] + v[12, i] + v[13, i] + v[14, i];
z[v1, i]:= z[v1_1, i] + z[v1_2, i] + z[v1_3, i] + z[v1_4, i];
{2} z[v2_3_1, i]:= v[20, i] + v[21, i];
z[v2_1, i]:= v[15, i] + v[16, i] + v[17, i] + v[18, i];
z[v2_3, i]:= z[v2_3_1, i] + v[22, i] + v[23, i] + v[24, i] + v[25, i] + v[26, i];
z[v2_4, i]:= v[27, i] + v[28, i] + v[29, i];
z[v2_5, i]:= v[30, i] + v[31, i] + v[32, i];
z[v2, i]:= z[v2_1, i] + v[19, i] + z[v2_3, i] + z[v2_4, i] + z[v2_5, i];
{I} z[vI, i]:= z[v1, i] + z[v2, i];
end;
{____ 3) Считаем переменные-буквы: ____}
for i:= 1 to 3 do
b[SA, i]:= z[vI, i];
Form6.Show;
end;
end;
// 3) Кредитоспособность заёмщика
procedure TForm4.Action8Execute(Sender: TObject);
Var
i, k, g: Byte;
Begin
knop:= 3; // определяем, что для данного алгоритма нужно выполнять 1ую проверку
Proverka; // вызываем процедуру проверки ячеек таблицы
if prov = True then // если всё хорошо, то можно выполнять алгоритм
Begin
{________1) Читаем все заполняемые пользователем переменные из таблицы:________}
// i - № периода и столбца, k - № элемента в массиве, g - № строчки
for i:= 1 to 3 do
Begin
k:= 1; g:= 4; v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
k:= 5; g:= 9; v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
k:= 8; g:= 13; v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
k:= 10; g:= 16; v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
k:= 15; g:= 23; v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
k:= 20; g:= 30; v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
k:= 27; g:= 38; v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
k:= 30; g:= 42; v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
k:= 33; g:= 47; v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
k:= 35; g:= 50; v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
k:= 37; g:= 55; v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
k:= 40; g:= 60; v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
k:= 42; g:= 63; v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
k:= 56; g:= 78; v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
k:= 60; g:= 83; v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
end;
{____ 2) Считаем значения, которые опираются на вышерасчитанные переменные: ____}
for i:= 1 to 3 do
Begin
// АКТИВ
{1} z[v1_1, i]:= v[ 1, i] + v[ 2, i] + v[ 3, i] + v[ 4, i];
z[v1_2, i]:= v[ 5, i] + v[ 6, i] + v[ 7, i];
z[v1_3, i]:= v[ 8, i] + v[ 9, i];
z[v1_4, i]:= v[10, i] + v[11, i] + v[12, i] + v[13, i] + v[14, i];
z[v1, i]:= z[v1_1, i] + z[v1_2, i] + z[v1_3, i] + z[v1_4, i];
{2} z[v2_3_1, i]:= v[20, i] + v[21, i];
z[v2_1, i]:= v[15, i] + v[16, i] + v[17, i] + v[18, i];
z[v2_3, i]:= z[v2_3_1, i] + v[22, i] + v[23, i] + v[24, i] + v[25, i] + v[26, i];
z[v2_4, i]:= v[27, i] + v[28, i] + v[29, i];
z[v2_5, i]:= v[30, i] + v[31, i] + v[32, i];
z[v2, i]:= z[v2_1, i] + v[19, i] + z[v2_3, i] + z[v2_4, i] + z[v2_5, i];
{I} z[vI, i]:= z[v1, i] + z[v2, i];
// ПАССИВ
{4} z[v4_1, i]:= v[37, i] + v[38, i];
z[v4, i]:= z[v4_1, i] + v[39, i];
{5} z[v5_1, i]:= v[40, i] + v[41, i];
z[v5_2, i]:= v[42, i] + v[43, i] + v[44, i] + v[45, i] + v[46, i] + v[47, i] +
v[48, i] + v[49, i];
z[v5, i]:= z[v5_1, i] + z[v5_2, i] + v[50, i] + v[51, i];
{3} z[v3_3, i]:= v[35, i] + v[36, i];
z[v3_4, i]:= z[vI, i] - v[33, i] - v[34, i] - z[v3_3, i] - z[v4, i] - z[v5, i];
z[v3, i]:= v[33, i] + v[34, i] + z[v3_3, i] + z[v3_4, i];
// РАСКРЫТИЕ ИНФОРМАЦИИ О ДОХОДАХ, РАСХОДАХ ПРИБЫЛИ ПРЕДПРИЯТИЯ
{9} z[v9, i]:= v[60, i] - v[61, i];
{12} z[v12, i]:= z[v9, i] - v[62, i] - v[63, i];
end;
{____ 3) Считаем переменные-буквы: ____}
for i:= 1 to 3 do
Begin
b[NLOA, i]:= z[v2_4, i] - v[28, i] + z[v2_5, i];
b[KDZ, i]:= z[v2_3, i] - v[21, i] - v[24, i];
b[LA, i]:= b[NLOA, i] + b[KDZ, i];
b[TKO, i]:= z[v5_1, i] + z[v5_2, i];
b[OA, i]:= z[v2, i];
_OA:= (z[v2, 2] + z[v2, 1]) / 2;
b[SS, i]:= z[v3, i] + v[50, i] + v[51, i];
b[VOA, i]:= z[v1, i];
b[DZ, i]:= z[v2_3, i];
b[Ppr, i]:= z[v12, i];
b[Vpr, i]:= v[60, i];
b[R, i]:= v[56, i];
b[Kpr, i]:= v[57, i];
end;
Form7.Show;
end;
end;
// 4) Финансовая устойчивость
procedure TForm4.Action9Execute(Sender: TObject);
Var
i, k, g: Byte;
Begin
knop:= 4; // определяем, что для данного алгоритма нужно выполнять 1ую проверку
Proverka; // вызываем процедуру проверки ячеек таблицы
if prov = True then // если всё хорошо, то можно выполнять алгоритм
Begin
{________1) Читаем все заполняемые пользователем переменные из таблицы:________}
// i - № периода и столбца, k - № элемента в массиве, g - № строчки
for i:= 1 to 3 do
Begin
k:= 1; g:= 4; v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
k:= 5; g:= 9; v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
k:= 8; g:= 13; v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
k:= 10; g:= 16; v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
k:= 15; g:= 23; v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
k:= 20; g:= 30; v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
k:= 27; g:= 38; v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
k:= 30; g:= 42; v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
k:= 33; g:= 47; v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
k:= 35; g:= 50; v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
k:= 37; g:= 55; v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
k:= 40; g:= 60; v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
k:= 42; g:= 63; v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
k:= 60; g:= 83; v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
k:= 63; g:= 87; v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
end;
{____ 2) Считаем значения, которые опираются на вышерасчитанные переменные: ____}
for i:= 1 to 3 do
Begin
// АКТИВ
{1} z[v1_1, i]:= v[ 1, i] + v[ 2, i] + v[ 3, i] + v[ 4, i];
z[v1_2, i]:= v[ 5, i] + v[ 6, i] + v[ 7, i];
z[v1_3, i]:= v[ 8, i] + v[ 9, i];
z[v1_4, i]:= v[10, i] + v[11, i] + v[12, i] + v[13, i] + v[14, i];
z[v1, i]:= z[v1_1, i] + z[v1_2, i] + z[v1_3, i] + z[v1_4, i];
{2} z[v2_3_1, i]:= v[20, i] + v[21, i];
z[v2_1, i]:= v[15, i] + v[16, i] + v[17, i] + v[18, i];
z[v2_3, i]:= z[v2_3_1, i] + v[22, i] + v[23, i] + v[24, i] + v[25, i] + v[26, i];
z[v2_4, i]:= v[27, i] + v[28, i] + v[29, i];
z[v2_5, i]:= v[30, i] + v[31, i] + v[32, i];
z[v2, i]:= z[v2_1, i] + v[19, i] + z[v2_3, i] + z[v2_4, i] + z[v2_5, i];
{I} z[vI, i]:= z[v1, i] + z[v2, i];
// ПАССИВ
{4} z[v4_1, i]:= v[37, i] + v[38, i];
z[v4, i]:= z[v4_1, i] + v[39, i];
{5} z[v5_1, i]:= v[40, i] + v[41, i];
z[v5_2, i]:= v[42, i] + v[43, i] + v[44, i] + v[45, i] + v[46, i] + v[47, i] +
v[48, i] + v[49, i];
z[v5, i]:= z[v5_1, i] + z[v5_2, i] + v[50, i] + v[51, i];
{3} z[v3_3, i]:= v[35, i] + v[36, i];
z[v3_4, i]:= z[vI, i] - v[33, i] - v[34, i] - z[v3_3, i] - z[v4, i] - z[v5, i];
z[v3, i]:= v[33, i] + v[34, i] + z[v3_3, i] + z[v3_4, i];
// РАСКРЫТИЕ ИНФОРМАЦИИ О ДОХОДАХ, РАСХОДАХ ПРИБЫЛИ ПРЕДПРИЯТИЯ
{9} z[v9, i]:= v[60, i] - v[61, i];
{12} z[v12, i]:= z[v9, i] - v[62, i] - v[63, i];
end;
{____ 3) Считаем переменные-буквы: ____}
for i:= 1 to 3 do
Begin
b[SA, i]:= z[vI, i];
b[SS, i]:= z[v3, i] + v[50, i] + v[51, i];
b[VOA, i]:= z[v1, i];
b[Vpr, i]:= v[60, i];
b[SOS, i]:= z[v3, i] - z[v1, i];
b[ZZ, i]:= z[v2_1, i] + v[19, i];
b[DOO, i]:= z[v4, i];
b[FKo, i]:= b[SOS, i] + b[DOO, i];
b[KZiK, i]:= z[v4_1, i];
b[WI, i]:= b[FKo, i] + b[KZiK, i];
b[KiR, i]:= z[v3, i];
b[OD, i]:= z[v4, i] + z[v5, i] - v[50, i] - v[51, i];
b[FK, i]:= b[SS, i] + z[v4, i];
b[Ri, i]:= z[v1_2, i] + v[15, i] + v[16, i];
_ZZ:= (z[v2_1, 2] + v[19, 2] + z[v2_1, 1] + v[19, 1]) / 2;
_DZ:= (z[v2_3, 2] + z[v2_3, 1]) / 2;
end;
Form10.Show;
end;
end;
// 5) Золотое правило экономики
procedure TForm4.Action10Execute(Sender: TObject);
Var
i, k, g: Byte;
Begin
knop:= 5; // определяем, что для данного алгоритма нужно выполнять 1ую проверку
Proverka; // вызываем процедуру проверки ячеек таблицы
if prov = True then // если всё хорошо, то можно выполнять алгоритм
Begin
{________1) Читаем все заполняемые пользователем переменные из таблицы:________}
// i - № периода и столбца, k - № элемента в массиве, g - № строчки
for i:= 1 to 3 do
Begin
k:= 1; g:= 4; v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
k:= 5; g:= 9; v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
k:= 8; g:= 13; v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
k:= 10; g:= 16; v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
k:= 15; g:= 23; v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
k:= 20; g:= 30; v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
k:= 27; g:= 38; v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
k:= 30; g:= 42; v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
k:= 60; g:= 83; v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
inc(k); inc(g); v[k, i]:= StrToFloat(StringGrid1.Cells[i, g]);
Дата добавления: 2015-10-13; просмотров: 76 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Implementation 2 страница | | | Implementation 4 страница |