Az sum go pisal na pascal ti sam si go prevedi na basic
function Check_EGN(EGN: string): Boolean;
{Проверка за правилно контр. число на ЕГН }
const
Ex10: array [1..10] of Longint =
(1000000000,100000000,10000000,
1000000,100000,10000,1000,100,10,1);
var
Nm : array [1..10] of Longint;
Code : Integer;
C_num: Longint;
n_egn: Double;
n: Integer;
begin
Result := False;
Val(EGN, N_Egn, code);
{ Преобразува символната променлива ЕGN в числова N_Egn }
if Code <> 0 then Exit;{ Ако има нецифрови данни или няма въведени данни отива на грешка}
for n := 1 to 10 do
begin
Nm[n] := Trunc( n_egn/Ex10[n] ); { Получава се поредното число от ЕГН в масива Nm }
N_egn := Round( Frac(n_egn/Ex10[n]) * Ex10[n] ); {Подготовка за получаване на следващото число}
end;
{ Изчислява контролното число }
C_num := (Nm[1]*2 + Nm[2]*4 + Nm[3]*8 +
Nm[4]*5 + Nm[5]*10 + Nm[6]*9 +
Nm[7]*7 + Nm[8]*3 + Nm[9]*6) mod 11;
if C_num = 10 then c_num := 0;
if C_num = Nm[10] then
Result := True;
end;
Дори и да не можеш - ТРЯБВА.
Щом трябва значи МОЖЕШ.Редактирано от Shveik на 20.10.01 14:15.