C# - Головна Простір імен
► System (5)► Microsoft (1) Для учнів (початківців)
► Відео уроки (4)► Навчання (177) ► Приклади програм (19) ► Секрети Сі Шарп (4) Для професіоналів
► Навчання (6)► Приклади програм (1) |
Цикли While C#
Цикл while (вираз) є універсальним видом циклу, що включаються у всі мови програмування. Тіло циклу виконується до тих пір, поки залишається істинним вираз while. У мові C# у цього виду циклу дві модифікації - з перевіркою умови на початку і в кінці циклу. Перша модифікація має наступний синтаксис:
while(вираз) оператор
Ця модифікація відповідає стратегії: "спочатку перевір, а потім роби". В результаті перевірки може виявитися, що й робити нічого не потрібно. Тіло такого циклу може жодного разу не виконуватися. Звичайно ж, можливо і зациклення. У нормальній ситуації кожне виконання тіла циклу - це черговий крок до завершення циклу.
Цикл, перевіряє умову завершення в кінці, відповідає стратегії: "спочатку роби, а потім перевір". Тіло такого циклу виконується щонайменше один раз. Ось синтаксис цієї модифікації:
do оператор while(вираз);
Розглянемо приклад, в якому беруть участь обидві модифікації циклу while. У зовнішньому циклі перевірка виконується в кінці, у внутрішньому - на початку. Зовнішній цикл являє собою типовий зразок організації навчальних програм, коли в діалозі з користувачем багаторазово вирішується певна завдання. На кожному кроці користувач вводить нові дані, вирішує завдання і аналізує отримані дані. В його владі, продовжити обчислення чи ні, але хоча б один раз вирішити завдання йому доводиться. Внутрішній цикл do while використовується для рішення вже відомої задачі з паліндромами. Ось текст відповідної процедури:
/// < summary> /// Два цикли: з перевіркою в кінці і на початку. /// Зовнішній цикл - зразок багаторазово розв'язуваної задачі. /// Завершення циклу визначається в діалозі /// з користувачем. /// < /summary> public void Loop() { string answer, text; do { Console.WriteLine(", Введіть слово"); text = Console.ReadLine(); int i =0, j = text.Length-1; while ((i<j) && (text[i] == text[j])) {i++; j--;} if (text[i] == text[j]) Console.WriteLine(text +" - це паліндром!"); else Console.WriteLine(text +" - це не паліндром!"); Console.WriteLine("Продовжимо? (yes/no)"); answer = Console.ReadLine(); } while(answer =="так"); }//Loop
Переглядів: 2392 |