If (логическое выражение P )
Поможем в ✍️ написании учебной работы
Поможем с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой

     оператор1

Else

     оператор2

 

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

Допускается сокращенное ветвление.

if ( P ) оператор;

Пример:

Вычислить значение переменной, заданной соотношением

     x2, если х<0

y=

     х+10, если х≥0

Фрагмент программы с использованием ветвления:

       double x, y;

       x = double.Parse(Console.ReadLine());

       if (x < 0)

           y = x * x;

       else

           y = x + 10;

 

Фрагмент программы с использованием ветвления:

       double x, y;

       x = double.Parse(Console.ReadLine());

y = 0.0;

       if (x < 0)

           y = x * x;

       if (x>=0)

       y = x + 10;

 

3. Циклы

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

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

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

Do

оператор

while ( P );

    

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

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 ();\

}

Дата: 2019-02-02, просмотров: 283.