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

Dog2111 Dog2111    3   02.04.2019 10:30    0

Ответы
епклсзкищут епклсзкищут  28.05.2020 11:15

Немного дополню ответ коллеги 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.

ПОКАЗАТЬ ОТВЕТЫ
алина3687 алина3687  28.05.2020 11:15

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.

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика