Turbo Pascal Объяснение кода

Ответить
hills
Сообщения: 3
Зарегистрирован: 14 апр 2009, 15:54

Здравствуйте!
Объясните пожалуйста как действует данная программа:
[syntax=pascal]
PROGRAM vz_ub;
USES CRT;
LABEL 1;
CONST n=15;

TYPE t = ARRAY [1..n] OF integer;

VAR
A:t;
i,max,imax,v: integer; {счетчик, возр. посл-ть , № элемента возр.посл-ти, промеж. переменная}
min,imin,u : integer; {убывающая последовательность , № эл-та убыв. посл-ти, промеж. переменная}

BEGIN
CLRSCR;
WRITELN('Enter ',n,' numbers 0<=A<1000 :' );
FOR i:=1 TO n DO READ(A);
v:=0;
u:=0;
FOR i:=1 TO n-1 DO
IF A<A[i+1] THEN
BEGIN
v:=v+1;
u:=0;
IF max<v THEN
BEGIN
max:=v;
imax:=i+1;
END;
END
ELSE IF A>A[i+1] THEN
BEGIN
u:=u+1;
v:=0;
IF min<u THEN
BEGIN
min:=u;
imin:=i+1;
END;
END;
WRITELN (' vozrastaut ');
FOR i:=imax-max TO imax DO
WRITE(' ',A,',');
WRITELN ;
WRITELN (' ubivaiut ');
FOR i:=imin-min TO imin DO
WRITE(' ',A,',');
READKEY;
END.
[/syntax]
Интересует вот этот кусок:

Код: Выделить всё

v:=v+1;
u:=0;
IF max<v THEN
[/syntax]
Зачем зануляется переменная u, и что делаеться этим выражением - v+1 ... max<v !?

[b]Программа выполняет следующме задачи: выводит на экран максимально длинные - строго возрастающие подпоследовательности чисел;строго убывающие подпоследовательности чисел.[/b]
--------------------------------------------------------------------------------
Добавлено сообщение
--------------------------------------------------------------------------------
Помогите пожалуйста! Спасибо!
dr.Jekill
Сообщения: 526
Зарегистрирован: 03 янв 2009, 23:17
Откуда: Voronezh
Контактная информация:

Отредактируй код. Сделай отступы и заключи в тэг syntax. Тогда у тебя будет больше шансов на получение помощи.
Нет религии выше истины
hills
Сообщения: 3
Зарегистрирован: 14 апр 2009, 15:54

Спасибо! Так лучше?
dr.Jekill
Сообщения: 526
Зарегистрирован: 03 янв 2009, 23:17
Откуда: Voronezh
Контактная информация:

Откуда, берется значение Max в начале?
Нет религии выше истины
hills
Сообщения: 3
Зарегистрирован: 14 апр 2009, 15:54

Вот в этом то и проблема, может синтаксис косячный, но работает без ошибок, как ни странно...
Ответить