How to resolve the algorithm SEDOLs step by step in the Yabasic programming language

Published on 12 May 2024 09:40 PM

How to resolve the algorithm SEDOLs step by step in the Yabasic programming language

Table of Contents

Problem Statement

For each number list of 6-digit SEDOLs, calculate and append the checksum digit.

That is, given this input: Produce this output: Check each input is correctly formed, especially with respect to valid characters allowed in a SEDOL string.

Let's start with the solution:

Step by Step solution about How to resolve the algorithm SEDOLs step by step in the Yabasic programming language

Source code in the yabasic programming language

data "710889", "B0YBKJ", "406566", "B0YBLH", "228276", "B0YBKL", "557910", "B0YBKR", "585284", "B0YBKT", "B00030", "AB", "B00A03", ""

do
    read d$
    if d$ = "" break
    print sedol$(d$)
loop

sub sedol$(d$)
    LOCAL a, i, s, weights$(1)
    
    a = len(d$)
    if a < 6 or a > 6 return d$ + ": Error in length"
    
    for i = 1 to 6
        if not instr("BCDFGHJKLMNPQRSTVWXYZ0123456789", mid$(d$, i, 1)) return d$ + ": Error in symbol " + mid$(d$, i, 1)
    next
    
    a = token("1 3 1 7 3 9", weights$())
    
    FOR i = 1 TO 6
      a = ASC(MID$(d$, i, 1)) - 48
      s = s + (a + 3 * (a > 9)) * val(weights$(i))
    NEXT
    return d$ + CHR$(48 + mod(10 - mod(s, 10), 10))
end sub

  

You may also check:How to resolve the algorithm Hello world/Text step by step in the AntLang programming language
You may also check:How to resolve the algorithm Execute SNUSP step by step in the COBOL programming language
You may also check:How to resolve the algorithm Mandelbrot set step by step in the ALGOL 68 programming language
You may also check:How to resolve the algorithm Sleeping Beauty problem step by step in the Factor programming language
You may also check:How to resolve the algorithm Longest common subsequence step by step in the Ruby programming language