cos , cosf , cosl
Косинус x . Если x значение больше или равно 263, или меньше или равно -263, происходит потеря значения в результате.
| Входные данные | Исключение SEH | Исключение _matherr |
|---|---|---|
| ± QNaN, IND | нет | _DOMAIN |
| ± INF | INVALID | _DOMAIN |
Замечания
Поскольку C++ допускает перегрузку, можно вызывать перегрузки cos , которые принимают и возвращают значения float или long double . В программе C, если вы не используете для вызова этой функции, cos всегда принимает и возвращает значение double .
Если вы используете cos() , тип аргумента определяет, какая версия функции выбрана. Дополнительные сведения см . в разделе «Математика с универсальным типом».
По умолчанию глобальное состояние этой функции ограничивается приложением. Чтобы изменить это поведение, см . статью «Глобальное состояние» в CRT.
Требования
| Маршрут | Обязательный заголовок C | Обязательный заголовок C++ |
|---|---|---|
| cos , cosh , cosf | или | |
| макрос cos() |
Дополнительные сведения о совместимости см. в разделе Совместимость.
Стандартные математические функции в языке Си
Математические вычисления не ограничиваются лишь арифметическими действиями. Кроме них, можно ещё встретить корни, модули, логарифмы, тригонометрические функции и пр. Научимся же использовать подобные функции в своих программах.
Для использования математических функций нужно подключить заголовочный файл math.h . В ней определено много различных функций, но мы пока рассмотрим следующие:
Некоторые математические функции
fabs(x) модуль числа x
sqrt(x) квадратный корень из числа x
sin(x) синус числа x (х в радианах)
cos(x) косинус числа x (х в радианах)
pow(x, y) вычисление x y
exp(x) вычисление e x
log(x) натуральный логарифм числа x
log10(x) десятичный логарифм числа x
- Все функции возвращают значение типа double .
- Параметры функций – вещественные числа( double ), но можно передавать и целые числа. При этом произойдёт неявное преобразование типа . Компилятор из целого числа, например 3, сделает вещественное 3.0.
#include #include // подключаем math.h int main (void)
Вычислить синус угла ввёденного с клавиатуры. Угол вводится в градусах.
#include #include // подключаем math.h int main (void) < double alpha, sin_a, pi = 3.1415926; scanf("%lf",&alpha); alpha = alpha*pi/180; sin_a = sin(alpha); printf("%.2f\n", sin_a); return 0; >
В этой программе есть о чём поговорить. Тригонометрические функции, которые определены в math.h работают с радианной мерой угла. Людям же привычнее работать с градусами. Поэтому в данной программе мы предварительно перевели значение из градусов в радианы. Если этого не сделать, результат получится неправильным. Проверьте это самостоятельно.
Неявное преобразование типов
При явном преобразовании типа мы в скобках перед значением указывали тип, к которому нужно привести данное значение. В неявном преобразовании этого делать не нужно. Компилятор автоматически подберёт необходимый тип. Неявное преобразование типов осуществляется в следующих случаях:
- перед передачей аргументов в функцию (как в нашем примере с корнем. Листинг 1.)
- выполнение арифметических операций с разными типами аргументов
- перед выполнением присваивания
- если выполняются арифметические операции с разными типами аргументов. Оба аргумента приводятся к большему типу.
Порядок типов: int < float < double - при присваивании. Значение справа от оператора присваивания приводится к типу переменной слева от оператора присваивания. При этом, если больший тип присваивается меньшему, то может произойти потеря точности.
Примеры: int+float будет автоматически преобразовано к float+float
float/int будет автоматически преобразовано к float/float
double*float будет преобразовано к double*double
int = double double будет преобразовано к int с потерей дробной части
float = int int будет преобразовано к float
Сохрани в закладки или поддержи проект.
Практика

Решите предложенные задачи: Для удобства работы сразу переходите в полноэкранный режим
Дополнительные материалы
- пока нет
Cos – вычисляет косинус

Функция cos возвращает косинус введенного значения. Угол задается в радианах.
Возвращаемое значение
Вещественная версия cos возвращает значение в диапазоне от -1 до 1. Управление ошибками для этой функции можно изменить с помощью функции matherr.
Переносимость
Поддерживается в системах UNIX и определена в ANSI C. Комплексная версия требует С++ и непереносима.
Пример
#include #include int main(void)
Косинус и синус в C#: Полное Руководство для Начинающих


