Groups | Search | Server Info | Login | Register


Groups > comp.lang.cobol > #12880

Scrabble Score (exercism solution)

Path csiph.com!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!eternal-september.org!.POSTED!not-for-mail
From "Bruce M. Axtens" <some.one@some.where>
Newsgroups comp.lang.cobol
Subject Scrabble Score (exercism solution)
Date Mon, 13 Jan 2025 07:09:45 -0000 (UTC)
Organization A noiseless patient Spider
Lines 53
Message-ID <vm2e7o$1mcn6$1@dont-email.me> (permalink)
MIME-Version 1.0
Content-Type text/plain; charset=UTF-8
Content-Transfer-Encoding 8bit
Injection-Date Mon, 13 Jan 2025 08:09:45 +0100 (CET)
Injection-Info dont-email.me; posting-host="8b3aa5260e7aef078bf38975aab5beb4"; logging-data="1782502"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/oYkg1E5rb7OaWyfdwcZ2+"
User-Agent Pan/0.149 (Bellevue; 4c157ba)
Cancel-Lock sha1:1YaeRMZex1U+OkZkhzYYoAH9nlM=
Xref csiph.com comp.lang.cobol:12880

Show key headers only | View raw


While trying to solve the Scrabble Scores exercise on Exercism, I read in 
the GnuCOBOL FAQ about CLASS in SPECIAL-NAMES. Is this an okay use 
thereof?

-Bruce

       IDENTIFICATION DIVISION.
       PROGRAM-ID. SCRABBLE-SCORE.
       ENVIRONMENT DIVISION.
       CONFIGURATION SECTION.
       SPECIAL-NAMES.
        CLASS ONES IS 'A', 'E', 'I', 'O', 'U', 'L', 'N', 'R', 'S', 'T'.
        CLASS TWOS IS 'D', 'G'.
        CLASS THREES IS 'B', 'C', 'M', 'P'.
        CLASS FOURS IS 'F', 'H', 'V', 'W', 'Y'.
        CLASS FIVES IS 'K'.
        CLASS EIGHTS IS 'J','X'.
        CLASS TENS IS 'Q','Z'.
       DATA DIVISION.
       WORKING-STORAGE SECTION.         
      *Inputs
       01 WS-WORD   PIC X(60).
       01 WS-WORD-ARRAY REDEFINES WS-WORD.
        03 WS-CHAR PIC X OCCURS 60 TIMES INDEXED BY CHAR-INDEX.
      *Outputs
       01 WS-RESULT PIC 99.
       PROCEDURE DIVISION.
       SCRABBLE-SCORE.
        INITIALIZE WS-RESULT.
        MOVE FUNCTION UPPER-CASE (WS-WORD) TO WS-WORD.
        SET CHAR-INDEX TO 1.
        PERFORM LENGTH OF WS-WORD TIMES
         IF WS-CHAR(CHAR-INDEX) EQUAL SPACE
          EXIT PERFORM
         END-IF
         EVALUATE WS-CHAR(CHAR-INDEX)
          WHEN IS ONES
           ADD 1 TO WS-RESULT
          WHEN IS TWOS
           ADD 2 TO WS-RESULT
          WHEN IS THREES 
           ADD 3 TO WS-RESULT
          WHEN IS FOURS
           ADD 4 TO WS-RESULT
          WHEN IS FIVES 
           ADD 5 TO WS-RESULT
          WHEN IS EIGHTS
           ADD 8 TO WS-RESULT
          WHEN IS TENS
           ADD 10 TO WS-RESULT
         END-EVALUATE
         SET CHAR-INDEX UP BY 1
        END-PERFORM

Back to comp.lang.cobol | Previous | NextNext in thread | Find similar


Thread

Scrabble Score (exercism solution) "Bruce M. Axtens" <some.one@some.where> - 2025-01-13 07:09 +0000
  Re: Scrabble Score (exercism solution) R Daneel Olivaw <Danny@hyperspace.vogon.gov> - 2025-01-13 10:29 +0100
    Re: Scrabble Score (exercism solution) "Bruce M. Axtens" <some.one@some.where> - 2025-01-14 02:59 +0000
      Re: Scrabble Score (exercism solution) R Daneel Olivaw <Danny@hyperspace.vogon.gov> - 2025-01-14 19:40 +0100
        Re: Scrabble Score (exercism solution) docdwarf@panix.com () - 2025-01-14 21:33 +0000

csiph-web