Операторы цикла Операторы цикла используются для вычислений, повторяющихся многократно. В c# имеется четыре вида циклов: цикл с параметром for icon

Операторы цикла Операторы цикла используются для вычислений, повторяющихся многократно. В c# имеется четыре вида циклов: цикл с параметром for




Скачати 60.86 Kb.
НазваОператоры цикла Операторы цикла используются для вычислений, повторяющихся многократно. В c# имеется четыре вида циклов: цикл с параметром for
Дата15.01.2013
Розмір60.86 Kb.
ТипДокументи

Операторы цикла

Операторы цикла используются для вычислений, повторяющихся многократно. В C# имеется четыре вида циклов: цикл с параметром for, цикл с предусловием while, цикл с постусловием dowhile, и цикл перебора foreach. Каждый из них состоит из определенной последовательности операторов.

Блок операторов повторяющийся заданноет число раз, или до выполнения некоторого условия и ради выполнения которого и организуется цикл, называется телом цикла. Остальные операторы служат для управления процессом повторения вычислений: это начальные установки, проверка условия продолжения цикла и модификация параметра цикла.

Один проход цикла называется итерацией.

Начальные установки служат для того, чтобы до входа в цикл задать значения переменных, которые в нем используются.

Проверка условия продолжения цикла выполняется на каждой итерации либо до тела цикла (тогда говорят о цикле с предусловием, схема которого показана на рис. а), либо после тела цикла (цикл с постусловием, рис. б). Разница между ними состоит в том, что тело цикла с постусловием всегда выполняется хотя бы один раз, после чего проверяется, надо ли его выполнять еще раз. Проверка необходимости выполнения цикла с предусловием делается до тела цикла, поэтому возможно, что он не выполнится ни разу.



Параметром цикла называется переменная, которая используется при проверке условия продолжения цикла и принудительно изменяется на каждой итерации, причем, как правило, на одну и ту же величину.

Цикл завершается, если условие его продолжения не выполняется. Возможно принудительное завершение как текущей итерации, так и цикла в целом. Для этого служат операторы break, continue, return и goto.

Цикл «for»

Цикл «for» в С# предоставляет механизм итерации, в котором определенное условие проверяется перед выполнением каждой итерации. Синтаксис этого оператора:

for (инициализатор; условие; итератор) оператор  for (инициализатор; условие; итератор) {

оператор_1

оператор_2

оператор_3

………….

Оператор_n

}

Здесь:

инициализатор — выражение, вычисляемое перед первым выполнением тела цикла (обычно инициализация локальной переменной в качестве счетчика цикла);

условие — выражение, проверяемое перед каждой новой итерацией цикла (должно возвращать true, чтобы была выполнена следующая итерация);

итератор — выражение, вычисляемое после каждой итерации или модификация счетчика (обычно приращение значения счетчика цикла).

Итерации прекращаются, когда вычисление условия дает false.

Цикл «for» относится к циклам с предварительной проверкой, потому что условие цикла вычисляется перед тем, как выполнятся операторы, образующие тело цикла, и поэтому они могут вообще не выполниться, если условие сразу будет равно false.

Цикл «for» отлично подходит для повторного выполнения оператора или блока операторов заранее известное количество раз. В следующем примере демонстрируется типичное использование цикла «for». Следующий код выведет на экран все целые числа от 0 до 99:

for (int i = 0; i < 100; i = i + 1)  for (int i = 0; i < 100; i++)

{ Console.WriteLine(i);  Console.Write(" " + i); // Первое – в столбец, второе в

//строку

}

Здесь объявляется переменная i типа int, которая инициализируется нулем. Она используется в качестве счетчика цикла. Затем немедленно выполняется проверка, что ее значение меньше 100. Поскольку это условие истинно, выполняется код внутри цикла, отображающий значение 0. Затем счетчик увеличивается на единицу, и процесс повторяется снова. Выполнение цикла прекращается, когда i достигает значения 100.

На самом деле приведенный пример цикла не совсем точно показывает то, как вы обычно будете писать его. С# имеет сокращение для операции увеличения на 1 (инкремента), поэтому вместо i = i + 1 вы можете просто написать i++:

Нередко случается использовать вложенные циклы «for», когда внутренний цикл «for» полностью выполняется на каждом шаге внешнего цикла «for». Эта схема обычно применяется для прохода по каждому элементу прямоугольного многомерного массива.

Внешний цикл проходит по каждой строке, а внутренний — по каждому столбцу в этой строке. Следующий код отображает строки чисел. Он также использует другой метод Console — Console.Write (), который делает то же самое, что Console.WriteLine (), но не посылает на вывод символ перевода строки.



