1- First the user enters his/her first/middle/last name.
2- It is read.
3- string_chars breaks the string into characters : peter will become p,e,t,e,r
4- getFirstLetter Predicate extracts the first element from the list: from peter we get p.
5- upcase_atom convert lowercase letters to uppercase: p will become P.
6- display the answer using write.
k:-
write('Enter First name: '),nl,
read(FName),nl,
string_chars(FName,N1),
getFirstLetter(N1,L1),
upcase_atom(L1,Str1),
write('Enter Middle name: '),nl,
read(MName),nl,
string_chars(MName,N2),
getFirstLetter(N2,L2),
upcase_atom(L2,Str2),
write('Enter Last name: '),nl,
read(LName),nl,
string_chars(LName,N3),
getFirstLetter(N3,L3),
upcase_atom(L3,Str3),
write(Str1),write(' '),write(Str2),write(' '),write(Str3).
getFirstLetter([H|_],H).
Example:
?-k.
Enter First name:
peter
Enter Middle name:
jane
Enter Last name:
mary
P J M