Ответ в теме: Составить строку из первых и последних букв слов первоначальной строки

      Комментарии к записи Ответ в теме: Составить строку из первых и последних букв слов первоначальной строки отключены
#1969

Разбейте строку на список слов при помощи предиката string_to_words, а затем получайте первые или последние символы:

get_first_words_symbols_string(String, FirstWordsSymbols):-
  string_to_words(String, Words),
  words_to_first_symbol_string(Words, FirstWordsSymbols).

Можно описать две вспомогательных функции, возвращающие первый и последний символ слова (строки) соответственно:

get_first_symbol([Symbol|_StringTail], Symbol).
get_last_symbol(Word, Symbol):-
  reverse(Word, [Symbol|_WordTail]).

Для получения последнего символа можно использовать встроенную функцию last, однако, она отсутствует в Turbo и Visual Prolog, поэтому выполняется реверс списка и берется первый символ.

words_to_first_symbol_string([], ""):-!.
words_to_first_symbol_string([Word|OtherWords], [SymbolWord|SymbolOtherWords]):-
  get_first_symbol(Word, SymbolWord), 
  words_to_first_symbol_string(OtherWords, SymbolOtherWords).

Если все слова обработаны (исходный список пуст) – функция возвращает пустую строку. В противном случае необходимо для первого слова получить требуемый символ, остальные слова обработать рекурсивно и дополнить полученный результат символом.