решить 1. Выбрать функцию, составить блок-схему и программу: • для вычисления значений функции в указанных точках разбиения промежутка ее задания • среди вычисленных значений функции найти наибольшее и наименьшее значения • для решения задачи использовать операторы цикла с параметром, с предусловием и постусловием 2. Предусмотреть ввод параметров a и b (если они есть в задании) с клавиатуры. 3. Вывод значений результатов счета и параметров осуществить на экран. Язык Pascal
Const n = 5; var i: integer; a: array[1..n * 2 + 1] of integer; begin writeln('исходный массив: '); for i : = 1 to 2 * n do begin a[i] : = random(99) + 1; write(a[i] : 5); end; for i : = 2 * n + 1 downto n + 1 do a[i] : = a[i - 1]; a[n + 1] : = 0; writeln(); writeln('полученный массив: '); for i : = 1 to 2 * n + 1 do write(a[i] : 5); end.
Давай попробуем рассуждать логически. Если бы сад состоял из двух деревьев, то было бы два варианта садов: 100+99 и 100+101. Если бы досадили третье дерево, то каждый из предыдущих садов удвоил бы число вариантов: первый 100+99+98 и 100+99+100, и так же второй 100+101+100 и 100+101+102. Подмечаем закономерность: каждое добавляемое дерево удваивает количество вариантов. А сад из одного дерева имеет лишь один вариант.