Нескінченний цикл - програмування на c, c # і java
Як можна зрозуміти з назви, нескінченний цикл - це цикл, написаний таким чином, що він ніколи не припинить своє виконання, так як ніколи не виконається умова виходу з цього циклу.
В цілому, нескінченні цикли вважаються поганим тоном і майже завжди є наслідком неправильно написаної програми. Однак трапляються моменти, коли такі цикли бувають досить корисні. Наприклад, якщо, необхідно, щоб програма не закривати або щоб з неї не було виходу. Операційні системи і деякі програми мікроконтролерів часто також представляють собою нескінченні цикли.
У більшості мовах програмування створити нескінченні цикли можна трьома способами - за допомогою циклів for, while і do ... while. Ми розберемо нескінченні цикли для мови C #, однак подивившись на реалізацію, дуже просто спроектувати код на будь-який інший мову програмування. Також внизу статті будуть листинги нескінченних циклів на мовах C, Java і С ++.
Як можна помітити, для рядового програміста нескінченні цикли можуть стати в нагоді досить рідко, але це не привід обходити цю тему стороною і не знати, як реалізувати такий прийом. Так що давайте для прикладу зробимо програму, яка виводила б цифри від 1 до нескінченності.
Нескінченний цикл for на С #
Створити нескінченний цикл вкрай просто. Наприклад для того, щоб зробити нескінченним цикл for, необхідно просто залишити порожні поля в дужках при ньому: for (;;).
Давайте подивимося, як це виглядає в програмі. Для початку ми оголосимо і инициализируем змінну i нулем. З неї буде вестися відлік чисел. Потім йде цикл for без умов в дужках. Всередині циклу ми зробимо інкремент змінної i, іншими словами - додамо до змінної одиницю. Ну і, нарешті, так само в циклі будемо виводити значення змінної i в консоль.
Результат роботи програми представлений на скріншоті нижче:
За кілька секунд цикл дорахував уже до 180 000, і буде продовжувати працювати дальше.Із відсутність умов програма не зможе визначити, коли необхідно припинити свою роботу. Зупинити цикл ми зможемо лише примусово закривши програму.
Нескінченний цикл while на С #
Зробити нескінченний цикл while також легко, як і for. У даного циклу буде матися умова, на відміну від циклу for, проте ця умова ніколи не змінитися і через це цикл ніколи не припинить свою роботу.
static void Main (string [] args)
Console. WriteLine (i);
Як ми бачимо, відмінність цієї програми від попередньої є лише в рядку 8, де оголошується цикл while і йому присвоюється значення true (також можна замість «true» написати «1», так як для комп'ютера ці поняття еквівалентні). Цикл буде працювати до тих пір, поки це значення не зміниться на false (або «0»). Але так як в коді ми ніде більше не міняємо це значення, програма продовжує працювати нескінченно.
Результат роботи програми такий же, як і у попередньої.
Нескінченний цикл do ... while на С #
Цикл do-while обов'язково один раз буде виконаний (бо він з умовою поста). Після першої ітерації виконується перевірка умови виходу з циклу, потім цикл повторно виконує блок операторів, поки умовний вираз в while не прийме значення false (але в нашому випадку цього не буде). Виконання програми з даними циклом ідентично виконанню програми, описаної вище:
Як ви бачите, ми взяли нескінченний цикл for і додали в нього умовний оператор if і оператор break (рядок 12). Таким чином ми дали команду, що, якщо змінна i становитиме 12 345, необхідно буде виконати вихід з циклу, не дивлячись на те, що цикл може продовжувати роботу, так як умови виходу в ньому не були виконані.
Якщо запустити програму. то результат буде таким:

Більше в консоль нічого не записувалося. Після того, як змінна i досягне свого значення в 12 345, викликається оператор break, що забезпечує примусовий вихід із циклу.
Таким чином можна контролювати нескінченний цикл і переривати його в необхідних місцях або при досягненні необхідних цілей.
Дякую за увагу! Завантажити всі описані вище робочі листинги ви можете за наступним посиланням:
Нижче будуть представлені листинги нескінченних циклів на мовах C, Java і С ++
Нескінченний цикл for на С
int _tmain (int argc. _TCHAR * argv [])
Нескінченний цикл while на С
int _tmain (int argc. _TCHAR * argv [])
Нескінченний цикл do ... while на С
int _tmain (int argc. _TCHAR * argv [])
Нескінченний цикл for на Java
public static void main (String [] args) throws java. lang. Exception
System. out. println (i);
Нескінченний цикл while на Java
public static void main (String [] args) throws java. lang. Exception
System. out. println (i);
Нескінченний цикл do ... while на Java
public static void main (String [] args) throws java. lang. Exception
System. out. println (i);
Нескінченний цикл for на С ++
Нескінченний цикл while на С ++
Нескінченний цикл do ... while на C ++
Поділитися в соц. мережах:
Пошук по сайту
- Перетворення кольорового зображення в чорно-біле C #




- Сьогодні Нед Міс Весь час
- Симплекс-метод. Реалізація

- Створення інсталятора в Visual Studio

- Калькулятор Windows Forms на мові C #

- QR-код на С #: генеруємо, розпізнаємо, зберігаємо, завантажуємо.

- Пошук елементарних циклів у графі
