оператор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.