Скласти чисел 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
![](https://st.uroker.com/files/387/387b02b0bd06f59b1947ad5d1625e59b.jpg)
Как и написано в задаче, в программе используется цикл с предусловием while.
Ответы
Объяснение:
Ваш код "практически" подходит под условия задачи: он действительно находит сумму чисел из промежутка, и он действительно использует цикл с предусловием (цикл 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.