How to resolve the algorithm Long literals, with continuations step by step in the REXX programming language

Published on 12 May 2024 09:40 PM

How to resolve the algorithm Long literals, with continuations step by step in the REXX programming language

Table of Contents

Problem Statement

This task is about writing a computer program that has long literals   (character literals that may require specifying the words/tokens on more than one (source) line,   either with continuations or some other method, such as abutments or concatenations   (or some other mechanisms).

The literal is to be in the form of a "list",   a literal that contains many words (tokens) separated by a blank (space),   in this case   (so as to have a common list),   the (English) names of the chemical elements of the periodic table.

The list is to be in (ascending) order of the (chemical) element's atomic number: ... up to the last known (named) chemical element   (at this time).

Do not include any of the   "unnamed"   chemical element names such as:

To make computer programming languages comparable,   the statement widths should be restricted to less than   81   bytes (characters),   or less if a computer programming language has more restrictive limitations or standards. Also mention what column the programming statements can start in if   not   in column one.

The list   may   have leading/embedded/trailing blanks during the declaration   (the actual program statements),   this is allow the list to be more readable.   The "final" list shouldn't have any leading/trailing or superfluous blanks   (when stored in the program's "memory"). This list should be written with the idea in mind that the program   will   be updated,   most likely someone other than the original author,   as there will be newer (discovered) elements of the periodic table being added   (possibly in the near future).   These future updates should be one of the primary concerns in writing these programs and it should be "easy" for someone else to add chemical elements to the list   (within the computer program). Attention should be paid so as to not exceed the   clause length   of continued or specified statements,   if there is such a restriction.   If the limit is greater than (say) 4,000 bytes or so,   it needn't be mentioned here.

Show all output here, on this page.

Let's start with the solution:

Step by Step solution about How to resolve the algorithm Long literals, with continuations step by step in the REXX programming language

Source code in the rexx programming language

/*REXX pgm illustrates how to code a list of words  (named chemical elements  */
/*──────────────────────── ordered by their atomic number)  in a list format. */

$= 'hydrogen     helium        lithium     beryllium   boron        carbon'    ,
   'nitrogen     oxygen        fluorine    neon        sodium       magnesium' ,
   'aluminum     silicon       phosphorous sulfur      chlorine     argon'     ,
   'potassium    calcium       scandium    titanium    vanadium     chromium'  ,
   'manganese    iron          cobalt      nickel      copper       zinc'      ,
   'gallium      germanium     arsenic     selenium    bromine      krypton'   ,
   'rubidium     strontium     yttrium     zirconium   niobium      molybdenum',
   'technetium   ruthenium     rhodium     palladium   silver       cadmium'   ,
   'indium       tin           antimony    tellurium   iodine       xenon'     ,
   'cesium       barium        lanthanum   cerium      praseodymium neodymium' ,
   'promethium   samarium      europium    gadolinium  terbium      dysprosium',
   'holmium      erbium        thulium     ytterbium   lutetium     hafnium'   ,
   'tantalum     tungsten      rhenium     osmium      iridium      platinum'  ,
   'gold         mercury       thallium    lead        bismuth      polonium'  ,
   'astatine     radon         francium    radium      actinium     thorium'   ,
   'protactinium uranium       neptunium   plutonium   americium    curium'    ,
   'berkelium    californium   einsteinium fermium     mendelevium  nobelium'  ,
   'lawrencium   rutherfordium dubnium     seaborgium  bohrium      hassium'   ,
   'meitnerium   darmstadtium  roentgenium copernicium nihonium     flerovium' ,
   'moscovium    livermorium   tennessine  oganesson'

                            /* [↑]  element list using continuation  (commas).*/

updated= 'February 29th, 2020'            /*date of the last revision of list.*/
say 'revision date of the list: ' updated /*show the date of the last update. */
elements= space($)                        /*elide excess  blanks   in the list*/
#= words(elements)                        /*the  number of elements "  "   "  */
say 'number of elements in the list: ' #  /*show   "     "    "     "  "   "  */
say 'the last element is: '    word($, #) /*stick a fork in it, we're all done*/


/*REXX pgm illustrates how to code a list of words  (named chemical elements  */
/*──────────────────────── ordered by their atomic number)  in a list format. */

$=  'hydrogen     helium        lithium     beryllium   boron        carbon'
$=$ 'nitrogen     oxygen        fluorine    neon        sodium       magnesium'
$=$ 'aluminum     silicon       phosphorous sulfur      chlorine     argon'
$=$ 'potassium    calcium       scandium    titanium    vanadium     chromium'
$=$ 'manganese    iron          cobalt      nickel      copper       zinc'
$=$ 'gallium      germanium     arsenic     selenium    bromine      krypton'
$=$ 'rubidium     strontium     yttrium     zirconium   niobium      molybdenum'
$=$ 'technetium   ruthenium     rhodium     palladium   silver       cadmium'
$=$ 'indium       tin           antimony    tellurium   iodine       xenon'
$=$ 'cesium       barium        lanthanum   cerium      praseodymium neodymium'
$=$ 'promethium   samarium      europium    gadolinium  terbium      dysprosium'
$=$ 'holmium      erbium        thulium     ytterbium   lutetium     hafnium'
$=$ 'tantalum     tungsten      rhenium     osmium      iridium      platinum'
$=$ 'gold         mercury       thallium    lead        bismuth      polonium'
$=$ 'astatine     radon         francium    radium      actinium     thorium'
$=$ 'protactinium uranium       neptunium   plutonium   americium    curium'
$=$ 'berkelium    californium   einsteinium fermium     mendelevium  nobelium'
$=$ 'lawrencium   rutherfordium dubnium     seaborgium  bohrium      hassium'
$=$ 'meitnerium   darmstadtium  roentgenium copernicium nihonium     flerovium'
$=$ 'moscovium    livermorium   tennessine  oganesson'

                                          /* [↑]  element list using abutments*/

update= '29Feb2020'                       /*date of the last revision of list.*/
say 'revision date of the list: '  update /*show the date of the last update. */
elements= space($)                        /*elide excess  blanks   in the list*/
#= words(elements)                        /*the  number of elements "  "   "  */
say 'number of elements in the list: ' #  /*show   "     "    "     "  "   "  */
say 'the last element is: '    word($, #) /*stick a fork in it, we're all done*/


  

You may also check:How to resolve the algorithm JSON step by step in the JavaScript programming language
You may also check:How to resolve the algorithm Bitwise operations step by step in the LFE programming language
You may also check:How to resolve the algorithm Start from a main routine step by step in the Arturo programming language
You may also check:How to resolve the algorithm Function definition step by step in the Quackery programming language
You may also check:How to resolve the algorithm Sorting algorithms/Insertion sort step by step in the Icon and Unicon programming language