Определить длины кратчайшего и самого длинного слов в строке

Задача: 

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

Описание переменных: 
  • str - исходная строка,
  • len - длина исходной строки,
  • shortest, longest - длины самого короткого и самого длинного слов,
  • current - длина текущего слова.
Алгоритм решения задачи: 
  1. Увеличиваем значение переменной current, пока не встретим пробел. Тем самым узнаем длину текущего слова.
  2. Если очередной символ - это пробел, то сравниваем значение current со значениями записанными в переменных shortest и longest. При необходимости меняем их значения на то, что находится в current. Значение current обнуляем.
  3. Чтобы сравнить длину последнего слова (ведь пробела после него может не быть, и, следовательно, current не сравнивается с shortest и longest), предусмотрено сравнение переменных за циклом.
Программа на языке Паскаль: 

var
    str: string;
    len, i: byte;
    shortest, longest, current: byte;
begin
    readln(str);
    len := length(str);
    shortest := 255;
    longest := 0;
    current := 0;
    for i:=1 to len do begin
        if (str[i] <> ' ') then
            current := current + 1
        else begin
            if current < shortest then
                shortest := current;
            if current > longest then
                longest := current;
            current := 0;
        end;
    end;
    if current < shortest then
        shortest := current;
    if current > longest then
        longest := current;
 
    writeln(shortest, ' ', longest);
readln;
end.

Комментарии

вывести следующую дату

вводится дата формата dd.mm.gggg , нужно что бы после ввода этой даты, прога выводила следующую дату.

Это большая прога, т.к. есть

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