§ . № Трассировка цикла while
Дана последовательность операторов:
a := 1;
b := 2;
while a + b < 8 do
begin
a := a + 1;
b := b + 2
end;
s := a + b
Сколько раз будет повторён цикл и какими будут значения переменных a, b, s после выполнения этой последовательности операторов?
Решение
По правилу цикла с предусловием перед каждым повторением проверяем сумму a + b. Начальные значения: a = , b = , сумма
| Повторение | a |
b |
a + b |
Условие < |
|---|---|---|---|---|
| до цикла | да | |||
| да | ||||
| нет |
В первом повторении a := , b := . Во втором a := , b := . Теперь s := a + b, то есть s := .
Ответ
Цикл выполнится a = , b = , s = .
Помогло?
