2.9. Выражения
Из констант, переменных, разделителей и знаков операций можно конструировать выражения. Каждое выражение представляет собой правило вычисления нового значения. Каждое выражение состоит из одного или нескольких операндов, символов операций и ограничителей. Если выражение формирует целое или вещественное число, то оно называется арифметическим. Пара арифметических выражений, объединенная операцией сравнения, называется отношением. Если отношение имеет ненулевое значение, то оно – истинно, иначе – ложно.
2.10. Ввод и вывод данных
Любая программа при вводе исходных данных и выводе результатов взаимодействует с внешними устройствами. Совокупность стандартных устройств ввода и вывода, то есть клавиатуры и экрана, называется консолью. В языке С#, как и во многих других, нет операторов ввода и вывода. Вместо них для обмена с внешними устройствами применяются стандартные объекты. Для работы с консолью в С# применяется класс Console, определенный в пространстве имен System. В этом классе определены методы:
Console.Write(форматная строка, [параметры]);
Console.WriteLine(форматная строка, [параметры]);
где форматная строка – это строковая константа, в которой содержится текст для вывода, параметры – это переменные, значения которых будут при выводе подставлены в форматную строку.
Методы отличаются друг от друга тем, что метод WriteLine() выполняет переход на следующую строку после вывода форматной строки.
int x=10, y=15;
Console.WriteLine(”x={0},\ny={1}”,x,y};
int x=10, y=15;
Console.WriteLine(”x=”+x};
Console.WriteLine(”y=”+y};
int x=10, y=15;
Console.Write(”x=”+x+”\n”};
Console.Write(”y=”+y+”\n”};
При вводе данных с клавиатуры используются методы Console.Read() и Console.ReadLine().
В классе Console определены методы ввода строки и отдельного символа, но нет методов, которые позволяют непосредственно считывать с клавиатуры числа. Ввод числовых данных выполняется в два этапа:
Символы, представляющие собой число, вводятся с клавиатуры в строковую переменную.
Выполняется преобразование из строки в переменную соответствующего типа.
string buf;
Console.WriteLine(”Введите значение переменной”);
buf=Console.ReadLine();
int x=int.Parse(buf);//преобразует строку в целое число
2.11. Использование математических функций
В выражениях часто используются математические функции, например синус или возведение в степень. Они реализованы в классе Math, определенном в пространстве имен System.
Таблица 4 Основные поля и методы класса Math
Функция |
Описание |
Пример вызова |
Abs() |
Абсолютное значение |
int a=Math.Abs(-10); |
Acos() |
Арккосинус |
double x; . . . double y=Math.Acos(x); |
Asin() |
Арксинус |
double x; . . . double y=Math.Asin(x); |
Atan() |
Арктангенс |
double x; . . . double y=Math.Atan(x); |
Atan2() |
Арктангенс - угол, тангенс которого это результат деления второго аргумента на первый |
double x,y; . . . double z=Math.Atan(x,y); |
BigMul() |
Произведение |
long x,y;. . . .long z=Math.BigMul(x,y); |
Celling() |
Округление до большего целого |
double a=Math.Celling(3.4567); |
Cos() |
Косинус |
double x; . . . double y=Math.Cos(x); |
Cosh() |
Гиперболический косинус |
double x; . . . double y=Math.Cosh(x); |
DivRem() |
Деление и остаток |
int b, c; c = Math.DivRem(15, 5, out b); |
E |
База натурального логарифма |
2.71828 |
Exp() |
Экспонента |
double x; … double y=Math.Exp(x); |
Floor() |
Округление до меньшего целого |
double a=Math.Floor(3.4567); |
IEEERemainder() |
Остаток от деления |
double a=Math. IEEERemainder (12, 5); |
Log() |
Натуральный логарифм |
double x;….. double y=Math.Log(x); |
Log10() |
Десятичный логарифм |
double x;….. double y=Math.Log10(x); |
Max() |
Максимум из двух чисел |
int x= Math.Max(3,6); |
Min() |
Минимум из двух чисел |
int x= Math.Min(3,6); |
Pi |
Значение числа пи |
3.14159 |
Pow() |
Возведение в степень |
double x=Math.Pow(2,3); |
Round() |
Округление |
double a=Math.Round (3.4567); |
Sign() |
Знак числа |
int x=Math.Sign(-1); |
Sin() |
Синус |
double x; . . . double y=Math.Sin(x); |
Sinh() |
Гиперболический синус |
double x; . . . double y=Math.Sinh(x); |
Sqrt() |
Квадратный корень |
double x; . . . double y=Math.Sqrt(x); |
Tan() |
Тангенс |
double x; . . . double y=Math.Tan(x); |
Tanh() |
Гиперболический тангенс |
double x; . . . double y=Math.Tanh(x); |
