Сумматоры

Если вы поняли идею счетчика, то понять идею сумматора вам будет нетрудно. Посмотрим, как будет работать следующий фрагмент:

s:=0; {Обнуляем сумматор. Это не менее важно, чем обнулить счетчик}

m: ReadLn(a);

s:=s+a; {Увеличиваем сумматор}

WriteLn(‘Сумма=’, s);

goto m;

 

Пусть мы вводим числа 8, 4, 10 . . . В этом случае порядок выполнения операторов будет такой:

Оператор а s Печать
s:=0 ?  
ReadLn(a)  
s:=s+a  
WriteLn(‘Сумма=' ,s) Сумма=8
goto m  
ReadLn(a)  
s:=s+a  
WriteLn(‘Сумма=' ,s) Сумма=12
goto m  
ReadLn(a)  
s:=s+a  
WriteLn(‘Сумма=' ,s) Сумма=22
goto m  
……….      

Как видите, в ячейке s накапливается сумма вводимых чисел a, поэтому назовем эту ячейку сумматором. Отличие сумматора от счетчика в том, что счетчик увеличивается на 1 оператором c:=c+1, а сумматор - на суммируемое число оператором s:=s+a.

Задача: В компьютер вводится N чисел. Вычислить и один раз напечатать их сумму.

Программа:

VAR i,N :Integer;

a,s :Real;