How to resolve the algorithm The Name Game step by step in the V (Vlang) programming language

Published on 12 May 2024 09:40 PM

How to resolve the algorithm The Name Game step by step in the V (Vlang) 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 V (Vlang) programming language

Source code in the v programming language

fn main() {
    list := ['Gary', 'Earl', 'Billy', 'Felix', 'Mary']
    for name in list {verse(name)}
}

fn verse(name string) {
    mut b, mut f, mut m, mut y :='','','','' 
    mut x := name.to_lower().title()
    y = x.substr(1, x.len)
    if 'AEIOU'.contains(x[0].ascii_str()) {y = x.to_lower()}
    b = 'b' + y
    f = 'f' + y
    m = 'm' + y
    match x[0].ascii_str() {
        'B' {b = y}
        'F' {f = y}
        'M' {m = y}
        else {}
    }
    println('$x, $x, bo-$b')
    println('Banana-fana fo-$f')
    println('Fee-fi-mo-$m')
    println('$x!\n')
}

  

You may also check:How to resolve the algorithm Pseudo-random numbers/Middle-square method step by step in the bc programming language
You may also check:How to resolve the algorithm Averages/Mean time of day step by step in the J programming language
You may also check:How to resolve the algorithm Hello world/Text step by step in the AWK programming language
You may also check:How to resolve the algorithm Magic squares of doubly even order step by step in the Python programming language
You may also check:How to resolve the algorithm Sorting algorithms/Sleep sort step by step in the UNIX Shell programming language