Контрольные задания > В3. Проанализируйте работу программы.
program math;
var x, y: integer;
begin
x:= 1;
y:=1;
while x<5 do
begin
y:= y*2;
x:= x+1;
end;
end.
1) Какое значение примет х после завершения программы?
2) Сколько раз исполнится тело цикла, если изменить условие на х>=5?
Вопрос:
В3. Проанализируйте работу программы.
program math;
var x, y: integer;
begin
x:= 1;
y:=1;
while x<5 do
begin
y:= y*2;
x:= x+1;
end;
end.
1) Какое значение примет х после завершения программы?
2) Сколько раз исполнится тело цикла, если изменить условие на х>=5?
Ответ:
Разберем программу по шагам:
1. Инициализация: x = 1, y = 1.
2. Цикл while x < 5 do:
* Итерация 1: y = 1 * 2 = 2, x = 1 + 1 = 2.
* Итерация 2: y = 2 * 2 = 4, x = 2 + 1 = 3.
* Итерация 3: y = 4 * 2 = 8, x = 3 + 1 = 4.
* Итерация 4: y = 8 * 2 = 16, x = 4 + 1 = 5.
3. Цикл завершается, так как x = 5, что не удовлетворяет условию x < 5.
1) После завершения программы x примет значение 5.
2) Если изменить условие на x >= 5, цикл ни разу не выполнится, потому что начальное значение x равно 1, и условие 1 >= 5 ложно. Следовательно, тело цикла не будет выполнено ни разу.
Ответы:
1) x = 5
2) 0 раз