75 |
С т р а н и ц а
Глава 4. Циклы
В предыдущей главе, мы обсуждали оператор if. Оператор if даёт вам возможность
указывать условия для выполнения блока кода.
Вы этой главе мы изучим циклы. Они являются структурами кода, позволяющими
нам повторять блок кода при определённых условиях. Мы прекращаем
повторение этого блока, как только условия становятся несоответствующими
(false).
В этой главе мы изучим следующие темы:
Цикл while
Цикл do/while
Цикл for
Простой практический пример цикла в Unreal Engine
Цикл while
Цикл while (пока) применяется для повторяющегося запуска секции кода. Это
удобно если у вас набор действий, которые должны выполняться повторно для
достижения какой то цели. Например, в следующем коде, цикл while повторно
выводит значение переменной х, по мере того, как оно возрастает на единицу с 1
до 5:
int x = 1;
while( x <= 5 ) //
только при x<=5, тело while может быть выполнено
{
cout << "x
равен " << x << endl;
x++;
}
cout << "Готово" << endl;
Вот что выведет эта программа:
x
равен 1
x
равен 2
x
равен 3
x
равен 4
76 |
С т р а н и ц а
x равен 5
Готово
На первой строке кода, создаётся целочисленная переменная х и ей
устанавливается значение 1. Затем, мы задаём условия для цикла while. Условия
while говорят, что пока х меньше или равно 5, вы должны оставаться в блоке кода,
который идёт следом.
Каждая итерация цикла (итерация означает пройти цикл один раз) немного
продвигает выполнение задачи (по выведению чисел от 1 до 5). Мы
программируем цикл, чтобы автоматически выходить, как только задача
выполнена (как только
x <= 5
больше не является true).
Подобно оператор if в предыдущее главе, вход в блок под циклом while допустим
только, если встречается условие указанное в скобках данного цикла (в
предыдущем примере
x <= 5
). Вы можете попробовать мысленно заменить цикл
while циклом if, как показано в следующем коде:
int x = 1;
if( x <= 5 ) //
вы можете только войти в блок снизу когда x<=5
{
cout << "x
равен " << x << endl;
x++;
}
cout << "
Конец программы" << endl;
Этот пример кода будет выводить лишь
х равен 1
. Итак, цикл while такой же как
утверждение с if, но в нём есть специальное автоматическое самоповторение,
которое продолжается пока соблюдается условие определённое в скобках.
Примечание
Я бы хотел объяснить повторение цикла while, прибегнув к видео игре. Если вы не
знаете Portal от Valve, вам нужно поиграть в неё, просто чтобы понять циклы.
Посмотрите
вот
это
https://www.youtube.com/watch?v=TluRVBhmf8w
демонстрационное видео.
В циклах while есть магический портал внизу, благодаря которому цикл
повторяется. Следующий скриншот изображает, что я имею в виду:
77 |
С т р а н и ц а
В конце цикла while есть портал, который возвращает вас назад к началу.
На предыдущем скриншоте, мы идём назад по циклу от оранжевого портала
(помеченного буквой О), к синему порталу (помеченного буквой В). Это впервые,
когда мы можем возвращаться в коде. Это как путешествие во времени, только в
коде. Как здорово!
Лишь не встретив заданного условия, можно миновать блок цикла while. В
предыдущем примере, как только значение становится 6 (так не соблюдается
условие
x <= 5
,что означает false), мы больше не заходим в цикл while. Поскольку
оранжевый портал внутри цикла, мы сможем завершить, как только х станет 6.
Достарыңызбен бөлісу: |