Классификация операций и их приоритеты. Назначение, синтаксис описания, примеры.
Условная операция:
Работа всех условных конструкций построена на проверке некоторых условий на истинность или ложность. В зависимости от результатов этой проверки выполняется тот или иной блок кода.
Операция: данная операция позволяет подставить в выражение результат вычисления одного из двух других выражений. В зависимости от ложности выражения или истинности, выражение выставляется в качестве условия. Данная операция может быть использована только в составе некоторых выражений.
Синтаксис операции: логическое_выражение ? выражение1: выражение2
Результатом логического выражения может быть истина (true) ложь (folse). Если выражение истинно выполниться выражение1, иначе – выражение2.
Пример:
static void Main(string[] args)
{
int n;
n = Convert.ToInt32(Console.ReadLine());
n = n == 0 ? 1 : n;
Console.WriteLine("1/n="+1/n);
Console.ReadKey();
}
Циклическая операция:
Циклические операции являются бесконечными циклами и поэтому не могут завершиться. Например, объект A может попытаться наследоваться от объекта B, который в свою очередь наследуется от объекта A.
Синтаксис: for (инициализация; условное выражение; модификация) оператор;
Цикл выполняется до тех пор, пока верно условное выражение.
Пример:
static void Main(string[] args)
{
int i;
for( i=0; i<10; i++)
Console. WriteLine("Текущее значение переменной i: {0}", i);
Console.ReadKey();
}
Условные конструкции (if, switch). Назначение, синтаксис описания, примеры.
If – используется для разветвления процессов вычисления на два направления.
Синтаксис: if – логическое условие оператор 1;
Пример: int a = 1
string tstr = Consol.ReadLine();
int b = Convert. ToInt 32 (tstr);
if (b = = 1) a = 3;
else a = 4;
Console.WriteLine (a);
Switch предназначен для разветвления процессов вычислений на произвольное количество направлений.
Синтаксис: switch (выражение)
{
case константное значение 1; список операторов;
break;
Пример:
switch (op)
{
case ‘+’ : res=a+b; break;
case ‘-‘: res=a-b; brear;
case ‘*’: res=a*b; break;
case ‘/’: res=a/b; break;
default: res=double.NaN: ok=false; break;
}
If (ok) Console.WrileLine(“Результат: “+res);
else Console.WriteLine(“Недопустимая операция”);
Циклические конструкции (for, while, do, foreach). Назначение, синтаксис описания, примеры.
Операторы цикла используются для вычисления повторяющихся многократно последовательностей операций. Имеется 4 вида цикла:
· цикл предусловия while;
· цикл с постусловием do while;
· цикл с параметром for;
· цикл с перебором foreach.
Блок, который выполняется несколько раз в цикле, называется телом цикла, остальные операторы служат для управления процесса повторения. Один проход цикла называется итерацией. Начальные установки служат для того чтобы задать начальные значения переменных, которые используются в циклах. Проверка условия продолжения цикла выполняется на каждой итерации цикла.
Оператор while
Проверка условия выполняется перед началом итерации. Этот цикл выполняется до тех пор, пока условие верно. (Внимание! Параметры условия должны изменяться в операторе, иначе такой цикл будет бесконечен или в операторе должно быть совершено прерывание выполнения цикла.)
Синтаксис: while (условие) оператор;
Пример:
float a, b, c;
int n=1;
c=0; a=2; b=3;
while (n<6)
{
c += a+b*n;
n++;
}
Оператор do while
Проверка условия выполняется после первой итерации. Цикл do while так же позволяет выполнять оператор до тех пор, пока логическое выражение истинно, но проверка логического выражения выполняется после тела цикла. Таким образом, в цикле do while тело цикла выполняется хотя бы один раз.
Синтаксис: do оператор while (условие)
int i = 11;
do
{
Console.WriteLine("i: {0}", i);
i++;
}
while (i < 10) ;
Console.ReadKey();
Оператор for
Осуществляет повторения, управляемые счетчиком, где счетчик нужен для вычисления количества повторений. При повторениях будет выполняться набор высказываний (операторов).
Синтаксис: for (инициализация; условное выражение; модификация или итерация) оператор;
Инициализация служит для объявления величин (итераторов), используемых в цикле и присвоении им начальных значений. В инициализации можно инициализировать несколько итераторов, разделяя их запятой. Соответственно областью видимости переменных, объявленных в инициализации, является цикл, а сама инициализация выполняется 1 раз при старте цикла.
Условное выражение: цикл выполняется до тех пор, пока результат выражения равен true. Соответственно выражение проверяется в начале каждой итерации.
Модификация: выражение, которое определяет, как изменится значение управляющей переменной цикла после каждой итерации. Соответственно обычно используется для изменения параметров условия.
Пример:
for (int n=1; n<6; n++)
c+=a+b*n;
Пример программы (моя лаба + условная конструкция if):
Console.WriteLine("Введите значения a и b");
String astr, bstr;
astr=Console.ReadLine();
bstr=Console.ReadLine();
double a, b;
a=Convert.ToDouble(astr);
b=Convert.ToDouble(bstr);
Console.WriteLine("Введите значение шага p");
string pstr;
pstr=Console.ReadLine();
double p, x, y;
p=Convert.ToDouble(pstr);
for (x=a; x<b; x+=p)
{
if (Math.Abs(x)<3)
{
y=Math.Pow(Math.Cos(2*x), 2)+7*Math.Pow(Math.Tan(x),4);
}
if (Math.Abs(x) >= 3)
{
y = Math.Sqrt(Math.Abs(1 / Math.Tan(3 * x) - 5));
Console.WriteLine("{0}\t{1}\n", x, y);
Console.ReadLine();
}
}
Оператор foreach
Служит для циклического обращения к элементам коллекции, представляющей собой группу объектов. Оператор цикла foreach действует следующим образом. Когда цикл начинается, первый элемент массива выбирается и присваивается переменной цикла. На каждом последующем шаге итерации выбирается следующий элемент массива, который сохраняется в переменной цикла. Цикл завершается, когда все элементы массива окажутся выбранными.
Цикл foreach позволяет проходить по каждому элементу коллекции (объект, представляющий список других объектов).
Синтаксис: foreach (тип имя_переменной_цикла in коллекция) оператор;
Пример:
int[] fibarray = new int[] { 0, 1, 1, 2, 3, 5, 8, 13 };
foreach (int element in fibarray)
{
System.Console.WriteLine(element);
}
System.Console.WriteLine();
for (int i = 0; i < fibarray.Length; i++)
{
System.Console.WriteLine(fibarray[i]);
}
System.Console.WriteLine();
int count = 0;
foreach (int element in fibarray)
{
count += 1;
System.Console.WriteLine("Element #{0}: {1}", count, element);
}
System.Console.WriteLine("Number of elements in the array: {0}", count);