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

Ответы 2

  • program P1;usescrt;varmas : 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.

    • Автор:

      maddox64
    • 6 лет назад
    • 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);   readlnend.

  • Добавить свой ответ

Еще вопросы

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years