Информатика. Петрова М.В. - 52 стр.

UptoLike

Составители: 

52
Продолжение приложения В
Схема алгоритма решения этой задачи представлена на рис. В.14. Блок 3
перед циклом задает начальное значение
1max
x
=
x
и
1=
N
max
. В цикле блоки
5 и 6 реализуют условную формулу (1), блок 7 определяет номер наибольшего
элемента массива.
5.61. Найти экстремальное значение функции
2
cxbx
e|a=|y
при
изменения аргумента
x от 0 до 4 с шагом h. Функция такого вида имеет один
экстремум. Если
c>0
, то следует искать минимум, если
0<c
, то максимум.
Рассмотренный выше алгоритм нахождения наибольшего или
наименьшего является универсальным, так как позволяет решить задачу даже в
том случае, если функция не имеет экстремума или имеет несколько
экстремумов. Если же функция имеет один экстремум, то затраты времени на
решение такой задачи можно существенно сократить, используя другой
алгоритм. Пусть функция
имеет один максимум. Тогда вычисляя ее значения,
лежащие до максимума, всегда будем получать новое значение функции,
большее, чем наибольшее из всех предыдущих, т. е. всегда будет выполняться
условие
maxi
y
>
y
. После максимума функция начинает убывать;
следовательно, все последующие
i
y
будут меньше наибольшего. Условие
maxi
y
<
y
можно использовать для выхода из цикла, так как среди
последующих значений функции не может быть наибольшего. Этот процесс
можно описать условной формулой:
y
max
= y
i
, если
y
i
> y
max
;
y
max
= выход из цикла, если
y
i
y
max
.
Аналогично, для нахождения наименьшего значения:
y
min
= y
i
, если
y
i
< y
min
;
y
min
= выход из цикла , если y
i
y
min
.
Рассматриваемая функция всегда положительна. В зависимости от знака
величины
с она имеет максимум или минимум. Поэтому алгоритм должен
начинаться с проверки знака величины
с.
Схема алгоритма приведена на рис. В.15. Блок 3 проверяет знак величины
с, и если он положительный, то
1=
N
(функция имеет минимум), а если
отрицательный, то
1=
N
(функция имеет максимум). Блок 6 задает начальное
значение
m
y
(экстремум). Если
1=
N
, то
19
m
10=y
; если
1=
N
, то
19
m
10=y
. Блок 9 в цикле проверяет условие
m
y
N
<N
y
. Если
1=
N
, то
условие аналогично условию
m
y
<
y
(как и надо при нахождении минимума);