Вопрос 22 Алгоритмы обработки одномерных массивов. Поиск экстремальных значений. Поиск по сложному условию. Алгоритм вычисления суммы
1. Пусть дан массив A, состоящий из n элементов: a1, a2, a3, …, an. Нужно найти их сумму, т.е. S=a1+a2+a3+…+an.
Нахождение суммы есть последовательное нахождение Алгоритм формирования нового массива
Как положительные элементы массива A сформировать в массив? Обозначим массив положительных элементов B и по пути “+” после блока 7 поставим присвоение соответствующему элементу массива B элемент массива A, т.е. блок, содержимое которого bk=ai.
k будем использовать как меняющийся индекс нового массива. Необходимо обратить внимание учащихся на блок 2, в котором требуется описать массив B, указав количество его элементов равное количеству элементов массива A. Схема алгоритма на рис.3б.
| суммы по формулам:
S=0 S=S+a2 … S=S+ai S=S+an
S=S+a1 S=S+a3 …
Алгоритм вычисления суммы удобно организовать циклом, взяв за параметр цикла переменную i, которая меняется от 1 до n с шагом 1, и записав в цикле формулу S=S+ai один раз. Схема алгоритма приведена на рис. 1а.
Алгоритм определения максимального элемента
Для получения максимального числа введем переменную M и ей присвоим значение первого элемента массива a1, а затем необходимо сравнить M с текущим элементом массива ai и если текущий элемент будет больше M, то значение M заменить на значение этого элемента. Схема алгоритма на Рис. 4. Очень важно обратить внимание учащихся на начальное значение переменной M. Почему, например нельзя переменной M присвоить значение равное нулю?(Ответ: Для массива с отрицательными значениями элементов максимум не будет найден.)
|