• Предмет: Информатика
  • Автор: oleg126307
  • Вопрос задан 4 месяца назад

Скласти чисел big program 21, var si:integer; begin програму знаходження суми 61 while begin go Si=0, (:=1; iz = 100. 100 (використ цикл з перезднового) end; writeln (S); end. (i=i+1; Siesti; do​

Приложения:

Аноним: Условие нормально перепишите, или сфотографируйте.
Аноним: А сделать то что? У вас в тетради и так написан код требуемой программы, за исключением того, что там пара небольших ошибок.
Как и написано в задаче, в программе используется цикл с предусловием while.

Ответы

Ответ дал: Аноним
0

Объяснение:

Ваш код "практически" подходит под условия задачи: он действительно находит сумму чисел из промежутка, и он действительно использует цикл с предусловием (цикл while).
Однако, в нем допущены две существенные ошибки:
1)  Ошибка времени компиляции на строке 3:
   Код на третьей строке не будет работать, так как выражения
           s := 0, i := 1;
    нужно отделить друг от друга не "," а ";"
           s := 0; i := 1;
    это синтаксическая ошибка, и компилятор не сможет  
    сгенерировать исполняемый код с такой ошибкой.
    Также рекомендуется код инициализации (присваивания) писать
     на новой строке для каждой переменной:
            s := 0;
            i := 1;
2) Ошибка времени выполнения на строке 5:
    Код на пятой строке - синтаксически правильный, и компилятор
    сможет его собрать, однако, результат выполнения этого кода -
    не подходит под условия задачи: этот код инкриментирует  
    счётчик, до того как прибавляет его к сумме.
    Простыми словами вам нужно поменять местами строки
             i : = i + 1;
             s := s + i;
    на строки
             s := s + i;
             i := i + 1

В остальном ваш код, похоже, правильный.
Я бы отредактировал ваш код для полного совпадения с условием задачи примерно так:

program z1;
var
   s, i : Integer;
begin
   s := 0;
   i := 0;
   while i <= 100 do
   begin
      s := s + i;
      i := i + 1;
   end;
   writeln(s);
end.

Вас заинтересует