русс | укр

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






© 2012 ci-sharp.ru При використанні матеріалу пряме iндексуюче посилання на сайт ОБОВ'ЯЗКОВЕ.
Права строго захищені нормами міжнародного права, інтелектуальної власності та авторського права.