Математические операции
Разделители
Выражения
Инструкции, команды
Символы char
Тип Char – это один символ в коде unicod. Символ помещается в одиночные кавычки. Синтаксис объявления:
char Имя = ' Символ ';
char S = ' z ';
Код приложений в C# состоит из инструкций (команд) с ключевыми словами и выражениями с операторами.
В инструкцию включают объявление переменных, присвоение значений, вызов методов, ветвление на один или другой блок кода, в зависимости от заданного условия. Порядок выполнения инструкций в программе называется потоком выполнения.
Инструкция - строка кода, которая заканчивается точкой с запятой.
Блочная инструкция -набор инструкций в фигурных скобках{ }. Может содержать вложенные блоки { {…} }.
Выражение – это строка кода, которая определяет способ вычисления некоторого значения. Выражение состоит из:
- Операндов, // данные, над которыми выполняются действия
- Знаков операций,
- Круглых скобок // используются для изменения приоритетности операций.
Выражение включают в состав инструкции. Пример с простым выражением:
х = 100; // Данная инструкция выполняет присвоение значения 100 переменной х.
Инструкцией такого вида можно инициализировать любое число переменных с одним и тем же значением, например 20:
a = b = c = d = e = 20;
В объявлении константы необходимо задать значение.
double Площадь = 0; // Переменная с инициализацией
double Радиус = 2;
const double pi = 3.14159; // Константа pi с конечным числом символов.
Инструкция с выражением вычисляет значение выражения, которое сохраняется в указанной переменной.
Площадь = pi * (Радиус * Радиус);
В языке С# как разделители рассматриваются:
- пробелы,
- знаки табуляции,
- переход на новую строку.
В инструкциях языка С# лишние разделители компилятором игнорируются.
Можно написать:
myValue=100; или myValue = 100;
Компилятор обработает эти две инструкции как абсолютно идентичные. Исключение состоит в том, что пробелы в пределах строки не игнорируются. В строке кода:
Console.WriteLine("Я изучаю C# !");
// каждый пробел между словами «Я», «изучаю», «C#» и знаком «!» будет обрабатываться, как отдельный символ строки.
Разделители применяются для того, чтобы сделать программу более удобной для программиста, для компилятора разделители абсолютно безразличны.
Разделители в тексте программы позволяют компилятору находить и анализировать ключевые слова языка.
Для выполнения сложных математических операций, например в тригонометрии, используется класс платформ Math.
Класс System.Math включает поля и методы.
Поля класса
Вызов | Действие |
Math.E | Значение свойства E примерно равно 2,718. |
Math.LN10 | Значение свойства LN10 примерно равно 2,302. |
Math.LN2 | Значение свойства LN2 примерно равно 0,693. |
Math.LOG10E | Свойство LOG10E (константа) приблизительно равно 0,434. |
Math.LOG2E | Значение свойства LOG2E (константа) приблизительно равно 1,442. |
Math.SQRT2 | Свойство SQRT2 (константа) приблизительно равно 1,414. |
Math.PI | Свойство PI является константой, приблизительно равной 3,14159. |
Методы класса. Имена с заглавной буквы.
Вызов | Функция |
Abs(x) | Абсолютное значение |
Acos(x) | Обратный косинус |
Asin(x) | Обратный синус |
Atan(x) | Обратный тангенс |
Ceiling(x) | Округление вверх |
Cos(x) | Косинус |
Cosh(x) | Косинус гиперболический |
DivRem(x,y) | Остаток от x/y, числа целые |
Exp(x) | Экспонента = ex |
Floor(x) | Округление вниз |
IEEERemainder(x,y) | Остаток от x/y, числа вещественные |
Log(x) | Натуральный логарифм |
Log(x,y) | Логарифм от x по основанию y |
Log10(x) | Логарифм от x по основанию 10 |
Max(x,y) | Максимальное из двух |
Min(x,y) | Минимальное из двух |
Pow(x,y) | Возводит x в любую степень y |
Round(x) | Округление до ближайшего целого |
Sign(x) | Знак числа |
Sin(x) | Синус |
Sinh(x) | Синус гиперболический |
Sqrt(x) | Квадратный корень |
Tan(x) | Тангенс |
Tanh(x) | Тангенс гиперболический |
Примеры использования методов Sin (вычисление синуса) и Sqrt (вычисление квадратного корня) и константа PI (системная константа с большим количеством знаков), Pow(возведения в степень), Exp(вычисления экспоненты)
using System;
double d = Math.Sin(Math.PI/2);
![]() | |||
![]() | |||
double q = Math.Sqrt(144);
![]() | ![]() | ||
double y = (Math.Exp(x)+1)/(Pow(p,1/3) –
Math.Abs(Math.Pow(s,3)-1);
double t = Math.Pow(2,x)* Math.Cos(b*y) -
Math.Pow(3,y)*Math.Pow(Math.Sin(b*x),2);
double n =b*t+a;
double s= Math.Exp(-b*x)* Math.Sin(n)- Math.Sqrt(n);