Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lukin.doc
Скачиваний:
9
Добавлен:
16.12.2018
Размер:
3.27 Mб
Скачать
      1. Сумматоры

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

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

m: ReadLn(a);

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

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

goto m;

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

Оператор

а

s

Печать

s:=0

?

0

ReadLn(a)

8

0

s:=s+a

8

8

WriteLn(‘Сумма=' ,s)

8

8

Сумма=8

goto m

8

8

ReadLn(a)

4

8

s:=s+a

4

12

WriteLn(‘Сумма=' ,s)

4

12

Сумма=12

goto m

4

12

ReadLn(a)

10

12

s:=s+a

10

22

WriteLn(‘Сумма=' ,s)

10

22

Сумма=22

goto m

10

22

……….

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

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

Программа:

VAR i,N :Integer;

a,s :Real;

BEGIN

ReadLn(N);

s:=0;

for i:=1 to N do begin

ReadLn(a);

s:=s+a

end {for};

WriteLn(‘Сумма равна ' ,s:20:10)

END.

Задание 49: Пусть N=2, a=5 и 3. Тогда по этой программе Паскаль напечатает 8. Что он напечатает, если:

  1. Вместо s:=0 написать s:=10.

  2. Вместо s:=s+a написать s:=s+a+1.

  3. Строки end {for} и WriteLn поменять местами.

  4. Строки s:=0 и for поменять местами.

  5. Строки for и ReadLn поменять местами.

  6. Строки s:=s+a и end {for} поменять местами.

  7. Вместо for i:=1 to N написать for i:=2 to N.

Задания 50-52: Написать программы для следующих задач:

  1. Во дворце 40 залов. Известны длина и ширина каждого зала. Вычислить площадь пола всего дворца.

  2. Вычислить средний балл учеников вашего класса по физике.

  3. Вычислить произведение N произвольных чисел.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]