Упр.188 ГДЗ Рабочая тетрадь Босова 8 класс 2016 (Информатика)
Программирование циклических алгоритмов (стр. 63 – 77)
188. Проанализируйте работу программы.
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) Какое значение примет х после завершения про- граммы?
3) Какое значение примет у после завершения про- граммы?
4) Сколько раз исполнится тело цикла, если изменить условие на x < =5?
5) Сколько раз исполнится тело цикла, если изменить условие на х > =5?
6) Сколько раз исполнится тело цикла, если изменить условие на x > 0?
7) Что произойдёт, если из тела цикла убрать команду x:=x+1?
8) Сколько раз исполнится тело цикла, если изменить команду x:=x+1 на x:=x+2?
9) Сколько раз исполнится тело цикла, если изменить команду x:=x+1 на х:=x-1?
№ вопроса Ответ
1) 4
2) 5
3) 16
4) 5
5) 0
6) При таких же начальных значениях цикл будет повторятся бесконечно
7) Х меняться не будет, и опять зацикливание, т.е. бесконечное выполнение
8) 3
9) х всегда будет меньше 5 – зацикливание (бесконечное выполнение)
Начальные значения: $$x=1$$, $$y=1$$.
Цикл выполняется, пока $$x<5$$. На каждом шаге:
$$y:=y\cdot 2$$
$$x:=x+1$$
Проследим изменения:
| Номер шага | $$x$$ | $$y$$ |
|---|---|---|
| До цикла | 1 | 1 |
| 1 | 2 | 2 |
| 2 | 3 | 4 |
| 3 | 4 | 8 |
| 4 | 5 | 16 |
После этого условие $$x<5$$ становится ложным, и цикл заканчивается.
1) Тело цикла исполнится 4 раза.
2) После завершения программы $$x=5$$.
3) После завершения программы $$y=16$$.
4) Если изменить условие на $$x\le 5$$, цикл выполнится 5 раз: значения $$x$$ будут $$1,2,3,4,5$$.
5) Если изменить условие на $$x\ge 5$$, то при $$x=1$$ условие сразу ложно, поэтому цикл не выполнится ни разу.
6) Если изменить условие на $$x>0$$, то при начальном $$x=1$$ условие всегда будет истинным, а $$x$$ увеличиваться не будет до значения, при котором цикл остановится, поэтому получится бесконечный цикл.
7) Если убрать команду $$x:=x+1$$, то $$x$$ не изменяется, условие $$x<5$$ всегда остаётся истинным, и программа зациклится.
8) Если заменить $$x:=x+1$$ на $$x:=x+2$$, то $$x$$ примет значения $$1,3,5$$, значит, цикл выполнится 3 раза.
9) Если заменить $$x:=x+1$$ на $$x:=x-1$$, то $$x$$ будет уменьшаться: $$1,0,-1,\dots$$, условие $$x<5$$ останется истинным, и возникнет бесконечный цикл.
Ответ
1) 4
2) 5
3) 16
4) 5
5) 0
6) цикл будет повторяться бесконечно
7) зацикливание, бесконечное выполнение
8) 3
9) зацикливание, бесконечное выполнение