Предмет: Информатика
ГДЗ Рабочая тетрадь Информатика 8 класс БосоваРешение задания 188: Анализ работы программы с циклом while (Информатика 8 класс, Босова)
Задание 188. Проанализируйте работу программы и ответьте на вопросы.
program math;
var x, y: integer;
begin
x:=l;
y:=l;
while x<5 do
begin
у:=y*2;
x:=x+1
end;
end.
Ответьте на вопросы.
- Сколько раз исполнится тело цикла?
Ответ: 4 - Какое значение примет x после завершения программы?
Ответ: 5 - Какое значение примет y после завершения программы?
Ответ: 16 - Сколько раз исполнится тело цикла, если изменить условие на х<=5?
Ответ: 5 - Сколько раз исполнится тело цикла, если изменить условие на х>=5?
Ответ: 0 - Сколько раз исполнится тело цикла, если изменить условие на х>0?
Ответ: Бесконечно - Что произойдёт, если из тела цикла убрать команду x:=x+1?
Ответ: Бесконечный цикл, где x=1. - Сколько раз исполнится тело цикла, если изменить команду x:=x+1 на x:=x+2?
Ответ: 2 - Сколько раз исполнится тело цикла, если изменить команду x:=x+1 на x:=x-1?
Ответ: Бесконечно
Анализ программы
-
Сколько раз исполнится тело цикла?
Тело цикла исполнится 4 раза.- Начало: x=1, y=1.
- 1-я итерация: x=1 < 5 (да), y=1*2=2, x=1+1=2.
- 2-я итерация: x=2 < 5 (да), y=2*2=4, x=2+1=3.
- 3-я итерация: x=3 < 5 (да), y=4*2=8, x=3+1=4.
- 4-я итерация: x=4 < 5 (да), y=8*2=16, x=4+1=5.
- После: x=5 не меньше 5, цикл останавливается.
-
Какое значение примет x после завершения программы?
x примет значение 5. -
Какое значение примет y после завершения программы?
y примет значение 16. -
Сколько раз исполнится тело цикла, если изменить условие на x <= 5?
Тело цикла исполнится 5 раз.- x=1 <=5 (да), y=2, x=2.
- x=2 <=5 (да), y=4, x=3.
- x=3 <=5 (да), y=8, x=4.
- x=4 <=5 (да), y=16, x=5.
- x=5 <=5 (да), y=32, x=6.
- x=6 <=5 (нет), остановка.
-
Сколько раз исполнится тело цикла, если изменить условие на x >= 5?
Тело цикла исполнится 0 раз.- x=1 >=5 (нет), цикл не запустится.
-
Сколько раз исполнится тело цикла, если изменить условие на x > 0?
Тело цикла исполнится бесконечно.- x=1 >0 (да), цикл начнётся и будет продолжаться, так как x увеличивается, но условие всегда истинно (x всегда >0 при увеличении).
-
Что произойдёт, если из тела цикла убрать команду x:=x+1?
Произойдёт бесконечный цикл.- x остаётся равным 1, условие x<5 всегда истинно, y будет умножаться на 2 бесконечно (1, 2, 4, 8, 16, ...), но программа "зависнет".
-
Сколько раз исполнится тело цикла, если изменить команду x:=x+1 на x:=x+2?
Тело цикла исполнится 2 раза.- x=1 <5 (да), y=2, x=1+2=3.
- x=3 <5 (да), y=4, x=3+2=5.
- x=5 <5 (нет), остановка.
-
Сколько раз исполнится тело цикла, если изменить команду x:=x+1 на x:=x-1?
Тело цикла исполнится бесконечно.- x=1 <5 (да), y=2, x=1-1=0.
- x=0 <5 (да), y=4, x=0-1=-1.
- x=-1 <5 (да), y=8, x=-1-1=-2.
- И так далее, условие всегда истинно, y растёт, но x уменьшается, оставаясь <5.