ИНФОРМАТИКА · 8 КЛАСС
Программирование · Интерактивный конспект

§ 17. Оператор цикла

Сравним циклы while и for, проследим изменения счётчика и проверим количество повторений.

Попробовать на модели ↓
Разбираемся в теме

Основные пункты параграфа

1

Цикл с предусловием

while проверяет условие перед каждым выполнением тела и может не выполнить его ни разу.

НАБЛЮДАЙТЕ И ПРОБУЙТЕ

Цикл while по шагам

Учебное выполнение готовых алгоритмов: пройдите по шагам и проверьте значения переменных. Это модель, а не компилятор.

Цикл while удобен, когда число повторений заранее неизвестно. Сначала проверяется условие. Если оно истинно, выполняется тело, затем проверка повторяется. Если ложно уже при входе, тело пропускается.

Внутри цикла должны изменяться данные, влияющие на условие, либо должна существовать другая понятная причина завершения. Например, x := x + 1 приближает x к верхней границе. Если x не меняется при истинном x < 5, цикл может стать бесконечным.

x := 1;
while x <= 5 do
begin
  writeln(x);
  x := x + 1;
end;
Главная мысль: while проверяет условие перед каждым выполнением тела и может не выполнить его ни разу.
2

Цикл с параметром

for удобен для перебора целых значений с известными границами.

НАБЛЮДАЙТЕ И ПРОБУЙТЕ

Цикл for по шагам

Учебное выполнение готовых алгоритмов: пройдите по шагам и проверьте значения переменных. Это модель, а не компилятор.

Конструкция for i := a to b do проходит значения от a до b включительно, увеличивая параметр на единицу. При a > b возрастающий цикл не выполнится. Для убывания используют downto; там при a < b повторений не будет.

При a <= b возрастающий цикл содержит b − a + 1 повторений. Параметр не следует самостоятельно изменять внутри тела: его изменением управляет цикл. Для нескольких действий также используют begin и end. Вывод таблицы умножения от 1 до 9 требует девяти повторений.

Главная мысль: for удобен для перебора целых значений с известными границами.
3

Цикл и графический узор

Повторяющиеся фигуры удобно задавать через меняющиеся координаты или размеры.

НАБЛЮДАЙТЕ И ПРОБУЙТЕ

Ряд окружностей

Учебное выполнение готовых алгоритмов: пройдите по шагам и проверьте значения переменных. Это модель, а не компилятор.

Чтобы нарисовать ряд одинаковых окружностей радиуса r без промежутков, центры сдвигают на 2r. Если первый центр имеет x = r, левый край находится в нуле. Для полного попадания в окно ширины W проверяют x + r <= W − 1, а не только положение центра.

Во вложенных квадратах координаты углов смещают внутрь, а сторона уменьшается. Если с каждого края отступить a, новая сторона меньше на 2a. Перед очередным рисунком нужно проверить, что размер остаётся положительным. Повторение команды без изменения параметров нарисует фигуру поверх прежней.

Главная мысль: Повторяющиеся фигуры удобно задавать через меняющиеся координаты или размеры.
4

Трассировка и число повторений

Проверка цикла включает начало, каждое изменение и момент выхода.

НАБЛЮДАЙТЕ И ПРОБУЙТЕ

Начало, тело, выход

Учебное выполнение готовых алгоритмов: пройдите по шагам и проверьте значения переменных. Это модель, а не компилятор.

В таблице трассировки записывают номер шага, значение счётчика, результат условия и полезный результат. Для while последняя проверка ложна и уже не сопровождается выполнением тела. Для for важно учитывать обе границы.

Проверьте пустой диапазон, одно повторение и несколько повторений. При поиске максимального подходящего числа перебор удобно вести сверху вниз, прекращая поиск при успехе. Если подходящего значения нет, программа должна сообщить об этом, а не выдавать случайное число.

Главная мысль: Проверка цикла включает начало, каждое изменение и момент выхода.
Интерактивная практика

Исследуйте и примените

Проверьте модель на нескольких наборах данных, затем выполните самостоятельное задание.

НАБЛЮДАЙТЕ И ПРОБУЙТЕ

Лаборатория: исследуйте свой вариант

Учебное выполнение готовых алгоритмов: пройдите по шагам и проверьте значения переменных. Это модель, а не компилятор.

Соберём главное

Шесть выводов

01

while проверяет условие перед каждым выполнением тела и может не выполнить его ни разу.

02

for удобен для перебора целых значений с известными границами.

03

Повторяющиеся фигуры удобно задавать через меняющиеся координаты или размеры.

04

Проверка цикла включает начало, каждое изменение и момент выхода.

05

В for границы включены, а направление определяет, пуст ли диапазон.

06

В графическом цикле проверяйте размеры фигуры и выход за пределы окна.

Самопроверка

Тест: 10 вопросов

Один верный ответ. За ответ — 0,5 балла. Откройте и проверьте себя.

1. Когда while проверяет условие?

2. Может ли while выполниться ноль раз?

3. Сколько повторений у for i := 3 to 7?

4. Сколько повторений у for i := 7 to 3?

5. Какой вариант перебирает 5, 4, 3?

6. Нужно ли менять параметр for в теле?

7. Каков шаг центров касающихся окружностей радиуса r?

8. Как проверить правый край окружности в окне W?

9. На сколько уменьшается сторона при отступе a с двух краёв?

10. Что помогает найти бесконечный цикл?

ВыводыТестВ началоВсе параграфы
↑

Загрузка прогресса…