Сумма и произведение
Накопитель обновляют для каждого элемента: сумму начинают с 0, произведение — с 1.
Сумма и произведение
Меняйте данные и выполняйте шаги. Цвет выделяет текущие элементы; подписи объясняют результат. Сброс возвращает исходный опыт.
Для суммы повторяют s := s + a[i], для произведения p := p * a[i]. Перед циклом задают s := 0 и p := 1. Эти начальные значения не меняют результат первого сложения или умножения. Начало произведения с нуля делает весь результат нулевым.
Для [2,−3,4] промежуточные суммы равны 2,−1,3, произведения — 2,−6,−24. Нулевой множитель обнуляет произведение. Тип накопителя должен вмещать результат: даже если каждый элемент помещается в integer, произведение может выйти за его пределы. В тренажёре не более 12 элементов от −20 до 20; их произведение точно представимо используемыми вычислениями.
{ Фрагмент: 0 <= n <= 12, значения от -20 до 20.
s, p: int64; a — массив целых; i, n: integer. }
s := 0;
p := 1;
for i := 1 to n do
begin
s := s + a[i];
p := p * a[i];
end;