- Введение в тему
- Вычисление суммы элементов массива
- научиться вычислять сумму элементов массива
- Что такое массив?
- Какие массивы называют одномерными?
- Каким служебным словом описывается массив на языке программирования Pascal?
- Чем в языке программирования Pascal отличается описание массива в разделе var от описания массива в разделе const?
Введение в тему
Задачи на нахождение суммы элементов массива являются довольно распространёнными. Например, чтобы рассчитать средний балл аттестата, сначала необходимо рассчитать сумму отметок по предметам, а уже потом разделить полученный результат сложения на количество отметок.
Вычисление суммы элементов массива
На предыдущем занятии, когда речь шла о заполнении массива и выводе, был рассмотрен пример задачи на суммирование данных, записанных в массив.
Вспомним задачу 1 из предыдущего занятия.
Пример 1
Задача 1. Дан массив А, состоящий из 10 элементов, представляющих собой целые числа. Написать программу для нахождения суммы значений элементов массива. Значения элементов массива пользователь самостоятельно вводит с клавиатуры.
Решение
Составим блок-схему решения данной задачи (рис. 1).

Суммирование элементов массива происходит таким же образом, что и обычных значений. Данный процесс можно описать следующим образом:
- Создаётся переменная, в которой будет храниться результат сложения.
- Начальное значение переменной равно 0, поэтому не влияет на дальнейшие результаты сложения. Это как раз и показывает запись: summa:=summa + A[i].
- Результат сложения значений массива образуется через прибавление предыдущего значения к текущему.
Для лучшего понимания процесс сложения можно представить следующим образом (таблица 1).
Таблица 1. Процесс сложения элементов массива

Пример 2
Задача 2. Дан массив А, состоящий из 10 элементов, представляющих собой целые числа. Написать программу для нахождения суммы положительных и отрицательных значений элементов массива. Значения элементов массива пользователь самостоятельно вводит с клавиатуры.
Решение
1. В разделе описания переменных исправим переменную summa на summa_pol (для сохранения результата сложения положительных чисел), а также добавим переменную summa_otr (для сохранения результата сложения отрицательных чисел) (рис. 2).

2. В программном блоке опишем условия нахождения суммы положительных (введённое значение элемента массива должно быть больше 0) и отрицательных (введённое значение элемента массива должно быть меньше 0) чисел. Не будем учитывать, если пользователем будет введено значение 0, т. к. на конечный результат это не повлияет (рис. 3).

3. Организуем вывод суммы положительных и отрицательных чисел
(рис. 4).

Написанная программа с примером работы выглядит следующим образом (рис. 5).

Программа, представленная на рис. 5, является близкой по уровню сложности к программе, которую нужно написать при выполнении практического задания по программированию на основном государственном (ОГЭ) экзамене по информатике.
Контрольные вопросы
- Опишите процесс сложения элементов массива.
- К какому виду алгоритмов (линейный, циклический, разветвляющийся) относится, представленная на рис. 1, блок-схема?
- Какое ветвление (полное или неполное) организовано в усложненной задаче в примере 2?
- Почему необходимо выводить результаты сложения в конце программы за пределами цикла?