6. Дана последовательность операторов:
a := 1;
b := 1;
repeat
a := a + 1;
b := b * 2
until b > 8;
s := a + b
Сколько раз будет повторено тело цикла и какими будут значения переменных a, b, s после выполнения этой последовательности операторов? Обсудите этот вопрос в группе.
Ответ
Давайте разберём каждый шаг по очереди:
Начальные значения переменных:
a = 1
b = 1
- Шаг цикла:
a = a + 1 = 1 + 1 = 2
b = b * 2 = 1 * 2 = 2 - Шаг цикла:
a = a + 1 = 2 +1 = 3
b = b * 2 = 2 * 2 = 4 - Шаг цикла:
a = a + 1 = 3 + 1 = 4
b = b * 2 = 4 * 2 = 8 - Шаг цикла:
a = a + 1 = 4 + 1 = 5
b = b * 2 = 8 * 2 = 16
Цикл заканчивается, так как b > 8. Тело цикла повторилось 3 раза.
Значения переменных после выполнения последовательности операторов:
a = 5
b = 16
s = a + b = 5 + 16 = 21
Таким образом, тело цикла будет повторено 3 раза , а значения переменных a, b и s после выполнения последовательности операторов будут соответственно 5, 16 и 21.