Введение
В этом уроке мы рассмотрим циклы в JavaScript, такие как for
, while
и do-while
. Циклы позволяют выполнять блок кода несколько раз, что делает их незаменимыми для выполнения повторяющихся задач. Понимание циклов является важным аспектом программирования, так как они помогают автоматизировать и упрощать множество операций.
Что такое итерации
Итерация — это однократное выполнение блока кода в цикле. Когда цикл повторяет выполнение кода, каждая повторная операция называется итерацией. Например, если цикл for
выполняется 5 раз, это означает, что он прошел 5 итераций.
Цикл for
Цикл for
используется для повторного выполнения блока кода с заранее известным количеством итераций.
Синтаксис:
for (инициализация; условие; инкремент/декремент) {
// код, который будет выполнен на каждой итерации
}
Пример использования цикла for
:
for (let i = 0; i < 5; i++) {
console.log("Итерация номер " + i);
}
Особенности:
- Инициализация: Устанавливает начальное значение переменной цикла.
- Условие: Проверяется перед каждой итерацией. Если условие ложно, цикл прекращается.
- Инкремент/декремент: Изменяет значение переменной цикла после каждой итерации.
Цикл while
Цикл while
используется для повторного выполнения блока кода, пока условие истинно (true
). Количество итераций не известно заранее.
Синтаксис:
while (условие) {
// код, который будет выполнен, пока условие истинно
}
Пример использования цикла while
:
let count = 0;
while (count < 5) {
console.log("Счетчик: " + count);
count++;
}
Особенности:
- Условие проверяется перед каждой итерацией.
- Если условие ложно при первой проверке, код внутри цикла не будет выполнен ни разу.
Цикл do-while
Цикл do-while
похож на while
, но условие проверяется после выполнения блока кода, гарантируя, что код будет выполнен хотя бы один раз.
Синтаксис:
do {
// код, который будет выполнен хотя бы один раз
} while (условие);
Пример использования цикла do-while
:
let count = 0;
do {
console.log("Счетчик: " + count);
count++;
} while (count < 5);
Особенности:
- Условие проверяется после выполнения блока кода.
- Код выполняется хотя бы один раз, даже если условие ложно при первой проверке.
Прерывание циклов
Оператор break
Оператор break
используется для немедленного прекращения выполнения цикла. Это полезно, если нужно выйти из цикла досрочно.
Пример использования break
:
for (let i = 0; i < 10; i++) {
if (i === 5) {
break;
}
console.log("Итерация номер " + i);
}
Оператор continue
Оператор continue
используется для пропуска оставшегося кода в текущей итерации и перехода к следующей итерации цикла.
Пример использования continue
:
for (let i = 0; i < 10; i++) {
if (i % 2 === 0) {
continue;
}
console.log("Нечетное число: " + i);
}
Заключение
Циклы являются важным инструментом для выполнения повторяющихся задач в программировании. Конструкции for, while и do-while позволяют выполнять блок кода несколько раз с различными условиями. Понимание циклов, итераций и умение их использовать эффективно поможет вам писать более сложный и адаптивный код.
Контрольные вопросы
Что такое итерация?
- Однократное выполнение блока кода в цикле.
- Условие выхода из цикла.
- Синтаксическая ошибка в цикле.
- Конструкция для объявления переменной.
Какой цикл используется для выполнения блока кода с заранее известным количеством итераций?
- while
- do-while
- for
- foreach
Что происходит, если условие в цикле while ложно при первой проверке?
- Код выполняется один раз.
- Код выполняется бесконечно.
- Код не выполняется вообще.
- Происходит ошибка.
В чем разница между циклами while и do-while?
- while выполняется хотя бы один раз, do-while может не выполниться ни разу.
- do-while выполняется хотя бы один раз, while может не выполниться ни разу.
- В while нет условия, в do-while есть.
- В do-while нет условия, в while есть.
Какой оператор используется для немедленного прекращения выполнения цикла?
- continue
- break
- exit
- stop
Какой оператор используется для пропуска оставшегося кода в текущей итерации и перехода к следующей итерации цикла?
- continue
- break
- exit
- skip
Какой цикл гарантирует выполнение блока кода хотя бы один раз?
- for
- while
- do-while
- foreach
Упражнения
Упражнение 1: Вывод чисел от 1 до 10 с использованием цикла for
Напишите программу, которая выводит числа от 1 до 10 с использованием цикла for
.
for (let i = 1; i <= 10; i++) {
console.log(i);
}
Упражнение 2: Сумма чисел от 1 до 100 с использованием цикла while
Напишите программу, которая вычисляет и выводит сумму чисел от 1 до 100 с использованием цикла while
.
let sum = 0;
let i = 1;
while (i <= 100) {
sum += i;
i++;
}
console.log("Сумма чисел от 1 до 100: " + sum);
Упражнение 3: Вывод чисел от 10 до 1 с использованием цикла do-while
Напишите программу, которая выводит числа от 10 до 1 с использованием цикла do-while
.
let j = 10;
do {
console.log(j);
j--;
} while (j >= 1);
Упражнение 4: Таблица умножения с использованием цикла for
Напишите программу, которая выводит таблицу умножения для числа 5 с использованием цикла for
.
let number = 5;
for (let k = 1; k <= 10; k++) {
console.log(number + " * " + k + " = " + (number * k));
}
Упражнение 5: Проверка простого числа с использованием цикла while
Напишите программу, которая проверяет, является ли заданное число простым, используя цикл while
.
let num = 17;
let isPrime = true;
let divisor = 2;
while (divisor <= num / 2) {
if (num % divisor === 0) {
isPrime = false;
break;
}
divisor++;
}
if (isPrime) {
console.log(num + " - это простое число.");
} else {
console.log(num + " - это не простое число.");
}
Упражнение 6: Факториал числа
Напишите программу, которая вычисляет факториал заданного числа с использованием цикла while
.
let number = 5;
let factorial = 1;
let i = number;
while (i > 0) {
factorial *= i;
i--;
}
console.log("Факториал числа " + number + " равен " + factorial);
Упражнение 7: Найти наибольший общий делитель (НОД)
Напишите программу, которая находит наибольший общий делитель (НОД) двух чисел с использованием цикла do-while
.
let a = 56;
let b = 98;
do {
if (a > b) {
a -= b;
} else {
b -= a;
}
} while (a !== b);
console.log("НОД: " + a);
Упражнение 8: Числа Фибоначчи
Напишите программу, которая выводит первые 10 чисел последовательности Фибоначчи с использованием цикла for
.
let n1 = 0;
let n2 = 1;
let nextTerm;
console.log(n1);
console.log(n2);
for (let i = 1; i <= 8; i++) {
nextTerm = n1 + n2;
console.log(nextTerm);
n1 = n2;
n2 = nextTerm;
}