в цикле от второго до предпоследнего элемента смотрятся текущий элемент и его соседи. если текущий элемент больше своих соседей, то в память записывается номер текущего элемента и цикл завершается (потавить переменную в true, а в усовии выполнения цикла потставить ещё проверку значения этой перевенной), первый элемент тройки - то число в памяти-1, второй элемент - само число, а третий элемент - число в памяти+1. Если при завершение цикла не было найдено таких троек(та перменная равна false), то значит таких троек нет.
ПСЕВДОКОД
[n] - n-ый элемент массива(перед [ пишется название массива)(нумерация элементов начинается с нуля)
размер массива - N
массив М;
целое число (intenger) А := 0;
логическа единица(boolean) B := false;
целое число i := 1;
пока(i<N-1 И B=false)
начало
ЕСЛИ(M[i]>M[i-1] И M[i]>M[i+1])
начало
A := i;
B := true;
конец
i := i+1;
конец
ЕСЛИ (B = false) то таких троек нет
ИНАЧЕ то A-1 - превый элемент тройки, A - второй, A+1 - третий.
Задача Требуется написать программу, вычисляющую значение какой-либо функции у = f(x). Допустим, такой:
у = x – 2, если x > 0, y = 0, если x = 0, y = |x|, если x < 0. Решение При определении значений подобных функций переменная y вычисляется по-разному (по разным формулам) в зависимости от значения x.
Такие задачи решаются с конструкции условного оператора if - else. Поскольку в данном случае мы имеем три условия (x > 0, x = 0 и x < 0), то потребуется использование еще вложенной конструкции if - else, т. к. в языке Pascal нет оператора множественного ветвления (оператор case в данном случае не подходит).
В языке программирования Паскаль (да и в других тоже) желательно вложенные конструкции if - else помещать во внешнюю ветку else, а не if. Так проще не запутаться.
Таким образом, алгоритм вычисления значения функции может быть таким:
Если x > 0, то у = x - 2 Иначе (ниже идет вложенная конструкция) Если x = 0, то y = 0 Иначе y = |x|. В последнем пункте можно опустить оператор if с проверкой, что x < 0, так как если ход выполнения программы дошел до этого пункта, то x уже другим быть и не может (варианты, когда он больше или равен нулю, уже были исключены).
в цикле от второго до предпоследнего элемента смотрятся текущий элемент и его соседи. если текущий элемент больше своих соседей, то в память записывается номер текущего элемента и цикл завершается (потавить переменную в true, а в усовии выполнения цикла потставить ещё проверку значения этой перевенной), первый элемент тройки - то число в памяти-1, второй элемент - само число, а третий элемент - число в памяти+1. Если при завершение цикла не было найдено таких троек(та перменная равна false), то значит таких троек нет.
ПСЕВДОКОД
[n] - n-ый элемент массива(перед [ пишется название массива)(нумерация элементов начинается с нуля)
размер массива - N
массив М;
целое число (intenger) А := 0;
логическа единица(boolean) B := false;
целое число i := 1;
пока(i<N-1 И B=false)
начало
ЕСЛИ(M[i]>M[i-1] И M[i]>M[i+1])
начало
A := i;
B := true;
конец
i := i+1;
конец
ЕСЛИ (B = false) то таких троек нет
ИНАЧЕ то A-1 - превый элемент тройки, A - второй, A+1 - третий.