{ 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'); readln; end.