program PalindromeChecker;
function IsPalindrome(Str: string): Boolean;
var
NormalizedStr, ReversedStr: string;
I: Integer;
begin
// #10 = Line Feed, LF / #13 = Carriage Return, CR / #9 = horizontal tab (TAB character)
// Normalize the string: remove spaces and convert to lowercase
NormalizedStr := '';
for I := 1 to Length(Str) do
if not (Str[I] in [' ', #9, #10, #13]) then
NormalizedStr := NormalizedStr + LowerCase(Str[I]);
// Reverse the normalized string
ReversedStr := '';
for I := Length(NormalizedStr) downto 1 do
ReversedStr := ReversedStr + NormalizedStr[I];
// Compare normalized string with reversed string
IsPalindrome := NormalizedStr = ReversedStr;
end;
begin
Writeln('Is palindrome: ', IsPalindrome('A man a plan a canal Panama'));
Writeln('Is palindrome: ', IsPalindrome('abcDefg'));
end.
(*
run:
Is palindrome: TRUE
Is palindrome: FALSE
*)