Удаление последнего слова в строке

Задача: 

Требуется в произвольной строке удалить последнее слово, т.е. все символы после последнего пробела в строке.

Описание переменных: 

s – строка;
len – ее длина.

Алгоритм решения задачи: 
  1. Посимвольно просматриваем строку, начиная с конца.
  2. Как только встретится пробел, удаляем все символы от текущей позиции до конца строки и прерываем выполнение цикла.
Программа на языке Паскаль: 

var
    s: string;
    len,i: byte;
begin
    write('String: ');
    readln(s);
    len := length(s);
    for i:=len downto 1 do 
        if s[i]=' ' then begin
            delete(s,i,len-i+1);
            break;
        end;
    writeln(s);
 
readln
end.

Примечания: 

Если не использовать инструкцию break, то цикл продолжит выполняться и постепенно удалит все слова из строки за исключением первого.

Выражение len-i+1 дает в результате длину удаляемой части. Например, если длина строки равна 10, просматривается 7-й символ, и он оказывается пробелом, то приведенное выше выражение вернет 4. Будет удалена подстрока из 4-х символов, начиная с 7-го.