На первой строке Вы просите пользователя ввести число.
На второй строке вы создаете новую переменную, которой присваиваете значение = 0(она нужна для подсчета суммы всех элементов)
На третье строке вы создаете цикл с условием, что введенное число не равно 0(в противном случае цикл не будет выполняться)
На четвертой строчке Вы добавляете к уже имеющейся сумме введенное число.
На пятой строчке Вы просите снова ввести число
Далее происходит возврат к началу цикла, идет проверка числа на равенство нуля, если снова не равно, то цикл повторяется, если равно, то цикл прекращается
На шестой строке Вы выводите полученный результат.
#1
begin
var N := ReadInteger();
var sum:real := 1;
for var i := 1 to N do sum *= 1 / i;
sum.println;
end.
#2
begin
var N := ReadInteger();
var sum:real := 1;
var divisor := 1;
while divisor <= N do begin
sum *= 1/divisor;
divisor += 1;
end;
sum.Println;
end.
#3
begin
var N := ReadInteger();
var sum:real := 1;
var divisor := 1;
repeat begin
sum *= 1/divisor;
divisor += 1;
end;
until divisor > N;
sum.Println;
end.
А вообще:
begin
SeqGen(ReadInteger(), p -> 1/p, 1).product.Println;
end.
num = int(input())
sm = 0
while num != 0:
sm += num
num = int(input())
print(sm)
Объяснение.
На первой строке Вы просите пользователя ввести число.
На второй строке вы создаете новую переменную, которой присваиваете значение = 0(она нужна для подсчета суммы всех элементов)
На третье строке вы создаете цикл с условием, что введенное число не равно 0(в противном случае цикл не будет выполняться)
На четвертой строчке Вы добавляете к уже имеющейся сумме введенное число.
На пятой строчке Вы просите снова ввести число
Далее происходит возврат к началу цикла, идет проверка числа на равенство нуля, если снова не равно, то цикл повторяется, если равно, то цикл прекращается
На шестой строке Вы выводите полученный результат.