Поиск приближенного значения синуса - C (СИ)
Формулировка задачи:
Помогите,пожалуйста, не могу реализовать..
Задача на поиск приближенного значения синуса.
Решение задачи: «Поиск приближенного значения синуса»
textual
Листинг программы
double msin (double x, double precision)
{
double total = x, sum = x;
int n = 1;
while (fabs (sum) > precision)
{
n += 2;
sum *= -1.0 * x * x / (n * (n - 1));
total += sum;
}
return total;
}
Объяснение кода листинга программы
- Входные параметры функции: x (аргумент типа double, значение которого передается в функцию), precision (аргумент типа double, значение которого передается в функцию).
- Создаются две переменные: total и sum, которые инициализируются значением аргумента x.
- Переменная n инициализируется значением 1.
- Запускается цикл while, который выполняется до тех пор, пока абсолютное значение суммы не станет меньше заданной точности.
- Внутри цикла значение переменной n увеличивается на 2.
- Значение переменной sum обновляется, причем она умножается на -1.0 (это делается для смены знака), а затем на x в квадрате, деленное на (n * (n-1)) (это делается для вычисления суммы ряда).
- Значение переменной total увеличивается на значение переменной sum.
- Цикл while выполняется до тех пор, пока абсолютное значение суммы не станет меньше заданной точности.
- По завершении цикла, функция возвращает значение переменной total.