05. Циклы
Что такое цикл
Циклы позволяют выполнять один и тот же код несколько раз. Это экономит время и делает программы короче и понятнее.Цикл — как будильник, который срабатывает каждое утро. Он делает одно и то же, пока не выполнится условие остановки.
Типы циклов в C++
- for — используется, когда известно, сколько раз нужно повторить действие.
- while — выполняется, пока условие истинно.
- do...while — выполняется хотя бы один раз, а потом проверяет условие.
Цикл for
Он состоит из трёх частей: начальное значение, условие и изменение счётчика.Пример
#include <iostream>
using namespace std;int main() {
for (int i = 1; i <= 5; i++) {
cout << "Шаг: " << i << endl;
}
return 0;
}
Разбор кода
- int i = 1 — создаёт переменную-счётчик, начинающую с 1.
- i <= 5 — условие, пока i не станет больше 5.
- i++ — увеличивает i на 1 после каждого прохода.
Результат
Шаг: 1 Шаг: 2 Шаг: 3 Шаг: 4 Шаг: 5
Цикл while
Этот цикл повторяет код, пока условие остаётся истинным.Пример
#include <iostream>
using namespace std;int main() {
int number = 1;
while (number <= 5) {
cout << number << endl;
number++;
}
return 0;
}
Как это работает
- Сначала проверяется условие number <= 5.
- Если оно верно — выполняется тело цикла.
- Когда условие становится ложным — цикл завершается.
Цикл do...while
Отличие от обычного while в том, что код внутри выполнится хотя бы один раз, даже если условие ложно.Пример
#include <iostream>
using namespace std;int main() {
int x = 6;
do {
cout << "Значение: " << x << endl;
x++;
} while (x <= 5);
return 0;
}
Результат
Значение: 6
Даже если условие (x <= 5) было ложным — код всё равно выполнился один раз.
Прерывание и пропуск итераций
Иногда нужно прервать цикл или пропустить один шаг.Команда break
Прерывает выполнение цикла полностью.
for (int i = 1; i <= 10; i++) {
if (i == 5) break;
cout << i << " ";
}
Вывод: 1 2 3 4
Команда continue
Пропускает текущий шаг и переходит к следующему.
for (int i = 1; i <= 5; i++) {
if (i == 3) continue;
cout << i << " ";
}
Вывод: 1 2 4 5
Вложенные циклы
Циклы можно помещать друг в друга. Например, для таблицы умножения.
#include <iostream>
using namespace std;int main() {
for (int i = 1; i <= 3; i++) {
for (int j = 1; j <= 3; j++) {
cout << i << " * " << j << " = " << i * j << endl;
}
cout << endl; // разделяем строки
}
return 0;
}
Результат
1 * 1 = 1 1 * 2 = 2 1 * 3 = 32 * 1 = 2 2 * 2 = 4 2 * 3 = 6
3 * 1 = 3 3 * 2 = 6 3 * 3 = 9
Типичные ошибки новичков
- Бесконечный цикл: забыли увеличить счётчик (например, i++).
- Неправильное условие (например, i >= 0 вместо i > 0).
- Изменение счётчика внутри тела в неправильном месте.
Мини-практика
Попробуйте выполнить:- Создайте цикл, который выводит числа от 10 до 1 в обратном порядке.
- Сделайте программу, которая запрашивает пароль до тех пор, пока пользователь не введёт правильный.
- Напишите цикл, который выводит только чётные числа от 1 до 20.
Пример: обратный отсчёт
#include <iostream>
using namespace std;int main() {
for (int i = 10; i >= 1; i--) {
cout << i << "..." << endl;
}
cout << "Пуск!" << endl;
return 0;
}
Советы
- Начинайте с простых циклов, чтобы привыкнуть к логике повторений.
- Добавляйте вывод отладки (cout) — так легче понять, как меняется счётчик.
- Если программа зависла — возможно, вы создали бесконечный цикл. Остановите выполнение и проверьте условие.
Итоги урока
Теперь вы умеете:- Создавать циклы for, while и do-while.
- Использовать break и continue для управления потоком.
- Работать с вложенными циклами.
- Создавать таблицы, счётчики и повторяющиеся операции.