100 PROGRAM "IBAN.bas" 110 STRING CO$(1 TO 93)*2 120 NUMERIC LG(1 TO 93) 130 FOR I=1 TO 93 140 READ CO$(I),LG(I) 150 NEXT 160 DO 170 PRINT :PRINT "IBAN code: ":INPUT PROMPT ">":IB$ 180 IF IB$="" THEN EXIT DO 190 IF IBAN(IB$) THEN 200 PRINT "CRC ok." 210 ELSE 220 SET #102:INK 3:PRINT "CRC error.":SET #102:INK 1 230 END IF 240 LOOP 250 DEF TRIM$(S$) 260 LET T$="" 270 FOR I=1 TO LEN(S$) 280 IF S$(I)>CHR$(47) AND S$(I)LG(N) THEN PRINT "Number length does not match.":EXIT DEF 360 LET IB$=IB$&IB$(1:4):LET IB$=IB$(5:) 370 CALL CONVERT(IB$) 380 FOR I=1 TO LEN(IB$) 390 LET T$=STR$(M)&IB$(I) 400 LET M=MOD(VAL(T$),97) 410 NEXT 420 IF M=1 THEN LET IBAN=-1 430 END DEF 440 DEF FIND(S$) 450 LET FIND=0 460 LET BO=LBOUND(CO$):LET UP=UBOUND(CO$) 470 DO 480 LET K=INT((BO+UP)/2) 490 IF CO$(K)S$ THEN LET UP=K-1 510 LOOP WHILE BO<=UP AND CO$(K)<>S$ 520 IF BO<=UP THEN LET FIND=K 530 END DEF 540 DEF CONVERT(REF S$) 550 LET T$="" 560 FOR I=1 TO LEN(S$) 570 IF S$(I)>CHR$(64) AND S$(I)