Дана непустая последовательность натуральных чисел, за которой следует 0. Составьте...

0 голосов
57 просмотров

Дана непустая последовательность натуральных чисел, за которой следует 0. Составьте программу нахождения суммы чисел этой последовательности.Запустите программу на выполнение...(ПО ПАСКАЛЮ..)


Информатика (23 баллов) | 57 просмотров
Дано ответов: 2
0 голосов
Правильный ответ

Немного дополню ответ коллеги VladimirGoryachev.

а) В данной задаче не нужен массив. Нам сами числа не интересуют (нет цели специально выводить, например, 25-е число), а только их сумма. Поэтому будем просто сразу считать сумму.

б) Если был бы и нужен массив, то не вполне очевидно, почему он должен быть именно в 100 элементов. Задачей никак не запрещается иметь, например, 101 ненулевое число. В этом случае программа Владимира либо будет работать неправильно, либо выдаст ошибку.

в) Подключение библиотеки crt тут тоже не особо нужно. Не думаю, что возможность очистить экран (crt в данной программе используется только для этого) существенна.

г) Можно ограничиться одним циклом, а не двумя.

 

С учетом вышенаписанного, код можно переписать так:
program P1;

var temp, summ : integer;

begin

   writeln('Vvod massiva: ');
   summ:=0;
   repeat
     readln(temp);
     summ:=summ+temp;
   until temp = 0;
   writeln('Resultat: ',summ);
   readln
end.

(148k баллов)
0 голосов

program P1;
uses
crt;
var
mas : array[1..100] of integer;
i,ms,summ : integer;
begin

clrscr;

writeln('Vvod massiva: ');

ms := 1;

repeat
read(mas[ms]);
inc(ms);
until
mas[ms-1] = 0;

summ := 0;

for i := 1 to ms-1 do
summ := summ + mas[i];

writeln('Resultat: ',summ);

readln;
readln;

end.

(206 баллов)