program last_word; {$mode objfpc}{$H+} type TCharSet = set of Char; function LastWord(const aPhrase: string; separators: TCharSet): String; var L, p: integer; begin L := Length(aPhrase); if (L=0) or (separators=[]) then Exit(''); for p := L downto 1 do if not (aPhrase[p] in separators) then Result := aPhrase[p] + Result else Break; end; var s: string; begin repeat Write('Enter a phrase (or nothing to Quit): '); ReadLn(s); WriteLn('The last word of "', s, '" is: "', LastWord(s, [' ']), '"'); until (s='') end.