Задание 1 Параграф 5.5 ГДЗ Босова 8 класс 2023 (Информатика)
Программирование циклических алгоритмов (стр. 242 – 255)
1. Проанализируйте работу программы:
х = 1
у = 1
while х < 5:
у *= 2
х += 1
Ответьте на вопросы.
а) Сколько раз выполнится тело цикла?
4 раза
б) Какое значение примет переменная х после завершения программы?
х=5
в) Какое значение примет переменная у после завершения программы?
у=16
г) Сколько раз выполнится тело цикла, если заменить условие на х < = 5?
5 раз
д) Сколько раз выполнится тело цикла, если заменить условие на х > = 5?
ни разу
е) Сколько раз выполнится тело цикла, если заменить условие на х > 0?
бесконечное число раз, зацикливание
ж) Что произойдёт, если из тела цикла убрать команду х += 1?
зацикливание
з) Сколько раз выполнится тело цикла, если заменить команду х += 1 на х += 2?
2 раза
и) Сколько раз выполнится тело цикла, если заменить команду х += 1 на х -= 1?
бесконечное число раз, зацикливание
Начальные значения переменных: $$x=1$$, $$y=1$$.
Цикл выполняется, пока $$x<5$$. После каждого прохода:
- $$y$$ умножается на 2;
- $$x$$ увеличивается на 1.
Проследим изменения:
| Номер прохода | $$x$$ до проверки | $$y$$ после команды $$y*=2$$ | $$x$$ после команды $$x+=1$$ |
|---|---|---|---|
| 1 | 1 | 2 | 2 |
| 2 | 2 | 4 | 3 |
| 3 | 3 | 8 | 4 |
| 4 | 4 | 16 | 5 |
После этого условие $$x<5$$ становится ложным, и цикл заканчивается.
Если заменить условие на $$x\le 5$$, то цикл выполнится ещё один раз, пока $$x=5$$.
Если заменить условие на $$x\ge 5$$, то при $$x=1$$ условие сразу ложно, и цикл не выполнится ни разу.
Если заменить условие на $$x>0$$, то условие всегда будет истинным, а $$x$$ только увеличивается, значит, получится бесконечный цикл.
Если убрать команду $$x+=1$$, значение $$x$$ не изменится, условие $$x<5$$ будет оставаться истинным, и цикл зациклится.
Если заменить $$x+=1$$ на $$x+=2$$, получим:
- $$x=1 \to 3 \to 5$$, значит, цикл выполнится 2 раза.
Если заменить $$x+=1$$ на $$x-=1$$, то $$x$$ будет уменьшаться: $$1 \to 0 \to -1 \to \dots$$, условие $$x<5$$ останется истинным, и цикл станет бесконечным.
Ответ
а) 4 раза;
б) $$x=5$$;
в) $$y=16$$;
г) 5 раз;
д) ни разу;
е) бесконечное число раз, зацикливание;
ж) зацикливание;
з) 2 раза;
и) бесконечное число раз, зацикливание.