1. припустимо string a(масив символів); length(a)-кількість символів строки.
Варіантів декілька..
Пробираємо по одному символу(цикл). Знаходимо пропуск(a[i]{доступ до символу}=' '), запускаємо цикл for downto do до 1 або попереднього пропуску і по буквам виводимо назад(цикл в циклі) це буде 1 слово. ітд всі слова. не забуваємо про пропуск з якого продовжуємо.
2,3 впринципі аналогія 1-го(синтаксисом(строки додаються а=a+b or concat(a,b))). Тільки логічно граємося.