Приветствую вас в увлекательном мире математических функций C#! Сегодня мы поговорим о двух важнейших функциях: косинусе (cos) и синусе (sin). Эти функции – основные строительные блоки в тригонометрии и находят широкое применение в программировании, от создания игр до решения научных задач.
Что такое синус и косинус?
Давайте начнем с аналогии. Представьте себе круг. Если вы начнете движение по кругу из одной точки и продолжите двигаться, ваше перемещение можно описать с помощью угла и радиуса круга. Синус и косинус – это функции, которые связывают угол вашего текущего положения с координатами X и Y на этом круге.
- Синус (sin) угла – это отношение противолежащего катета к гипотенузе в прямоугольном треугольнике.
- Косинус (cos) угла – это отношение прилежащего катета к гипотенузе.
Использование sin и cos в C
В C#, как и в большинстве языков программирования, синус и косинус рассчитываются с использованием библиотеки System.Math . Для работы с этими функциями вам нужно просто подключить эту библиотеку.
Примеры кода
Давайте рассмотрим несколько простых примеров.
Пример 1: Основы
using System; class Program < static void Main() < double angleInDegrees = 30.0; double angleInRadians = angleInDegrees * (Math.PI / 180); double sinValue = Math.Sin(angleInRadians); double cosValue = Math.Cos(angleInRadians); Console.WriteLine($"Синус угла градусов: "); Console.WriteLine($"Косинус угла градусов: "); > >
В этом примере мы вычисляем синус и косинус угла в 30 градусов. Обратите внимание, что функции Math.Sin и Math.Cos принимают угол в радианах, поэтому мы конвертируем градусы в радианы, умножая на (Math.PI / 180) .
Пример 2: Анимация
Представьте, что вы создаете анимацию движения объекта по окружности. Синус и косинус могут помочь в расчете координат объекта в каждый момент времени.
using System; using System.Threading; class Animation < static void Main() < double radius = 5.0; for (double angle = 0; angle 360; angle += 10) < double x = radius * Math.Cos(angle * Math.PI / 180); double y = radius * Math.Sin(angle * Math.PI / 180); Console.Clear(); Console.WriteLine($"X: , Y: "); Thread.Sleep(100); > > >
Этот код создает простую анимацию, в которой объект перемещается по окружности радиуса 5. Значения X и Y вычисляются с использованием косинуса и синуса соответственно.
Читайте так же Конструкторы и Деструкторы в C#: Простое объяснение с примерами
Таблица значений
Для лучшего понимания, как изменяются значения синуса и косинуса, давайте посмотрим на таблицу для углов от 0 до 360 градусов с шагом в 90 градусов:
| Угол (градусы) | Синус | Косинус |
|---|---|---|
| 0 | 0 | 1 |
| 90 | 1 | 0 |
| 180 | 0 | -1 |
| 270 | -1 | 0 |
| 360 | 0 | 1 |
Эти значения являются ключевыми точками, которые помогут вам быстро оценить, что происходит при использовании sin и cos .
Более сложные примеры
После ознакомления с основами давайте погрузимся в более сложные и интересные применения функций синуса и косинуса.
Пример 3: Работа с движением
Используя синус и косинус, можно создавать более сложные и реалистичные анимации, например, имитировать колебания или волнообразное движение.
using System; using System.Threading; class Oscillation < static void Main() < double amplitude = 5.0; double frequency = 0.1; for (double time = 0; ; time += 0.1) < double x = amplitude * Math.Cos(2 * Math.PI * frequency * time); double y = amplitude * Math.Sin(2 * Math.PI * frequency * time); Console.Clear(); Console.WriteLine($"X: , Y: "); Thread.Sleep(100); > > >
Здесь мы создаем колебательное движение, используя синус и косинус. amplitude задает амплитуду колебаний, а frequency — их частоту.
Понимание в реальных условиях
Работа с графикой и играми
При создании графических интерфейсов, векторной графики или игр, очень часто приходится обращаться к тригонометрическим функциям для расчета положений, углов и движений объектов.
- Расчет углов: Предположим, у нас есть персонаж, смотрящий в определенном направлении. Мы можем использовать Math.Atan2(y, x) (где x и y – это изменения по осям) для расчета угла в радианах, на который должен быть повернут персонаж.
- Положение объектов: При расчете движения объекта по окружности (как в наших примерах выше) или при создании эффектов, таких как волны или круги на воде, синус и косинус становятся неотъемлемыми инструментами.
Читайте так же Операторы выбора в C#: Наглядные примеры
Резюме и заключение
В этой статье мы рассмотрели основы использования синуса и косинуса в языке программирования C#. Мы начали с базовых определений и примеров, плавно перешли к более сложным примерам, и затем обсудили практическое применение этих знаний в реальных проектах, таких как графика и игры.
Тригонометрические функции синус и косинус – мощные инструменты в арсенале программиста. Они не только помогают в решении математических задач, но и открывают двери в мир сложных анимаций и эффектов в программировании.
Не бойтесь экспериментировать и использовать эти функции в своих проектах. Практика и эксперименты – лучший способ узнать больше и стать лучше в программировании!