СДАМ ГИА: РЕШУ ЕГЭ
Образовательный портал для подготовки к экзаменам
Информатика
≡ информатика
сайты - меню - вход - новости




Задания
Версия для печати и копирования в MS Word
Задание 25 № 3647

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

Решение.

Пример правильного описания алгоритма на русском языке.

Заводим переменную Maxlncr для хранения максимального количества подряд идущих в порядке возрастания элементов и счетчик Numlncr для хранения числа элементов в последней группе возрастающих элементов. Просматривая элементы массива, сравниваем очередной элемент со следующим за ним. Если очередной элемент массива оказывается не меньше следующего, то сравниваем текущее значение счетчика со значением переменной Maxlncr; если он больше, то заменяем значение переменной Maxlncr значением счетчика, при этом значение Numlncr обнуляется. Так повторяем до конца массива. В конце работы нужно еще раз сравнить значение счетчика со значением переменной Maxlncr и переопределить ее, если счетчик больше.

Пример правильной и эффективной программы (на основе алгоритма, использующего однократный проход по массиву):

 

ПРОГРАММА НА ПАСКАЛЕПРОГРАММА НА БЕЙСИКЕ
Const N = 30;

Var A: array [1..N] of integer;

maxlncr, numlncr, i:integer;

Begin

maxlncr:=0;

numlncr:=0;

For i:= 1 to N-1 do

Begin

If a[i] < a[i+1] then

numlncr:=numlncr+1;

Else

Begin

If numlncr>maxlncr then

Maxlncr:=numlncr;

numlncr:=0;

End;

End;

If numlncr>maxlncr then maxlncr:=numlncr;

Writeln(maxlncr);

End.

N = 30

DIM i, Maxlncr, Numlncr, a(N) AS

INTEGER

Maxlncr=0

Numlncr=0

FOR i = 1 TO N-l

IF a(i)NumIncr=NumIncr+l

ELSE

IF NumIncr>MaxIncr THEN

MaxIncr=NumIncr

ENDIF

Numlncr=0

ENDIF'

NEXT i

IF NumIncr>MaxIncr THEN

MaxIncr=NumIncr

ENDIF

PRINT Maxlncr

END