☰ Содержание · Информатика

Цикл while и практика с ним

Уроки 44–45 · 2 урока · М. Р. Файзиева, Д. М. Сайфуров, Н. С. Хайтуллаева. Информатика и информационные технологии, 9 класс. «Nashriyot uyi Tasvir», Ташкент, 2020
44

Программирование циклических алгоритмов: оператор while

Учебник: с. 86–88
ЦельЗнает цикл while и его структуру, решает задачи с неизвестным числом повторений по условию, помнит об изменении условия цикла, а также распознаёт и останавливает бесконечный цикл.
Новые слова
while: цикл, который повторяет своё тело, пока его условие равно True · whileусловие цикла: выражение типа bool, проверяемое перед каждым проходом · sikl shartiбесконечный цикл: цикл, условие которого никогда не становится False · cheksiz siklCtrl + C: клавиши, прерывающие работающую программу в IDLE · Ctrl + C
Объяснение

for удобен, когда число повторений известно заранее; если оно неизвестно, используется while. Он записывается while условие: с телом цикла на следующей строке с отступом в 4 пробела. Python сначала проверяет условие: если оно равно True, тело выполняется и происходит возврат к условию, если False – цикл заканчивается; если условие равно False с самого начала, тело не выполняется ни разу. Поэтому переменной цикла нужно присвоить начальное значение до цикла и изменять её в теле: i += 1 или ввод нового числа. Если условие никогда не становится False, цикл продолжается вечно; в IDLE его можно остановить клавишами Ctrl + C. while True: – тоже бесконечный цикл. Не пишите бесконечный цикл нарочно; если вы создали его по ошибке, остановите его.

Примеры
Подсчёт: i = 1 ⏎ while i <= 5: ⏎     print(i, end=" ") ⏎     i += 1 Он выполняется, пока i <= 5 истинно, и останавливается, когда i становится равным 6. Неизвестное количество: s = 0 ⏎ n = int(input()) ⏎ while n != 0: ⏎     s += n ⏎     n = int(input()) ⏎ print(s) Если набрать 4, 6, 10 и 0, то 0 не прибавляется и выводится 20.
Степени числа 2: p = 1 ⏎ while p < 100: ⏎     print(p, end=" ") ⏎     p *= 2 На экране появляется 1 2 4 8 16 32 64: когда p достигает 128, условие p < 100 ложно, и цикл останавливается. Сколько будет проходов, заранее не сказано – это определяет условие.
Работа в классе

«Следи за условием»: группа рисует на доске трассировочную таблицу программы с while (шаг, значения переменных, условие) и выполняет её вручную; затем сравнивает с результатом в IDLE.

Упражнения
1
Сколько раз выполняется этот цикл? i = 10 ⏎ while i > 0: ⏎     i -= 3
2
Напишите программу, которая с помощью while находит первую (самую левую) цифру числа (4 для 45678).
3
Почему эта программа выполняется бесконечно и как это исправить? i = 1 ⏎ while i < 5: ⏎     print(i)
4
Когда выбирают while вместо for?