24 lines
575 B
Text
24 lines
575 B
Text
constant fmt = """
|
|
%s, %s, bo-%s
|
|
Banana-fana fo-%s
|
|
Fee-fi-mo-%s
|
|
%s!
|
|
|
|
"""
|
|
procedure printVerse(string name)
|
|
string x = lower(name)
|
|
integer x1 = upper(x[1]),
|
|
vowel = find(x1,"AEIUO")!=0
|
|
string y = x[2-vowel..$],
|
|
b = 'b'&y, f = 'f'&y, m = 'm'&y
|
|
x[1] = x1
|
|
switch x1 do
|
|
case 'B': b = y
|
|
case 'F': f = y
|
|
case 'M': m = y
|
|
end switch
|
|
printf(1,fmt,{x, x, b, f, m, x})
|
|
end procedure
|
|
|
|
constant tests = {"gARY", "Earl", "Billy", "Felix", "Mary", "SHIRley"}
|
|
for i=1 to length(tests) do printVerse(tests[i]) end for
|