Написать Pascal программу Задача 3. Программа получает на вход последовательность целых чисел, по модулю не превосходящих 109. Признак окончания последовательности — число –2x109. Программа должна определить вид последовательности — возрастающая, убывающая, случайная или постоянная. Ответ следует выдать в следующем формате — в 1-й строке напечатать количество элементов последовательности (без учета –2x109), во 2-й строке — тип последовательности: SCENDING (строго возрастающая); WEAKLY ASCENDING (нестрого возрастающая, т. е. неубывающая); DESCENDING (строго убывающая); WEAKLY DESCENDING (нестрого убывающая, т. е. невозрастающая); CONSTANT (постоянная); RANDOM (случайная). При решении задачи массивы использовать нельзя. Примера входных данных 1 -1 -2000000000 пример выходных данных DESCENDING
var num, prevNum, count: integer; sequenceType: string;
begin count := 0; read(num); prevNum := num;
while num <> -2000000000 do begin count := count + 1; read(num);
if (num > prevNum) and ((sequenceType = 'ASCENDING') or (sequenceType = 'WEAKLY ASCENDING') or (sequenceType = 'CONSTANT')) then sequenceType := 'ASCENDING' else if (num >= prevNum) and ((sequenceType = 'WEAKLY ASCENDING') or (sequenceType = 'CONSTANT')) then sequenceType := 'WEAKLY ASCENDING' else if (num < prevNum) and ((sequenceType = 'DESCENDING') or (sequenceType = 'WEAKLY DESCENDING') or (sequenceType = 'CONSTANT')) then sequenceType := 'DESCENDING' else if (num <= prevNum) and ((sequenceType = 'WEAKLY DESCENDING') or (sequenceType = 'CONSTANT')) then sequenceType := 'WEAKLY DESCENDING' else sequenceType := 'RANDOM'; prevNum := num;
program Task3;
var
num, prevNum, count: integer;
sequenceType: string;
begin
count := 0;
read(num);
prevNum := num;
while num <> -2000000000 do
if (num > prevNum) and ((sequenceType = 'ASCENDING') or (sequenceType = 'WEAKLY ASCENDING') or (sequenceType = 'CONSTANT')) thenbegin
count := count + 1;
read(num);
sequenceType := 'ASCENDING'
else if (num >= prevNum) and ((sequenceType = 'WEAKLY ASCENDING') or (sequenceType = 'CONSTANT')) then
sequenceType := 'WEAKLY ASCENDING'
else if (num < prevNum) and ((sequenceType = 'DESCENDING') or (sequenceType = 'WEAKLY DESCENDING') or (sequenceType = 'CONSTANT')) then
sequenceType := 'DESCENDING'
else if (num <= prevNum) and ((sequenceType = 'WEAKLY DESCENDING') or (sequenceType = 'CONSTANT')) then
sequenceType := 'WEAKLY DESCENDING'
else
sequenceType := 'RANDOM';
prevNum := num;
end;
writeln(count);
writeln(sequenceType);
end.