Задание:
Определите, что будет напечатано в результате работы следующего фрагмента программы:
var k, s: integer;
begin
s:=1;
k:=0;
while k < 13 do begin
s:=s+2*k;
k:=k+4;
end;
write(s+k);
end.
Решение:
Шаг | S | K |
1 | 1+2*0=1 | 0+4=4 |
2 | 1+2*4=9 | 4+4=8 |
3 | 9+2*8=25 | 8+4=12 |
4 | 25+2*12=49 | 12+4=16 |
Условие k < 13 проверяется сразу после k := k + 4, следовательно, действие s := s + 2 * k для k = 16 выполняться не будет.
s + k = 49 + 16 = 65
Ответ: 65