Среднее арифметическое элементов массива
💻 Информатика · 8 класс
Постановка задачи
Среднее арифметическое набора чисел — это их сумма, делённая на количество чисел. Для массива это одна из самых частых задач обработки данных. С её помощью находят средний балл ученика, среднюю температуру за неделю, средний рост в классе. Задача хороша тем, что соединяет два базовых приёма работы с массивом: накопление суммы и итоговое деление.
План решения
Задача естественно распадается на два понятных шага:
- пройти по всем элементам массива в цикле и накопить их сумму в отдельной переменной;
- разделить полученную сумму на число элементов.
Накопление суммы — это уже знакомый приём: заводят переменную-накопитель, обязательно обнуляют её перед циклом, а затем в цикле прибавляют к ней каждый элемент по очереди.
Разбор на примере
Пусть массив содержит оценки: 4, 5, 3, 5, 3. Всего элементов пять. Проследим, как растёт сумма.
| Шаг | Элемент | Сумма |
|---|---|---|
| 1 | 4 | 4 |
| 2 | 5 | 9 |
| 3 | 3 | 12 |
| 4 | 5 | 17 |
| 5 | 3 | 20 |
Сумма всех оценок равна 20, элементов 5, значит среднее равно 20 / 5 = 4. Средний балл получился целым, но так бывает не всегда.
Запись алгоритма
сумма = 0
для i от 1 до n
сумма = сумма + a[i]
конец
среднее = сумма / n
Результат деления, как правило, хранят в вещественной переменной, ведь среднее часто оказывается дробным. Например, среднее чисел 5 и 2 равно 3.5 — целочисленная переменная такое значение хранить не сможет.
Среднее не по всем элементам
Иногда среднее нужно вычислить не по всему массиву, а только по элементам, удовлетворяющим условию: например, средний балл лишь по положительным оценкам или средняя цена только товаров дороже ста рублей. Тогда в цикле заводят два накопителя — отдельно сумму подходящих элементов и отдельно их количество. В конце сумму делят на это количество. Здесь важно следить, чтобы количество не оказалось нулём, иначе деление станет невозможным: если ни один элемент не подошёл под условие, среднее попросту не определено, и программа должна сообщить об этом, а не пытаться делить на ноль.
Частые ошибки. Не выполняйте деление внутри цикла — оно нужно только один раз, после того как накоплена вся сумма. Используйте обычное (вещественное) деление, а не целочисленное, иначе дробная часть среднего потеряется. И помните: делить нужно на количество элементов n, а не на индекс последнего шага, если индексация в массиве начинается не с единицы.
Кратко о главном
- Среднее арифметическое — сумма чисел, делённая на их количество.
- Сначала в цикле накапливают сумму всех элементов.
- Затем сумму делят на число элементов массива.
- Деление выполняют один раз, уже после цикла.
- Результат хранят в вещественной переменной.
- Накопитель суммы обязательно обнуляют до цикла.