Localize file www.TrSek.com/cover/neznamy/cislo_uctu.pas{ CISLO_UCTU.PAS }
{ Program na zistenie ci cislo bankoveho uctu je spravne. }
{ }
{ Author: Neznamy }
{ Date : 27.00.2010 http://www.trsek.com }
program cislo_uctu;
var PredCislie: String; Ucet: String;
{ samotna funkcia na zistenie spravnosti cisla uctu }
function KontrolaModulo (PredCislie: String; Ucet: String): Boolean;
var
Kod: String;
I, J, K: Byte;
Sucet: Word;
Prefix, Account: Boolean;
begin
Kod := '6,3,7,9,10,5,8,4,2,1';
Result := False;
Prefix := False;
Account := False;
{ Kontrola predèíslia }
Sucet := 0;
For I := 0 to 5 do
begin
J := StrToInt(MidStr(PredCislie, I + 1, 1));
K := StrToInt(Field(',', Kod, 5 + I));
Sucet := Sucet + (J * K);
end;
If Sucet Mod 11 = 0 then Prefix := True;
{ Kontrola èísla úètu }
Sucet := 0;
For I := 0 to 9 do
begin
J := StrToInt(MidStr(Ucet, I + 1, 1));
K := StrToInt(Field(',', Kod, I + 1));
Sucet := Sucet + (J * K);
end;
If Sucet Mod 11 = 0 then Account := True;
If (Prefix = True) and (Account = True) then Result := True;
end;
begin
writeln('Program zisti ci je cislo uctu spravne (existujuce)');
write('Zadaj predcislie uctu : ');
readln( PredCislie );
write(' Zadaj cislo uctu : ');
readln( ucet );
{ kontrola }
Write('Ucet ', PredCislie, '-', ucet,' ');
if( KontrolaModulo(PredCislie, Ucet))then
Writeln('je spravny')
else
Writeln('nesplna podmienky na modulo');