55
e. Произведение всех значений функции Z для каждого фиксиро-
ванного значения X.
f. Количество положительных и отрицательных значений функции Z.
Каких значений больше?
g. Среднее арифметическое значение функции Z в заданной области.
h. Среднее арифметическое положительных значений функции Z
для каждого фиксированного значения аргумента X.
6. Алгоритмы поиска данных
В программировании часто встречаются задачи поиска в задан-
ной последовательности элемента или нескольких элементов с за-
данными свойствами. Существуют два основных варианта органи-
зации поиска данных.
1. Поиск номера элемента последовательности с заданным значе-
нием. Или поиск элемента больше (меньше) заданного значения и т.д.
2. Поиск максимального или минимального элемента
и его но-
мера в заданной последовательности.
Последовательность для поиска может быть как упорядоченная,
так и неупорядоченная.
Алгоритмы вычисления задач второго варианта изложены в
главе «Типовые приёмы алгоритмизации». В этой главе рассмот-
рим примеры первого варианта поиска данных.
6.1. Поиск номера элемента последовательности
с заданным значением
Задача. Дан массив X
i
, i = 1, …, N и число Y. Найти номер эле-
мента в массиве, значение которого равно Y, X
i
= Y.
Решение. Поиск в массиве реализуется методом простого пе-
ребора элементов массива, пока не будет найден элемент, равный
эталонному значению Y. Если элемент будет найден, то его индекс
будет минимально возможным. Но в заданном массиве может не
оказаться элемента со значением, равным эталонному, хотя массив
будет просмотрен от начала до конца.
Это циклический
алгоритм типа арифметической прогрессии,
поэтому цикличность поиска, количество повторений не превыша-
ет количество элементов в заданной последовательности.