// Этот цикл проходит по строкам. . .

for (int i=0; i < 100; i+=10)

{// Этот цикл проходит по столбцам. . .

for (int j = i; j < i + 10; j++)

{

Console.Write(" " + j);

}

Console.WriteLine();

}


/*

for (int i = 0; i < 11; i++ )

//for (int i = 0; i < 11; i=i+1 )

{

Console.Write("i="+i);

// Console.WriteLine("i="+i); */


//Вывод чисел от 1 до 100 в виде таблицы

//Внешний цикл проходит по строкам

for (int i = 0; i < 100; i+=10 )

{

//Внутренний цикл проходит по строкам

for (int j = i; j < i+10; j++ )

{

Console.Write(" "+j);

}

Console.WriteLine();



Хотя j — целое, оно должно быть автоматически преобразовано в строку, чтобы стала возможной конкатенация

Программисты на С и C++ отметят одно важное свойство приведенного примера. Внутренняя переменная цикла объявляется заново на каждом шаге внешнего цикла. Этот синтаксис допускается в С#, равно как и в C++.

Результат работы последнего примера будет выглядеть следующим образом:

0123456789

10 11 12 13 14 15 16 17 18 19

20 21 22 23 24 25 26 27 28 29

30 31 32 33 34 35 36 37 38 39

40 41 42 43 44 45 46 47 48 49

50 51 52 53 54 55 56 57 58 59

60 61 62 63 64 65 66 67 68 69

70 71 72 73 74 75 76 77 78 79

80 81 82 83 84 85 86 87 88 89

90 91 92 93 94 95 96 97 98 99

Хотя технически возможно в проверочном условии цикла for вычислять что-либо другое, а не значение переменной-счетчика, это, конечно, не является типичной практикой. Можно также пропустить одно (или далее все) выражения в цикле for.

Сумма чисел от 1 до 100

/*

int s = 0, a=1, b=100;

for ( int i = a; i <= b; i=i+1 ) s=s+i;

Console.WriteLine("Сумма чисел от "+a+" до "+ b+" равна: "+s);*/

/*

int s = 0, a=1, b=100;

for ( int i = a; i <= b; i++ ) s+=i;

Console.WriteLine("Сумма чисел от "+a+" до "+ b+" равна: "+s); */

/*

int s = 0, a = 1, b = 100;

for (int i = b; i >= a; i--) s += i;

Console.WriteLine("Сумма чисел от " + a + " до " + b + " равна: " + s); */

int s = 0, a = 1, b = 100;

for (int i = b; i >= a; i=i-1) s += i;

Console.WriteLine("Сумма чисел от " + a + " до " + b + " равна: " + s);


Цикл «while»

Цикл «while» в С# подобно «for» также является циклом с предварительной проверкой. Синтаксис его аналогичен, но циклы while включают только одно выражение:

while (выражение) оператор ;  while (выражение) {

оператор_1

оператор_2

оператор_3

………….

Оператор_n

}

Выражение должно быть логического типа. Например, это может быть операция отношения (условие) или просто логическая переменная. Если результат вычисления выражения равен true, выполняется простой или составной оператор (блок). Эти действия повторяются до того момента, пока результатом выражения не станет значение false. После окончания цикла управление передается на следующий за ним оператор.

Выражение вычисляется перед каждой итерацией цикла. Если при первой про­верке выражение равно false, цикл не выполнится ни разу.

Если в теле цикла необходимо выполнить более одного оператора, необходимо за­ключить их в блок с помощью фигурных скобок.


В отличие от «for», цикл «while» чаще используется для заранее неизвестного количества повторных выполнений оператора или блока операторов.

/*

//Цикл с предусловием while

//Сумма чисел от 1 до 100

int s = 0, a = 0;

while (a<100) {

a = a + 1;

s = s + a;

// Console.WriteLine("Сумма чисел от 0 до 100 равна: " + s);

}

Console.WriteLine("Сумма чисел от 0 до 100 равна: " + s); */

//Вычисление факториала

int faktotial = 1, n = 1;

while (n<=5) {

faktotial = faktotial * n;

Console.WriteLine("Факториал "+n+" равен: " + faktotial);

n = n + 1;

Console.ReadLine();

}

Console.WriteLine("Факториал"+n+"равен: " + faktotial);


Все циклические механизмы С#, включая цикл «while», могут обходиться без фигурных скобок, если тело цикла состоит из единственного оператора, а не блока.

Опять таки, многие программисты считают хорошим тоном использовать фигурные скобки всегда.

Цикл «do...while»

Цикл «do...while» в С#- это версия «while» с постпроверкой условия. Это значит, что проверочное условие цикла выполняется после выполнения тела цикла. Следовательно, циклы «do...while» удобны в тех ситуациях, когда блок операторов должен быть выполнен как минимум однажды, например:

int s = 0, a = 0;

do

{

a = a + 1;

s = s + a;

// Console.WriteLine("Сумма чисел от 0 до 100 равна: " + s);

}

while (a < 100);

Console.WriteLine("Сумма чисел от 0 до 100 равна: " + s);






Схожі:

Операторы цикла Операторы цикла используются для вычислений, повторяющихся многократно. В c# имеется четыре вида циклов: цикл с параметром for iconОператоры ветвления (Управляющие структуры языка) Операторы ветвления «if»
«if» и «switch» применяются для того чтобы в зависимости от конкретных значений исходных данных обеспечить выполнение разных последовательностей...
Операторы цикла Операторы цикла используются для вычислений, повторяющихся многократно. В c# имеется четыре вида циклов: цикл с параметром for icon9. 1 Жизненный цикл программного обеспечения. Модели жизненного цикла
ПО) лежит понятие его жизненного цикла (ЖЦ). Жизненный цикл является моделью создания и использования по, отражающей его различные...
Операторы цикла Операторы цикла используются для вычислений, повторяющихся многократно. В c# имеется четыре вида циклов: цикл с параметром for iconТема Загальні відомості про розробку програм. Формалізація та алгоритмізація обчислювальних процесів Життєвий цикл програм
Жизненный цикл программных изделий, это этапы создания, использования и утилизации программ. Экономистам понимание жизненного цикла...
Операторы цикла Операторы цикла используются для вычислений, повторяющихся многократно. В c# имеется четыре вида циклов: цикл с параметром for iconТема Загальні відомості про розробку програм. Формалізація та алгоритмізація обчислювальних процесів Життєвий цикл програм
Жизненный цикл программных изделий, это этапы создания, использования и утилизации программ. Экономистам понимание жизненного цикла...
Операторы цикла Операторы цикла используются для вычислений, повторяющихся многократно. В c# имеется четыре вида циклов: цикл с параметром for iconТема Загальні відомості про розробку програм. Формалізація та алгоритмізація обчислювальних процесів Життєвий цикл програм
Жизненный цикл программных изделий, это этапы создания, использования и утилизации программ. Экономистам понимание жизненного цикла...
Операторы цикла Операторы цикла используются для вычислений, повторяющихся многократно. В c# имеется четыре вида циклов: цикл с параметром for iconТема Загальні відомості про розробку програм. Формалізація та алгоритмізація обчислювальних процесів Життєвий цикл програм
Жизненный цикл программных изделий, это этапы создания, использования и утилизации программ. Экономистам понимание жизненного цикла...
Операторы цикла Операторы цикла используются для вычислений, повторяющихся многократно. В c# имеется четыре вида циклов: цикл с параметром for iconТема Загальні відомості про розробку програм. Формалізація та алгоритмізація обчислювальних процесів Життєвий цикл програм
Жизненный цикл программных изделий, это этапы создания, использования и утилизации программ. Экономистам понимание жизненного цикла...
Операторы цикла Операторы цикла используются для вычислений, повторяющихся многократно. В c# имеется четыре вида циклов: цикл с параметром for iconТема Загальні відомості про розробку програм. Формалізація та алгоритмізація обчислювальних процесів Життєвий цикл програм
Жизненный цикл программных изделий, это этапы создания, использования и утилизации программ. Экономистам понимание жизненного цикла...
Операторы цикла Операторы цикла используются для вычислений, повторяющихся многократно. В c# имеется четыре вида циклов: цикл с параметром for iconТема Загальні відомості про розробку програм. Формалізація та алгоритмізація обчислювальних процесів Життєвий цикл програм
Жизненный цикл программных изделий, это этапы создания, использования и утилизации программ. Экономистам понимание жизненного цикла...
Операторы цикла Операторы цикла используются для вычислений, повторяющихся многократно. В c# имеется четыре вида циклов: цикл с параметром for iconТема Загальні відомості про розробку програм. Формалізація та алгоритмізація обчислювальних процесів Життєвий цикл програм
Жизненный цикл программных изделий, это этапы создания, использования и утилизации программ. Экономистам понимание жизненного цикла...
Додайте кнопку на своєму сайті:
Документи


База даних захищена авторським правом ©zavantag.com 2000-2013
При копіюванні матеріалу обов'язкове зазначення активного посилання відкритою для індексації.
звернутися до адміністрації
Документи