TypeScript - Цикл while: Пособие для начинающих

Привет, начинающие программисты! Сегодня мы окунемся в один из fundamental concepts в программировании: цикл while. Как ваш доброжелательныйneighborhood computer teacher, я рад помочь вам в этом путешествии. Не волнуйтесь, если вы новички в программировании - мы начнем с азов и постепенно поднимемся. Так что возьмите杯 кофе (или ваш любимый напиток) и давайте начнем!

TypeScript - While Loop

Что такое цикл while?

Прежде чем мы углубимся в детали, давайте поймем, что такое цикл while. Представьте, что вы играете в игру, где вам нужно продолжать кидать кости, пока не выпадет шестерка. Вы не знали бы заранее, сколько раз вам нужно будет кидать, правда? Именно здесь и приходит на помощь цикл while в программировании!

Цикл while позволяет вам повторять блок кода до тех пор, пока определенное условие является истинным. Это как сказать вашему компьютеру: "Эй, продолжай это делать, пока я нескажу тебе остановиться!"

Синтаксис

Теперь давайте посмотрим на синтаксис цикла while в TypeScript:

while (condition) {
// код для выполнения
}

Это довольно просто, не так ли? Вот что означает каждая часть:

  • while: Этот ключевой слова говорит TypeScript, что мы начинаем цикл while.
  • condition: Это логическое выражение, которое проверяется перед каждым итерацией цикла. Если оно истинно, цикл продолжается; если ложно, цикл останавливается.
  • { }: Эти фигурные скобки содержат код, который будет повторно выполняться до тех пор, пока условие является истинным.

Диаграмма потока

Чтобы лучше понять, как работает цикл while, давайте посмотрим на диаграмму потока:

┌─────────────┐
│   Start     │
└─────┬───────┘
│
▼
┌─────────────────┐
│ Check condition │◄─────┐
└─────────┬───────┘      │
│              │
▼              │
┌────────┐          │
┌────│  True  │          │
│    └────┬───┘          │
│         │              │
│         ▼              │
│  ┌─────────────┐       │
│  │ Execute code│       │
│  └─────────────┘       │
│         │              │
│         └──────────────┘
│
│    ┌────────┐
└────►  False │
└────┬───┘
│
▼
┌─────────────┐
│    End      │
└─────────────┘

Эта диаграмма показывает, как цикл while постоянно проверяет условие и выполняет блок кода до тех пор, пока условие становится ложным.

Пример: Цикл while

Давайте углубимся в практический пример. Мы создадим программу, которая будет обратный отсчет от 5 до 1:

let countdown: number = 5;

while (countdown > 0) {
console.log(countdown);
countdown--;
}

console.log("Blast off!");

Давайте разберем это:

  1. Мы начинаем с объявления переменной countdown и устанавливаем ее в 5.
  2. Цикл while проверяет, больше ли countdown 0.
  3. Если да, он выводит текущее значение countdown.
  4. Затем он уменьшает countdown на 1, используя оператор --.
  5. Этот процесс повторяется до тех пор, пока countdown больше 0.
  6. Наконец, он выводит "Blast off!" после того, как цикл заканчивается.

Когда вы запустите этот код, вы увидите:

5
4
3
2
1
Blast off!

Не правда ли это классно? Это как будто мы создали свой собственный маленький обратный отсчет для старта ракеты!

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

Иногда вам может понадобиться покинуть цикл раньш, чем он завершится, на основе определенного условия. Вот где на помощь приходит оператор break. Это как иметь аварийный выход в вашем цикле!

Давайте модифицируем наш пример обратного отсчета:

let countdown: number = 10;

while (countdown > 0) {
console.log(countdown);
countdown--;

if (countdown === 5) {
console.log("We're halfway there!");
break;
}
}

console.log("Countdown interrupted!");

В этом примере мы начинаем обратный отсчет с 10, но прерываем его, когда достигаем 5. Результат будет следующим:

10
9
8
7
6
5
We're halfway there!
Countdown interrupted!

Оператор break позволяет нам покинуть цикл досрочно, когда удовлетворяется определенное условие.

Сравнение циклов while и for

Теперь вы можете задаться вопросом: "Why use a while loop when we have for loops?" Отличный вопрос! Давайте сравним их:

Цикл while Цикл for
Используется, когда количество итераций неизвестно Используется, когда количество итераций известно
Условие проверяется в начале каждой итерации Инициализация, условие и обновление все в одной строке
Можно легко создать бесконечные циклы Обычно используется для конечных циклов
Более гибрая структура Более компактная структура

Вот быстрый пример для иллюстрации:

// Цикл while
let i: number = 0;
while (i < 5) {
console.log(i);
i++;
}

// Эквивалентный цикл for
for (let j: number = 0; j < 5; j++) {
console.log(j);
}

Оба этих цикла будут выводить числа от 0 до 4. Цикл while более гибок, так как вы можете изменять переменную цикла (i) более сложными способами внутри тела цикла. Цикл for, с другой стороны, более краток, когда вы знаете точное количество итераций.

Заключение

И вот мы arrived, друзья! Мы прошли через страну циклов while в TypeScript. От понимания базового синтаксиса до исследования операторов break и сравнения с циклами for, вы теперь обладаете знаниями, чтобы эффективно использовать циклы while в вашем коде.

помните, что программирование как езда на велосипеде - сначала это может казаться неуверенным, но с практикой вы быстро научитесь! Так что не бойтесь экспериментировать с циклами while в ваших собственных проектах. Попробуйте создать игру "угадайка" или программу, которая будет рассчитывать сложные проценты до определенной суммы.

Счастливого программирования, и пусть ваши циклы всегда заканчиваются!

Credits: Image by storyset