КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
While ( выражение ) оператор
Цикл с предусловием while Лекция 3. Операторы цикла
Операторы цикла используются для вычислений, повторяющихся многократно. В С# имеется четыре вида циклов: цикл с предусловием while, цикл с постусловием do while, цикл с параметром for и цикл перебора foreach. Каждый из них состоит из определенной последовательности операторов. Блок, ради выполнения которого и организуется цикл, называется телом цикла. Остальные операторы служат для управления процессом повторения вычислений: это начальные установки, проверка условия продолжения цикла и модификация параметра цикла. Один проход цикла называется итерацией. Начальные установки служат для того, чтобы до входа в цикл задать значения переменных, которые в нем используются. Проверка условия продолжения цикла выполняется на каждой итерации либо до тела цикла (тогда говорят о цикле с предусловием), либо после тела цикла (цикл с постусловием). Разница между ними состоит в том, что тело цикла с постусловием всегда выполняется хотя бы один раз, после чего проверяется, надо ли его выполнять еще раз. Проверка необходимости выполнения цикла с предусловием делается до тела цикла, поэтому возможно, что он не выполнится ни разу. Параметром цикла называется переменная, которая используется при проверке условия продолжения цикла и принудительно изменяется на каждой итерации, причем, как правило, на одну и ту же величину. Если параметр цикла целочисленный, он называется счетчиком цикла. Количество повторений такого цикла можно определить заранее. Параметр есть не у всякого цикла. В так называемом итеративном цикле условие продолжения содержит переменные, значения которых изменяются в цикле по рекуррентным формулам. Цикл завершается, если условие его продолжения не выполняется. Возможно принудительное завершение как текущей итерации, так и цикла в целом. Для этого служат операторы break, continue, return и goto. Передавать управление извне внутрь цикла запрещается (при этом возникает ошибка компиляции). Формат оператора прост: Выражение должно быть логического типа. Например, это может быть операция отношения или просто логическая переменная. Если результат вычисления выражения равен true, выполняется простой или составной оператор (блок). Эти действия повторяются до того момента, пока результатом выражения не станет значение false. После окончания цикла управление передается на следующий за ним оператор. Рекуррентной называется формула, в которой новое значение переменной вычисляется с использованием ее предыдущего значения. Выражение вычисляется перед каждой итерацией цикла. Если при первой проверке выражение равно false, цикл while не выполнится ни разу.
Если в теле цикла необходимо выполнить более одного оператора, необходимо заключить их в блок с помощью фигурных скобок. Пример программы с оператором цикла while В качестве примера рассмотрим программу, выводящую для аргумента х, изменяющегося в заданных пределах с заданным шагом, таблицу значений следующей функции: Назовем начальное значение аргумента Хn, конечное значение аргумента — Хк, шаг изменения аргумента — dX и параметр t. Все величины вещественные. Программа должна выводить таблицу, состоящую из двух столбцов: значений аргумента и соответствующих им значений функции. Опишем алгоритм в словесной форме: 1. Взять первое значение аргумента. 2. Определить, какому из интервалов оно принадлежит, и вычислить значение функции по соответствующей формуле. 3. Вывести строку таблицы. 4. Перейти к следующему значению аргумента. 5. Если оно не превышает конечное значение, повторить шаги 2-4, иначе закончить. Шаги 2-4 повторяются многократно, поэтому для их выполнения надо организовать цикл. Обратите внимание на то, что условие продолжения цикла записано в его заголовке и проверяется до входа в цикл. Таким образом, если задать конечное значение аргумента, меньшее начального, даже при отрицательном шаге цикл не будет выполнен ни разу. //ТЕКСТ ПРОГРАММЫ * using System; namespace ConsoleApplication1 { class Class1 { static void Main() { double Xn = -2, Xk = 12, dX = 2, t = 2, y: Console.WriteLine("| x | у |"): // заголовок таблицы double x = Xn; while (x <= Xk) { y = t; if (х >= 0 && х < 10) у = t * х; if (х >= 10) у = 2 * t; Console.WriteLine("| {0,6} | {1,6} |", x, у); //задаваемая ширина поля //для вывода переменных x += dX; } }} Параметром этого цикла, то есть переменной, управляющей его выполнением, является х. Блок модификации параметра цикла представлен оператором, выполняющимся оператором x += dX. Для перехода к следующему значению аргумента текущее значение наращивается на величину шага и заносится в ту же переменную. Перед запуском программы проверяйте: □ присвоено ли параметру цикла верное начальное значение; □ изменяется ли параметр цикла на каждой итерации цикла; □ верно ли записано условие продолжения цикла. Распространенным приемом программирования является организация бесконечного цикла с заголовком while (true) и принудительным выходом из тела цикла по выполнению какого-либо условия с помощью операторов передачи управления. Самым распространенным примером использования бесконечного цикла является пример организации меню программы. using System; namespace ConsoleApplication1 { class Classl { static void Main() { string buf; while (true) { Console.WriteLine("1 – пункт 1, 2 – пункт 2, 3 - выход"); buf = Console.ReadLine(); switch (buf) { case "1": //Обработка первого пункта меню break; case "2": // Обработка второго пункта меню break; case "3": return; default: Console.WriteLine("не попал по клавише!"); break; }} }. }}
Дата добавления: 2014-01-07; Просмотров: 655; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |