Полное руководство по языку программирования С# 14 и платформе .NET 10 / Дополнительные классы и структуры .NET

Математические вычисления и класс Math

Начальный ⏱ 3 мин чтения 👁 2 🕓 обновлено 11.08.2026

Для выполнения различных математических операций в библиотеке классов .NET предназначен класс Math. Он является статическим, поэтому все его методы также являются статическими.

Рассмотрим основные методы класса Math:

  • Abs(double value): возвращает абсолютное значение для аргумента value

    double result = Math.Abs(-12.4); // 12.4
    
  • Acos(double value): возвращает арккосинус value. Параметр value должен иметь значение от -1 до 1

    double result = Math.Acos(1); // 0
    
  • Asin(double value): возвращает арксинус value. Параметр value должен иметь значение от -1 до 1

  • Atan(double value): возвращает арктангенс value

  • BigMul(int x, int y): возвращает произведение x * y в виде объекта long

    double result = Math.BigMul(100, 9340); // 934000
    
  • Ceiling(double value): возвращает наименьшее целое число с плавающей точкой, которое не меньше value

    double result = Math.Ceiling(2.34); // 3
    
  • Cos(double d): возвращает косинус угла d

  • Cosh(double d): возвращает гиперболический косинус угла d

  • DivRem(int a, int b, out int result): возвращает результат от деления a/b, а остаток помещается в параметр result

    int result;
    int div = Math.DivRem(14, 5, out result);
    //result = 4
    // div = 2
    
  • Exp(double d): возвращает основание натурального логарифма, возведенное в степень d

  • Floor(decimal d): возвращает наибольшее целое число, которое не больше d

    double result = Math.Floor(2.56); // 2
    
  • IEEERemainder(double a, double b): возвращает остаток от деления a на b

    double result = Math.IEEERemainder(26, 4); // 2 = 26-24
    
  • Log(double d): возвращает натуральный логарифм числа d

  • Log(double a, double newBase): возвращает логарифм числа a по основанию newBase

  • Log10(double d): возвращает десятичный логарифм числа d

  • Max(double a, double b): возвращает максимальное число из a и b

  • Min(double a, double b): возвращает минимальное число из a и b

  • Pow(double a, double b): возвращает число a, возведенное в степень b

  • Round(double d): возвращает число d, округленное до ближайшего целого числа

    double result1 = Math.Round(20.56); // 21
    double result2 = Math.Round(20.46); //20
    
  • Round(double a, int b): возвращает число a, округленное до определенного количества знаков после запятой, представленного параметром b

    double result1 = Math.Round(20.567, 2); // 20,57
    double result2 = Math.Round(20.463, 1); //20,5
    
  • Sign(double value): возвращает число 1, если число value положительное, и -1, если значение value отрицательное. Если value равно 0, то возвращает 0

    int result1 = Math.Sign(15); // 1
    int result2 = Math.Sign(-5); //-1
    
  • Sin(double value): возвращает синус угла value

  • Sinh(double value): возвращает гиперболический синус угла value

  • Sqrt(double value): возвращает квадратный корень числа value

    double result1 = Math.Sqrt(16); // 4
    
  • Tan(double value): возвращает тангенс угла value

  • Tanh(double value): возвращает гиперболический тангенс угла value

  • Truncate(double value): отбрасывает дробную часть числа value, возвращаяя лишь целое значение

    double result = Math.Truncate(16.89); // 16
    

Также класс Math определяет две константы: Math.E и Math.PI. Например, вычислим площадь круга:


double radius = 50;
double area = Math.PI * Math.Pow(radius, 2);
Console.WriteLine($"Площадь круга с радиусом {radius} равна {Math.Round(area,2)}");
Площадь круга с радиусом 50 равна 7853,98

Проверь себя

📋 Тест по теме «Математические вычисления и класс Math» Тест по теме

Практические задания

Лёгкое Ручная проверка Заполните пропуск в коде (1)
+10 XP

В приведённом ниже фрагменте кода из этого урока пропущено одно слово. Определите его и впишите в поле ответа (без кавычек и пробелов).

_____ radius = 50;
double area = Math.PI * Math.Pow(radius, 2);
Console.WriteLine($"Площадь круга с радиусом {radius} равна {Math.Round(area,2)}");
Площадь круга с радиусом 50 равна 7853,98
Войдите, чтобы отправить решение
Лёгкое Ручная проверка Заполните пропуск в коде (2)
+10 XP

В приведённом ниже фрагменте кода из этого урока пропущено одно слово. Определите его и впишите в поле ответа (без кавычек и пробелов).

double radius = 50;
double _____ = Math.PI * Math.Pow(radius, 2);
Console.WriteLine($"Площадь круга с радиусом {radius} равна {Math.Round(area,2)}");
Площадь круга с радиусом 50 равна 7853,98
Войдите, чтобы отправить решение
Лёгкое Ручная проверка Заполните пропуск в коде (3)
+10 XP

