Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
31
Task/SEDOLs/BASIC/sedols.basic
Normal file
31
Task/SEDOLs/BASIC/sedols.basic
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
DECLARE FUNCTION getSedolCheckDigit! (str AS STRING)
|
||||
DO
|
||||
INPUT a$
|
||||
PRINT a$ + STR$(getSedolCheckDigit(a$))
|
||||
LOOP WHILE a$ <> ""
|
||||
|
||||
FUNCTION getSedolCheckDigit (str AS STRING)
|
||||
IF LEN(str) <> 6 THEN
|
||||
PRINT "Six chars only please"
|
||||
EXIT FUNCTION
|
||||
END IF
|
||||
str = UCASE$(str)
|
||||
DIM mult(6) AS INTEGER
|
||||
mult(1) = 1: mult(2) = 3: mult(3) = 1
|
||||
mult(4) = 7: mult(5) = 3: mult(6) = 9
|
||||
total = 0
|
||||
FOR i = 1 TO 6
|
||||
s$ = MID$(str, i, 1)
|
||||
IF s$ = "A" OR s$ = "E" OR s$ = "I" OR s$ = "O" OR s$ = "U" THEN
|
||||
PRINT "No vowels"
|
||||
EXIT FUNCTION
|
||||
END IF
|
||||
IF ASC(s$) >= 48 AND ASC(s$) <= 57 THEN
|
||||
total = total + VAL(s$) * mult(i)
|
||||
ELSE
|
||||
total = total + (ASC(s$) - 55) * mult(i)
|
||||
END IF
|
||||
|
||||
NEXT i
|
||||
getSedolCheckDigit = (10 - (total MOD 10)) MOD 10
|
||||
END FUNCTION
|
||||
Loading…
Add table
Add a link
Reference in a new issue