Упорядочены ли слова в строке по длине

Задача

Дана строка, состоящая из слов, разделённых пробелами. Проверить, упорядочены ли слова в строке по длине.

Решение

Одним из способов решения данной задачи может быть измерение расстояния в символах между соседними пробелами. Это расстояние является длинной слова. Если длина (current) текущего слова больше или равна длине предыдущего (previous), то слова все еще упорядочены. Если в какой-то момент это станет не так, значит слова не упорядочены. Можно досрочно выйти из цикла (break).

Если мы достигли конца исходной строки (i = len), то должны отдельно проверить длину последнего слова, так как в цикле его длина не сравнивалась с previous, поскольку после последнего слова нет пробела.

var
    s: string;
    i, len: byte;
    previous, current: byte;
 
begin
    readln(s);
    len := length(s);
 
    previous := 0;
    current := 0;
 
    for i:=1 to len do begin
        if s[i] = ' ' then 
            if previous <= current then begin
                previous := current;
                current := 0;
            end
            else begin
                writeln('строки НЕ упорядочены');
                break;
            end;
        current := current + 1;
    end;
 
    if i = len then
        if previous <= current then
            writeln('строки упорядочены')
        else
            writeln('строки НЕ упорядочены');
end.

Пример выполнения 1:

one two three
строки упорядочены

Пример выполнения 2:

one two three four
строки НЕ упорядочены