How to resolve the algorithm The Name Game step by step in the M2000 Interpreter programming language

Published on 12 May 2024 09:40 PM

How to resolve the algorithm The Name Game step by step in the M2000 Interpreter programming language

Table of Contents

Problem Statement

Write a program that accepts a name as input and outputs the lyrics to the Shirley Ellis song "The Name Game".

The regular verse Unless your name begins with a vowel (A, E, I, O, U), 'B', 'F' or 'M' you don't have to care about special rules. The verse for the name 'Gary' would be like this: At the end of every line, the name gets repeated without the first letter: Gary becomes ary If we take (X) as the full name (Gary) and (Y) as the name without the first letter (ary) the verse would look like this: Vowel as first letter of the name If you have a vowel as the first letter of your name (e.g. Earl) you do not truncate the name. The verse looks like this: 'B', 'F' or 'M' as first letter of the name In case of a 'B', an 'F' or an 'M' (e.g. Billy, Felix, Mary) there is a special rule. The line which would 'rebuild' the name (e.g. bo-billy) is sung without the first letter of the name. The verse for the name Billy looks like this: For the name 'Felix', this would be right:

Let's start with the solution:

Step by Step solution about How to resolve the algorithm The Name Game step by step in the M2000 Interpreter programming language

Source code in the m2000 programming language

Module The.Name.Game {
      Flush 
      Data "Gary", "Earl","Billy","Felix"
      Document doc$="The Name Game"+{
      }
      Report doc$
      song$={
         {0}, {0}, bo-{2}{1}
         Banana-fana fo-{3}{1}
         Fee-fi-mo-{4}{1}
         {0}!    
         }
      While not empty {
            Read x$
            x$=ucase$(left$(x$,1))+lcase$(mid$(x$,2))
            b$=if$(x$ ~ "B*"->"", "b")
            f$=if$(x$ ~ "F*"->"", "f")
            m$=if$(x$ ~ "M*"->"", "m")
            y$=if$(x$ ~ "[AEIOU]*"->lcase$(x$),Mid$(x$, 2))
            toprint$=format$(song$, x$, y$, b$, f$, m$)
            doc$=toprint$
            report toprint$
      }
      Clipboard doc$
}
The.Name.Game

  

You may also check:How to resolve the algorithm Command-line arguments step by step in the Clean programming language
You may also check:How to resolve the algorithm Terminal control/Coloured text step by step in the Pascal programming language
You may also check:How to resolve the algorithm Averages/Pythagorean means step by step in the E programming language
You may also check:How to resolve the algorithm Classes step by step in the GLSL programming language
You may also check:How to resolve the algorithm Mandelbrot set step by step in the Rust programming language