Переменная b будет увеличиваться на единицу с каждым выполнением нижнего блока, а в переменной c будет накапливаться сумма всех b.
Раз сумма в c считается до увеличения b, то значит в конце (выход происходит при b=11), получим сумму всех целых чисел от единицы до десяти. Такая сумма равна 55.
Вот как будут меняться значения переменных при выполнении программы по этому алгоритму:
cb
0 0
0 1
1 2
3 3
6 4
10 5
15 6
21 7
28 8
36 9
45 10
55 11
Ответ: после выполнения алгоритма c=55
Программа (вариант 1):
var
b, c: integer;
begin
b := 0;
c := 0;
repeat
c := c + b;
b := b + 1;
until b = 11;
Print('b=', b, ' c=', c);
end.
Программа (вариант 2):
var
b, c: integer;
label loop1, loop2;
begin
b := 0;
c := 0;
loop1: if b = 11 then
goto loop2
else
begin
c := c + b;
b := b + 1;
goto loop1;
end;
loop2: Print('b=', b, ' c=', c);
end.
3 votes Thanks 2
Ziorar
Готово, в общем (устал бороться с появляющимися тут из ниоткуда лишними строками).
Ziorar
Только в следующий раз лучше прямо писать, что нужно составить программу, а то в задании написано только определить значение переменной (а это в данном случае можно сделать и без программы).
Answers & Comments
Verified answer
Переменная b будет увеличиваться на единицу с каждым выполнением нижнего блока, а в переменной c будет накапливаться сумма всех b.
Раз сумма в c считается до увеличения b, то значит в конце (выход происходит при b=11), получим сумму всех целых чисел от единицы до десяти. Такая сумма равна 55.
Вот как будут меняться значения переменных при выполнении программы по этому алгоритму:
c b
0 0
0 1
1 2
3 3
6 4
10 5
15 6
21 7
28 8
36 9
45 10
55 11
Ответ: после выполнения алгоритма c=55
Программа (вариант 1):
var
b, c: integer;
begin
b := 0;
c := 0;
repeat
c := c + b;
b := b + 1;
until b = 11;
Print('b=', b, ' c=', c);
end.
Программа (вариант 2):
var
b, c: integer;
label loop1, loop2;
begin
b := 0;
c := 0;
loop1: if b = 11 then
goto loop2
else
begin
c := c + b;
b := b + 1;
goto loop1;
end;
loop2: Print('b=', b, ' c=', c);
end.