Оволодіння циклом While в C++: Всеосяжний посібник 🔄💻

Цикл while є основною конструкцією управління в програмуванні, який використовується для багаторазового виконання блоку коду на основі умови. Його простота і гнучкість роблять його незамінним інструментом для таких задач, як підрахунок, ітерація по масивам або перевірка введених даних. У цьому блозі ми розглянемо синтаксис, випадки використання та найкращі практики циклу while у C++, з прикладами для кращого розуміння.

pic

Що таке цикл while? 🤔

Цикл while у C++ є попередньо тестованим циклом, що означає, що умова перевіряється перед виконанням тіла циклу. Якщо умова оцінюється як true, тіло циклу виконується; в іншому випадку цикл завершується відразу.

Синтаксис:

while (умова) {  
 // Тіло циклу  
}
  • Умова: Булевий вираз, що визначає, чи буде цикл виконуватись.
  • Тіло циклу: Блок коду, який виконується багаторазово, поки умова залишається true.

Як це працює 🛠️

  1. Перевіряється умова.
  2. Якщо умова true, виконується тіло циклу.
  3. Після виконання тіла умова перевіряється знову.
  4. Процес повторюється, поки умова не стане false.

Приклади циклів while 📚

Розглянемо декілька практичних прикладів використання циклів while у C++.

1. Простий цикл підрахунку

Цикл, який рахує від 1 до 5:

#include   
using namespace std;  

int main() {  
 int i = 1; // Ініціалізація лічильника  
 while (i <= 5) {  
 cout << i << " ";  
 i++; // Збільшення лічильника  
 }  
 return 0;  
}

Виведення:

1 2 3 4 5
  • Основний момент: Завжди перевіряйте, щоб лічильник (i) збільшувався, інакше цикл буде працювати нескінченно.

2. Виведення парних чисел

Виведення парних чисел від 1 до 10:

#include   
using namespace std;  

int main() {  
 int i = 1;  
 while (i <= 10) {  
 if (i % 2 == 0) {  
 cout << i << " ";  
 }  
 i++; // Збільшення лічильника незалежно від умови  
 }  
 return 0;  
}

Виведення:

2 4 6 8 10

3. Ітерація по масиву

Використання циклу while для ітерації по масиву цілих чисел:

#include   
using namespace std;  

int main() {  
 int scores[] = {100, 90, 97};  
 int i = 0;  
 while (i < 3) { // Цикл, поки i не досягне розміру масиву  
 cout << scores[i] << " ";  
 i++;  
 }  
 return 0;  
}

Виведення:

100 90 97

4. Перевірка введених даних

Цикл while часто використовується для перевірки введених даних. Наприклад, перевірка, чи ввів користувач ціле число менше 100:

#include   
using namespace std;  

int main() {  
 int number = 0;  
 cout << "Enter an integer less than 100: ";  
 cin >> number;  
 while (number >= 100) {  
 cout << "Invalid input. Please enter an integer less than 100: ";  
 cin >> number;  
 }  
 cout << "Thanks! You entered: " << number << endl;  
 return 0;  
}

Виведення:

  • Вхід: 150 → Виведення: Invalid input. Please enter an integer less than 100:
  • Вхід: 50 → Виведення: Thanks! You entered: 50

5. Підрахунок до числа, введеного користувачем

Підрахунок від 1 до числа, введеного користувачем:

#include   
using namespace std;  

int main() {  
 int num;  
 cout << "Enter a positive integer: ";  
 cin >> num;  
 int i = 1;  
 while (i <= num) {  
 cout << i << " ";  
 i++;  
 }  
 return 0;  
}

Виведення:

  • Вхід: 3 → Виведення: 1 2 3

6. Використання булевої змінної для перевірки введених даних

Замість дублювання коду, використовуйте булеву змінну для управління циклом:

#include   
using namespace std;  

int main() {  
 bool done = false; // Ініціалізація змінної  
 int number;  
 while (!done) {  
 cout << "Enter an integer between 1 and 5: ";  
 cin >> number;  
 if (number > 1 && number < 5) {  
 cout << "Thanks! You entered: " << number << endl;  
 done = true; // Вихід з циклу  
 } else {  
 cout << "Invalid input. Try again." << endl;  
 }  
 }  
 return 0;  
}

Виведення:

  • Вхід: 0 → Виведення: Invalid input. Try again.
  • Вхід: 6 → Виведення: Invalid input. Try again.
    Спробуйте ще раз.`
  • Вхід: 3 → Виведення: Thanks! You entered: 3

Поширені помилки з циклами while ❌

Безкінечні цикли:

  • Забування оновити змінну циклу.
  • Приклад:
int i = 0;   
while (i < 5) {   
 cout << i; // Без збільшення   
}
  • Рішення: Завжди переконуйтесь, що умова циклу врешті стане false.

Помилки на одну одиницю:

  • Використання некоректних умов циклу (наприклад, < замість <=).
  • Подвійно перевіряйте граничні умови вашого циклу.

Складні умови:

  • Уникайте занадто складних умов, які важко зрозуміти.

Кращі практики використання циклів while ✅

Тримайте все простим:

  • Використовуйте чіткі і зрозумілі умови циклу.
  • Дотримуйтесь принципу KISS: Keep It Simple, Stupid!

Перевіряйте введені дані:

  • Завжди перевіряйте введені користувачем дані, щоб уникнути непередбачуваної поведінки.

Плануйте завершення циклу:

  • Переконайтесь, що умова циклу врешті стане false.

Використовуйте булеві прапорці, коли це необхідно:

  • Булеві прапорці допомагають контролювати цикли у складних ситуаціях, підвищуючи читабельність.

Висновок 🎉

Цикл while — це універсальний інструмент у C++ для реалізації повторюваних задач, перевірки введених даних і ітерації по колекціях. Хоча його простота робить його доступним, його гнучкість дозволяє знаходити творчі рішення для складних проблем. Дотримуючись кращих практик і уникаючи поширених помилок, ви можете повною мірою використовувати потенціал циклу while у вашому програмуванні.

Експериментуйте з цими прикладами, і не забувайте: Keep It Simple and Straightforward! 🚀
by : Malinda Gamage

Перекладено з: Mastering the While Loop in C++: A Comprehensive Guide 🔄💻

Leave a Reply

Your email address will not be published. Required fields are marked *