брр... какой неразборчивый код, не удержался
Код:
function Through(k, m: Integer; N_f: Word): Longword; // skvoznoy nomer uzla*
begin
Result := 0;
if (k <= N_f) and (m <= N_f) then
if (m > k) then
Result := Sqr(m + 1) - k
else
Result := Sqr(k) + 1 + m
else
if (k > N_f) and (m <= N_f) then
Result := Sqr(N_f + 1) + 2 * (k - N_f - 1) * N_f + k - N_f + m
else
if (k <= N_f) and (m > N_f) then
Result := Sqr(N_f + 1) + 2 * (m - N_f) * N_f + m - N_f - k
else
ShowMessage('DISKRETNYE KOORDINATY - VNE OBLASTI !')
end;