Цикли служать для багатократного повторення деякого фрагмента коду. В Сі-шарп є чотири оператори циклів: for, while, do-while, foreach.

Цикл for

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

for (ініціалізація лічильника; умова продовження; ітерація) 
{
//блок коду, який буде повторюватися
}

Приклад програми, яка виводить на екран числа 0, 1, 2, 3, 4:

static void Main(string[] args)
{
for (int i = 0; i < 5; i++) // цикл виконається 5 разів
{
Console.WriteLine(i);
}
}

Результат роботи програми:







Спочатку відбувається створення і ініціалізація лічильника, i=0. Далі йде перевірка умови ( i < 5), якщо результат буде «істина», то далі виконується блок коду в тілі циклу. В кінці ітерації відбувається зміна значення лічильника (в даному прикладі збільшення на одиницю). Після цього знову відбувається перевірка умови і так далі. Коли умова буде «брехня», цикл завершить роботу.

Приклад програми, яка знаходить і виводить на екран суму елементів масиву:

static void Main(string[] args)
 {
 int[] numbers = { 4, 7, 1, 23, 43 };
 int s = 0;
 for (int i = 0; i < numbers.Length; i++)
 {
 s += numbers[i];
 }
 Console.WriteLine(s);
 Console.ReadKey();
 }

Результат роботи програми:







Приклад циклу for, коли лічильник зменшується після кожної ітерації:

for (int i = 5; i > 0; i--) //виконається 5 разів
{
Console.WriteLine(i);
}

Лічильник можна змінювати не тільки на одиницю. Приклад програми, яка виводить парні числа (число 50):

for (int i = 0; i <= 50; i+=2) //виконається 26 разів
{
Console.WriteLine(i);
}

Цикл while

Слово while перекладається, як «поки», що добре його характеризує. Він продовжує виконуватися до тих пір, поки «істинно» деяка умова. Він має таку структуру:

while (умова продовження)
{
//блок коду, який буде повторюватися
}

Спочатку перевіряється умова, а далі виконується блок коду.

Приклад тієї ж програми, яка виводить на екран числа 0, 1, 2, 3, 4:

int i = 0;
 while (i < 5)
 {
 Console.WriteLine(i);
 i++;
 }

Цикл може виконуватися «вічно», якщо задати завжди істинна умова:

while (true)
{
Console.WriteLine("Вічний цикл");
}

Цикл do-while

Цей той же цикл while, тільки тут спочатку виконується блок коду, а вже потім йде перевірка умови. Це гарантує хоча б один прохід циклу.

do
{
//блок коду, який буде повторюватися
}
while (умова продовження);

Приклад програми, яка не завершить роботу, поки з клавіатури не введуть число 5:

static void Main(string[] args)
{
int number;
do
{
Console.WriteLine("Введіть число 5");
number = Convert.ToInt32(Console.ReadLine());
}
while (number != 5); 
}

Результат роботи програми:







Оператор break

З будь-якого циклу можна достроково вийти, використовуючи оператор break. Використовувати даний оператор є сенс після задоволення деякої умови, інакше цикл завершиться на першій ітерації.

Приклад програми, яка перевіряє, чи є в масиві число кратне 13-ти. Знайшовши таке число, немає сенсу далі перевіряти інші елементи масиву, і тут ми використовуємо оператор break:

static void Main(string[] args)
{
int[] numbers = { 4, 7, 13, 20, 33, 23, 54 };
bool b = false;
for (int i = 0; i < numbers.Length; i++)
{
if (numbers[i] % 13 == 0)
{
b = true;
break;
}
}
Console.WriteLine(b ? "В масиві є число кратне 13" : "В масиві немає числа кратного 13");
Console.ReadKey();
}

Результат роботи програми:







Оператор continue

Даний оператор дозволяє перейти до наступної ітерації, не завершивши до кінця поточну.

Приклад програми, що знаходить суму непарних елементів масиву:

static void Main(string[] args)
{
int[] numbers = { 4, 7, 13, 20, 33, 23, 54 };
int s = 0;
for (int i = 0; i < numbers.Length; i++)
{
if (numbers[i] % 2 == 0)
continue; //перехід до наступної ітерації
s += numbers[i];
}
Console.WriteLine(s);
Console.ReadKey();
}

Результат роботи програми:







Автор Swytos                                              << попереднянаступна >>                                                 До змісту


2016-05-29 • Просмотров [ 120 ]