Дана непустая последовательность натуральных чисел, за которой следует 0. Составьте программу нахождения суммы чисел этой последовательности.Запустите программу на выполнение...(ПО ПАСКАЛЮ..)
Дана непустая последовательность натуральных чисел, за которой следует 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.
Немного дополню ответ коллеги 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.
Не нашли ответ?
Похожие вопросы