P
pro·school.ru
Каталог школ

Среднее арифметическое элементов массива

💻 Информатика · 8 класс

Постановка задачи

Среднее арифметическое набора чисел — это их сумма, делённая на количество чисел. Для массива это одна из самых частых задач обработки данных. С её помощью находят средний балл ученика, среднюю температуру за неделю, средний рост в классе. Задача хороша тем, что соединяет два базовых приёма работы с массивом: накопление суммы и итоговое деление.

План решения

Задача естественно распадается на два понятных шага:

  1. пройти по всем элементам массива в цикле и накопить их сумму в отдельной переменной;
  2. разделить полученную сумму на число элементов.

Накопление суммы — это уже знакомый приём: заводят переменную-накопитель, обязательно обнуляют её перед циклом, а затем в цикле прибавляют к ней каждый элемент по очереди.

Разбор на примере

Пусть массив содержит оценки: 4, 5, 3, 5, 3. Всего элементов пять. Проследим, как растёт сумма.

ШагЭлементСумма
144
259
3312
4517
5320

Сумма всех оценок равна 20, элементов 5, значит среднее равно 20 / 5 = 4. Средний балл получился целым, но так бывает не всегда.

Запись алгоритма

сумма = 0 для i от 1 до n сумма = сумма + a[i] конец среднее = сумма / n

Результат деления, как правило, хранят в вещественной переменной, ведь среднее часто оказывается дробным. Например, среднее чисел 5 и 2 равно 3.5 — целочисленная переменная такое значение хранить не сможет.

Среднее не по всем элементам

Иногда среднее нужно вычислить не по всему массиву, а только по элементам, удовлетворяющим условию: например, средний балл лишь по положительным оценкам или средняя цена только товаров дороже ста рублей. Тогда в цикле заводят два накопителя — отдельно сумму подходящих элементов и отдельно их количество. В конце сумму делят на это количество. Здесь важно следить, чтобы количество не оказалось нулём, иначе деление станет невозможным: если ни один элемент не подошёл под условие, среднее попросту не определено, и программа должна сообщить об этом, а не пытаться делить на ноль.

Частые ошибки. Не выполняйте деление внутри цикла — оно нужно только один раз, после того как накоплена вся сумма. Используйте обычное (вещественное) деление, а не целочисленное, иначе дробная часть среднего потеряется. И помните: делить нужно на количество элементов n, а не на индекс последнего шага, если индексация в массиве начинается не с единицы.

Кратко о главном

  • Среднее арифметическое — сумма чисел, делённая на их количество.
  • Сначала в цикле накапливают сумму всех элементов.
  • Затем сумму делят на число элементов массива.
  • Деление выполняют один раз, уже после цикла.
  • Результат хранят в вещественной переменной.
  • Накопитель суммы обязательно обнуляют до цикла.