2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
uses crt;
const nmax=100;
type mas=array[1..nmax] of real;
var n:byte;
procedure vvod(var a:mas;c:char);
var i:byte;
begin
writeln('Исходный массив ',c);
for i:=1 to n do
begin
a[i]:=-5+15*random;
write(a[i]:5:1)
end;
writeln
end;
procedure poloz(var a:mas;k:real;c:char);
var i:byte;
begin
writeln('Измененный массив ',c);
for i:=1 to n do
begin
if a[i]>0 then a[i]:=a[i]+k;
write(a[i]:5:1)
end;
writeln
end;
var a,b:mas;
k:real;
begin
randomize;
repeat
write('Размер массивов от 2 до ',nmax,' n=');
readln(n);
until n in [2..nmax];
write('Введите число для изменения положительных k=');
readln(k);
vvod(a,'A');
poloz(a,-k,'A');
vvod(b,'B');
poloz(b,k,'B');
end.
num = int(input())
sm = 0
while num != 0:
sm += num
num = int(input())
print(sm)
Объяснение.
На первой строке Вы просите пользователя ввести число.
На второй строке вы создаете новую переменную, которой присваиваете значение = 0(она нужна для подсчета суммы всех элементов)
На третье строке вы создаете цикл с условием, что введенное число не равно 0(в противном случае цикл не будет выполняться)
На четвертой строчке Вы добавляете к уже имеющейся сумме введенное число.
На пятой строчке Вы просите снова ввести число
Далее происходит возврат к началу цикла, идет проверка числа на равенство нуля, если снова не равно, то цикл повторяется, если равно, то цикл прекращается
На шестой строке Вы выводите полученный результат.