В приведённом ниже фрагменте кода из этого урока пропущено одно слово. Определите его и впишите в поле ответа (без кавычек и пробелов).

double _____ = 50;
double area = Math.PI * Math.Pow(radius, 2);
Console.WriteLine($"Площадь круга с радиусом {radius} равна {Math.Round(area,2)}");
Площадь круга с радиусом 50 равна 7853,98
Войдите, чтобы отправить решение
Лёгкое Ручная проверка Заполните пропуск в коде (4)
+10 XP

В приведённом ниже фрагменте кода из этого урока пропущено одно слово. Определите его и впишите в поле ответа (без кавычек и пробелов).

double _____ = 50;
double area = Math.PI * Math.Pow(radius, 2);
Console.WriteLine($"Площадь круга с радиусом {radius} равна {Math.Round(area,2)}");
Площадь круга с радиусом 50 равна 7853,98
Войдите, чтобы отправить решение
Лёгкое Ручная проверка Заполните пропуск в коде (5)
+10 XP

В приведённом ниже фрагменте кода из этого урока пропущено одно слово. Определите его и впишите в поле ответа (без кавычек и пробелов).

double radius = 50;
double area = Math.PI * Math.Pow(radius, _____);
Console.WriteLine($"Площадь круга с радиусом {radius} равна {Math.Round(area,2)}");
Площадь круга с радиусом 50 равна 7853,98
Войдите, чтобы отправить решение
Среднее Ручная проверка Восстановите код по памяти (1)
+20 XP

В этом фрагменте кода урока пропущены два ключевых элемента. Впишите оба пропущенных значения через запятую в порядке появления (например: x, 5).

double radius = _____;
double area = Math.PI * Math.Pow(radius, 2);
_____.WriteLine($"Площадь круга с радиусом {radius} равна {Math.Round(area,2)}");
Площадь круга с радиусом 50 равна 7853,98
Войдите, чтобы отправить решение
Среднее Ручная проверка Восстановите код по памяти (2)
+20 XP

В этом фрагменте кода урока пропущены два ключевых элемента. Впишите оба пропущенных значения через запятую в порядке появления (например: x, 5).

double radius = _____;
double _____ = Math.PI * Math.Pow(radius, 2);
Console.WriteLine($"Площадь круга с радиусом {radius} равна {Math.Round(area,2)}");
Площадь круга с радиусом 50 равна 7853,98
Войдите, чтобы отправить решение
Среднее Ручная проверка Расставьте строки кода в правильном порядке
+20 XP

Строки кода из примера этого урока перемешаны. Впишите их в правильном порядке, каждую строку — с новой строки.

Console.WriteLine($"Площадь круга с радиусом {radius} равна {Math.Round(area,2)}");
Площадь круга с радиусом 50 равна 7853,98
double area = Math.PI * Math.Pow(radius, 2);
double radius = 50;
Войдите, чтобы отправить решение
Сложное Ручная проверка Объясните и модифицируйте пример из урока «Математические вычисления и класс Math»
+30 XP

Опишите своими словами, что делает приведённый пример кода из урока «Математические вычисления и класс Math», и предложите одно осмысленное изменение (например, другое входное значение или дополнительное условие). Приведите итоговый код.

double radius = 50;
double area = Math.PI * Math.Pow(radius, 2);
Console.WriteLine($"Площадь круга с радиусом {radius} равна {Math.Round(area,2)}");
Площадь круга с радиусом 50 равна 7853,98
Войдите, чтобы отправить решение
Сложное Ручная проверка Найдите потенциальную проблему в коде урока «Математические вычисления и класс Math»
+30 XP

Изучите приведённый фрагмент кода и опишите, при каких входных данных или условиях он может сработать не так, как ожидается (граничный случай, отсутствие проверки и т.п.). Предложите исправленный вариант.

double radius = 50;
double area = Math.PI * Math.Pow(radius, 2);
Console.WriteLine($"Площадь круга с радиусом {radius} равна {Math.Round(area,2)}");
Площадь круга с радиусом 50 равна 7853,98
Войдите, чтобы отправить решение
Мини-проект Ручная проверка Мини-проект по теме «Математические вычисления и класс Math»
+50 XP

Соберите небольшую программу, которая последовательно демонстрирует ключевые идеи урока. Программа должна быть рабочей и содержать минимум два самостоятельно написанных фрагмента, а не просто копию примера из урока.

Войдите, чтобы отправить решение
Домашнее задание Ручная проверка Домашнее задание по теме «Математические вычисления и класс Math»
+25 XP

Напишите собственную небольшую программу, применяющую материал темы «Математические вычисления и класс Math». Используйте не менее одной конструкции, показанной в примерах урока. Прикрепите код решения и краткое описание того, что он делает.

Войдите, чтобы отправить решение

Обсуждение (0)

Войдите, чтобы оставить комментарий.