Основы программирования на языке Turbo Pascal. Беляева И.В. - 118 стр.

UptoLike

Составители: 

118
элемент, НЕ удовлетворяющий условию (т.е. он будет больше
или равен N), или пока i не выйдет за пределы массива}
while ( T[i] < N ) and (i <= NumDays ) do
i := i + 1;
{Сейчас i указывает на первый элемент, следующий за цепочкой
(или на первый элемент за пределами массива).
Длину цепочки вычисляем как разность между индексами ее
последнего и первого элементов}
LengthChain := i - BeginChain;
{Если вычисленная длина цепочки больше 0, значит, цепочка
в массиве найденавозвращаем True.
Иначецепочки в массиве нетвозвращаем False }
if LengthChain > 0 then FindChain := true
else FindChain := false;
end;
{==========================================}
{Ищем в массиве температур T, содержащем NumDays значений
температур, длину самой длинной цепочки, содержащей
значения ниже N градусов.
Функция возвращает длину самой длинной цепочки.
Если цепочек нет ни одной, то возвращается 0.}
function LongestChain(const T : ArrayTemperatures;
NumDays : Integer;
N : Temperature) : Integer;
var
startFinding : IndexElement; {Индекс начала поиска цепочки}
beginChain : IndexElement; {Индекс начала цепочки}
lengthChain : Integer; {Длина найденной цепочки}
maxLength : Integer; {Длина самой длинной
найденной цепочки}
begin
maxLength := 0; {Цепочек не найденодлина = 0}
startFinding := 1; {Начинаем искать с начала массива}