UML EditorОткрыть редактор

Задачи / Обработка массивов / Сумма элементов массива

Сумма элементов массива: блок-схема и алгоритм

Сумма считается накоплением: заводим переменную s = 0 и по очереди прибавляем к ней каждый элемент. После прохода по всему массиву в s лежит ответ.

Блок-схема: Сумма элементов массива

Алгоритм по шагам

  1. Ввести количество элементов n и сам массив a.
  2. Присвоить s = 0 — накопитель суммы.
  3. Для каждого i от 1 до n прибавить a[i] к s.
  4. Вывести s.

Открыть блок-схему в редакторе

Пример работы

Входn = 4, a = [3, 7, 2, 5]
Шаг 1s = 0
Шаг 2i = 1: s = 0 + 3 = 3
Шаг 3i = 2: s = 3 + 7 = 10
Шаг 4i = 3: s = 10 + 2 = 12
Шаг 5i = 4: s = 12 + 5 = 17
Результат17

Решение на Python

n = int(input())
a = list(map(int, input().split()))
s = 0
for i in range(n):
    s += a[i]
print(s)

Решение на Pascal

var a: array[1..100] of integer;
    n, i, s: integer;
begin
  readln(n);
  for i := 1 to n do read(a[i]);
  s := 0;
  for i := 1 to n do
    s := s + a[i];
  writeln(s);
end.

Код блок-схемы

Схема выше нарисована по этому псевдокоду. Скопируйте его в редактор блок-схем или нажмите «Открыть блок-схему в редакторе».

блок-схема: Сумма элементов массива
начало
ввод n, массив a[1..n]
s = 0
для i от 1 до n
    s = s + a[i]
вывод s
конец

Сложность

O(n) — каждый элемент просматривается один раз; дополнительная память O(1).

Частые ошибки

  • Забыть обнулить s перед циклом — в сумму попадёт «мусор».
  • Выйти за границы массива: в Python индексы от 0 до n − 1, в Pascal — от 1 до n.
  • Для больших чисел в Pascal взять тип int64, иначе сумма переполнится.

Похожие задачи

Обозначения фигур и синтаксис кода блок-схем — в справочнике: блок-схема по ГОСТ 19.701. Все задачи.