Алгоритмизация и программирование задач. Петрова М.В. - 24 стр.

UptoLike

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

24
5.6. Нахождение наибольшего и наименьшего значения
Нахождение наибольшего и наименьшего значения функции
)(xfy = вы-
полняется в цикле, в котором вычисляется текущее значение функции, и срав-
нивается с наибольшим или наименьшим из всех предыдущих значений этой
функции. Если текущее значение функции окажется больше наибольшего из
предыдущих значений, то его надо считать новым наибольшим значением. В
противном случае наибольшее значение остается прежним. Сказанное можно
описать условной математической формулой
>
=
.,
;,
maxmax
max
max
yyеслиy
yyеслиy
y
i
ii
где ni ,...,2,1
=
. (1)
Аналогично для наименьшего значения
<
=
.,
;,
minmin
min
min
yyеслиy
yyеслиy
y
i
ii
(2)
После первого выполнения цикла вычисляется
1
y и сравнивается с на-
чальным значением
max
y или
min
y . После сравнения
max
y или
min
y принимает значе-
ние
1
y . Тогда после вычисления
2
y будет находить наибольшее или наименьшее
из этих первых двух значений функции. Необходимо в качестве начального
значения
max
y брать число порядка –10
10
, чтобы наверняка выполнилось условие
max1
yy > , а в качестве начального значения
min
y очень большое число, чтобы
выполнилось условие
min1
yy <
.
Следует отметить, что здесь речь идет не о максимуме или минимуме
функции, а о наибольшем или наименьшем из вычисленных значений функции.
Это объясняется тем, что ПЭВМ вычисляет дискретные значения функции, и
истинный минимум или максимум может находиться между ними.
5.6.1. Найти наименьшее значение функции
)sin(
ϕω
+=
xaey
bx
в интервале
изменения аргумента x от 0 до с с шагом h.
Схема алгоритма решения этой задачи представлена на рис.15. Блок 3 за-
дает перед циклом начальное значение
19
min
10=y . Блок 5 вычисляет текущее
значение функции, а блоки 6 и 7 реализуют условную формулу (2).
5.6.2. Найти наибольший элемент массива
),...,,(
4021
xxx и его порядковый
номер.
Здесь нет надобности вычислять сравниваемые значения, так как они уже
имеются в массиве
X
. Поэтому в качестве начального значения
max
x берется
первый элемент массива. Поскольку сравнивать первый элемент массива с со-
бой не имеет смысла, цикл выполняется начиная со второго элемента.
Схема алгоритма решения этой задачи представлена на рис.16. Блок 3 пе-
ред циклом задает начальное значение
1max
xx
=
и 1
max
=
N . В цикле блоки 5 и 6
реализуют условную формулу (1), блок 7 определяет номер наибольшего эле-
мента массива.