ПОСЛЕДОВАТЕЛЬНОСТЬ ВОЗРАСТАЮЩАЯ
ВВЕДИТЕ X = 4 ВВЕДИТЕ X = 4 ВВЕДИТЕ X = 0 ПОСЛЕДОВАТЕЛЬНОСТЬ НЕ ЯВЛЯЕТСЯ ВОЗРАСТАЮЩЕЙ
Рис. 3.7. Результат работы PRG3_9 Задача 3.10 Вводится последовательность ненулевых чисел, 0 - конец последовательности. Определить, является ли последовательность знакопеременной. В знакопеременной последовательности нет ни одной пары соседних элементов, у которых бы совпадали знаки, например 1-1 2-3 0 - знакопеременная последовательность, а 1 1-2 3-4 0 - нет. PROGRAM PRG3_10; VAR OLD, NEW: REAL; F: BOOLEAN; BEGIN WRITE('BBEДИTE X = '); READLN (OLD); WRITE('BBEДИTE X = '); READLN (NEW); F:= TRUE; REPEAT IF NEW*OLD> = 0 THEN F:= FALSE; OLD:= NEW; WRITE('BBEДИTE X = '); READLN (NEW) UNTIL NEW = 0; IF F THEN WRITELN('ПOCЛEДOBATEЛЬHOCTЬ ЗНАКОПЕРЕМЕННАЯ') ELSE WRITELN('ПOCЛEДOBATEЛЬНОСТЬ HE ЯВЛЯЕТСЯ ЗНАКОПЕРЕМЕННОЙ') END. Для решения задачи: - формируем тело программы и описываем переменные; - вводим два первых числа как OLD и NEW, задаем начальное значение флага; - в цикле ищем нарушение свойства знакопеременное™ членов последовательности; - переприсваиваем значение OLD:= NEW и вводим новое - NEW; - в зависимости от флага выводим результат. Переменные: OLD - предыдущее число; NEW - рассматриваемое число; F - флаг. Поиск по сложному условию в последовательности аналогичен линейному поиску. Каждый член последовательности описывается несколькими свойствами сразу. Само условие формируется с помощью логических операторов AND и OR. Рассмотрим несколько подобных задач. Задача 3.11 На выставке собак, где были представлены разные породы, отбор животных производился по возрасту и высоте холки. Определить, сколько было боксеров 2-3-летнего возраста с высотой холки не менее 55 сантиметров.
|