How to resolve the algorithm Long literals, with continuations step by step in the REXX programming language
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