Циклы

  • docx
  • 18.11.2021
Публикация на сайте для учителей

Публикация педагогических разработок

Бесплатное участие. Свидетельство автора сразу.
Мгновенные 10 документов в портфолио.

Иконка файла материала Л2-002096.docx

Циклы

 


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

 

while (P) оператор

 

 

 

 

 

Цикл с постусловием

 

do

 

оператор

 

while (P);


 false


 

 

 

 

 

 

 

Универсальный цикл

for(выражение1; выражение2; выражение3) оператор

 

Схема выполнения универсального цикла:

1.   вычисляется выражение1, которое играет роль начальной уста- новки параметров цикла

2.   вычисляется выражение2, которое играет роль условия повтора цикла. Если значение этого выражения false, выполнение цикла завершается, в противном случае переходим к шагу 3.

3.   Выполняется оператор, образующий тело цикла

4.          вычисляется выражение3, которое играет роль модификатора параметров цикла

5.   переход на шаг 2

Любое из выражений в заголовке цикла может отсутствовать, при этом разделяющие их скобки должны сохраняться. Отсутствующее вы- ражение2 означает, что условие повтора цикла имеет значение true.

Примеры использования циклов

int i=0; //Счетчик while (i<2)

{

Console.WriteLine (“Снег”); //1

i++;

//2

}

 

 

 

 

Шаг

i в начале шага

 

Экран

i в конце шага

1

0

Снег

 

1

2

1

Снег

 

2

3

2

 

 

 

 

 

Если не образовать блок операторов, заключив строки 1 b 2 в фи- гурные скобки, то цикл будет выполняться до бесконечности, так как изменение значения счетчика не будет.

int i=0; do

{

Console.WriteLine (“Снег”); i++;

}


while (i<2);

Шаг i в начале шага    Экран     i в конце шага

1                                0 Снег        1

2                                1 Снег        2

 

 

int i;

for (i=0;i<2;i++) Console.WriteLine (“Снег”);

Шаг

i в начале шага

Экран

i в конце шага

1

0      Снег

 

1

2

1      Снег

 

2

3

2

 

 

 

 

for (;;)

Console.WriteLine (“Снег”);.//Бесконечный вывод этого сообщения

 

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

Выражение инициализации может содержать несколько выражений, разделенных “,”, а объявлений – не более одного

Пример

Вычислить сумму n элементов следующего ряда. Сумму выводить после прибавления каждого слагаемого.

N

S=∑ i/(i2+1) = 1/2 + 2/5 + 3/10 + … + N/N2+1

i=1

 

 

int N;

string str;       // рабочая строка для вывода на экран

int i;

double s; // переменная, в которой будет накапливается сумма

N=5;

for (i=1, s=0; i<=N; i++, Console.WriteLine(str))

{

s+=(double)i/(i*i+1.0); str=s.ToString();

}

 

Второй вариант решения задачи

int N; string str; double s; N=5; s=0;

for (int i=0; i<=N; i++, Console.WriteLine(str))


{

s+=(double)i/(i*i+1.0); str=s.ToString();\