Подсчёт элементов массива по условию
💻 Информатика · 8 класс
Подсчёт элементов по условию
Типовая задача обработки массива — сосчитать, сколько в нём элементов удовлетворяет заданному условию: сколько чисел положительных, сколько чётных, сколько больше среднего. Для решения используют счётчик — переменную, которая накапливает количество подходящих элементов.
Идея счётчика
До начала просмотра массива счётчику присваивают ноль. Затем в цикле перебирают все элементы, и каждый раз, когда условие выполнено, счётчик увеличивают на единицу: счёт := счёт + 1. После цикла в счётчике хранится искомое количество.
Схема алгоритма
Алгоритм подсчёта количества чётных чисел в массиве из n элементов:
счёт := 0; для i от 1 до n: если a[i] mod 2 = 0 то счёт := счёт + 1; вывод счёт
Здесь mod — операция взятия остатка от деления. Если остаток от деления на 2 равен нулю, число чётное.
Разбор примера
Пусть массив содержит числа 4, 7, 10, 3, 6. Проследим работу счётчика.
| Элемент | Чётный? | Счётчик после шага |
|---|---|---|
| 4 | да | 1 |
| 7 | нет | 1 |
| 10 | да | 2 |
| 3 | нет | 2 |
| 6 | да | 3 |
Итог: в массиве три чётных числа.
Частые ошибки. Забывают обнулить счётчик до цикла, и он накапливает «мусор». Увеличивают счётчик вне условия — тогда считаются все элементы подряд. Путают подсчёт количества элементов с накоплением их суммы: счётчик растёт на 1, а сумма — на величину элемента.
Разные условия подсчёта
Меняя условие в операторе «если», получают решения множества задач. Можно сосчитать положительные числа (условие a[i] > 0), числа в заданном диапазоне (a[i] >= 10 и a[i] <= 20) или элементы, равные конкретному значению. Структура алгоритма при этом не меняется: обнуляем счётчик, перебираем элементы, при выполнении условия увеличиваем счётчик.
Подсчёт и сумма вместе
Иногда в одном цикле удобно одновременно и считать количество, и накапливать сумму подходящих элементов — например, чтобы потом найти их среднее арифметическое. Тогда заводят две переменные: счётчик растёт на единицу, а сумма — на величину элемента. После цикла среднее получают делением суммы на количество (при условии, что счётчик не равен нулю).
| Задача | Условие в «если» |
|---|---|
| Сколько положительных | a[i] > 0 |
| Сколько чётных | a[i] mod 2 = 0 |
Сколько равно числу x | a[i] = x |
Освоив счётчик, ученик решает большой класс задач обработки массивов. По тому же образцу строятся и другие алгоритмы накопления — например, нахождение суммы или произведения элементов, удовлетворяющих условию.
Кратко о главном
- Для подсчёта по условию используют переменную-счётчик.
- Счётчик обнуляют до цикла.
- Внутри цикла при выполнении условия делают
счёт := счёт + 1. - Чётность проверяют через остаток:
a[i] mod 2 = 0. - Подсчёт количества отличается от накопления суммы шагом приращения.