HTML Diff
0 added 0 removed
Original 2026-01-01
Modified 2026-02-26
1 <p>Распространенный вариант использования циклов с массивами -<strong>агрегация</strong>. Агрегацией называются любые вычисления, которые, как правило, строятся на основе всего набора данных, например, поиск максимального, среднего, суммы и так далее. Процесс агрегации не требует знания нового синтаксиса, но влияет на алгоритм решения задач. Поэтому имеет смысл рассмотреть его отдельно. Начнем с поиска максимального.</p>
1 <p>Распространенный вариант использования циклов с массивами -<strong>агрегация</strong>. Агрегацией называются любые вычисления, которые, как правило, строятся на основе всего набора данных, например, поиск максимального, среднего, суммы и так далее. Процесс агрегации не требует знания нового синтаксиса, но влияет на алгоритм решения задач. Поэтому имеет смысл рассмотреть его отдельно. Начнем с поиска максимального.</p>
2 <p>Почему это пример агрегации? Здесь мы видим<em>вычисление</em>, которое включает в себя сравнение всех элементов для поиска одного, которое станет результатом этой операции.</p>
2 <p>Почему это пример агрегации? Здесь мы видим<em>вычисление</em>, которое включает в себя сравнение всех элементов для поиска одного, которое станет результатом этой операции.</p>
3 <p>Обратите внимание, что начальным значением max взят первый элемент, а не, скажем, число 0. Ведь может оказаться так, что все числа в массиве меньше 0, и тогда мы получим неверный ответ.</p>
3 <p>Обратите внимание, что начальным значением max взят первый элемент, а не, скажем, число 0. Ведь может оказаться так, что все числа в массиве меньше 0, и тогда мы получим неверный ответ.</p>
4 <p>Теперь рассмотрим поиск суммы:</p>
4 <p>Теперь рассмотрим поиск суммы:</p>
5 <p>Алгоритм поиска суммы значительно проще, но обладает парой важных нюансов.</p>
5 <p>Алгоритм поиска суммы значительно проще, но обладает парой важных нюансов.</p>
6 <p>Чему равна сумма элементов пустого массива? С точки зрения математики такая сумма равна 0. Что в принципе совпадает со здравым смыслом. Если у нас нет яблок, значит у нас есть 0 яблок (количество яблок равно нулю). Функции в программировании работают по этой логике.</p>
6 <p>Чему равна сумма элементов пустого массива? С точки зрения математики такая сумма равна 0. Что в принципе совпадает со здравым смыслом. Если у нас нет яблок, значит у нас есть 0 яблок (количество яблок равно нулю). Функции в программировании работают по этой логике.</p>
7 <p>Второй момент связан с начальным элементом суммы. У переменной sum есть начальное значение равное 0. Зачем вообще задавать значение? Любая повторяющаяся операция начинается с какого-то значения. Нельзя просто так объявить переменную и начать с ней работать внутри цикла. Это приведет к неверному результату. Представим что мы хотим посчитать не сумму, а произведение чисел:</p>
7 <p>Второй момент связан с начальным элементом суммы. У переменной sum есть начальное значение равное 0. Зачем вообще задавать значение? Любая повторяющаяся операция начинается с какого-то значения. Нельзя просто так объявить переменную и начать с ней работать внутри цикла. Это приведет к неверному результату. Представим что мы хотим посчитать не сумму, а произведение чисел:</p>
8 <p>В результате такого вызова, внутри mult окажется 0. Почему для умножения нужна единица? Очень легко проверить, что все остальные варианты приведут к неверному результату. Если начальное значение будет равно 0, то результатом умножения всегда будет 0.</p>
8 <p>В результате такого вызова, внутри mult окажется 0. Почему для умножения нужна единица? Очень легко проверить, что все остальные варианты приведут к неверному результату. Если начальное значение будет равно 0, то результатом умножения всегда будет 0.</p>
9 <p>В математике существует понятие<strong>нейтральный элемент операции</strong>(у каждой операции свой элемент). Это понятие имеет очень простой смысл. Операция с этим элементом не изменяет то значение, над которым проводится операция. В сложении любое число плюс ноль дает само число. При вычитании то же самое. Даже у конкатенации есть нейтральный элемент - это пустая строка: "" + "one" будет "one".</p>
9 <p>В математике существует понятие<strong>нейтральный элемент операции</strong>(у каждой операции свой элемент). Это понятие имеет очень простой смысл. Операция с этим элементом не изменяет то значение, над которым проводится операция. В сложении любое число плюс ноль дает само число. При вычитании то же самое. Даже у конкатенации есть нейтральный элемент - это пустая строка: "" + "one" будет "one".</p>
10 <p>Агрегация далеко не всегда означает, что коллекция элементов сводится к некоторому простому значению. Результатом агрегации может быть сколь угодно сложная структура, например, массив. Подобные примеры часто встречаются в реальной жизни. Самый простой пример - это список уникальных слов в тексте.</p>
10 <p>Агрегация далеко не всегда означает, что коллекция элементов сводится к некоторому простому значению. Результатом агрегации может быть сколь угодно сложная структура, например, массив. Подобные примеры часто встречаются в реальной жизни. Самый простой пример - это список уникальных слов в тексте.</p>