Косинус через ряд Тейлора - C (СИ)
Формулировка задачи:
Вот надо написать функцию косинуса через тейлора без математических библиотек. Но так как я еще нуб, у меня не правильно)). Поправьте плз. Желательно с комментариями или обьяснениями.
#include<stdio.h> #include<conio.h> #include<iostream.h> int fact (n) { if (n==1) return 1; else return fact (n-1)*n; } int main(void) { float cos; int n=1; clrscr(); float x; int i; printf ("input x"); scanf ("%2f", x); for (i=0;i<10;i++) { cos+=((-1)*n)*(x*2*n+1)/(fact(2*n+1)); n*=2; } printf ("%5f",cos); return 0; }
Решение задачи: «Косинус через ряд Тейлора»
textual
Листинг программы
#include <stdio.h> #define E 10//точность int main() { double x;//сам х double cos = 1;//общая сумма double down = 1;//знаменатель(факториал) double up = x*x;//числитель(увеличение степени х на 2) int i; printf("Enter x: "); scanf("%lf", &x); for (i = 2; i < E; i+=2)//сразу с 2 и по 2 вбудущем { up *= (-1)*up;//контроль -1 и увеличение степени х down *= (i-1) * i; //факториал cos += up / down; //добавление следующего компонента } printf("result: %lf\n", x); return 0; }
Объяснение кода листинга программы
- Подключение стандартной библиотеки для работы с файлами и вывода данных
- Определение константы точности вычислений
- Ввод значения переменной x с клавиатуры
- Инициализация переменных: cos — общая сумма down — знаменатель (факториал) up — числитель (увеличение степени х на 2)
- Цикл от 2 до точности-1 с шагом 2
- Вычисление знаменателя (факториала)
- Вычисление числителя (увеличение степени х на 2)
- Вычисление значения косинуса путем добавления следующего компонента ряда Тейлора
- Вывод результата на экран
- Возврат 0, чтобы указать, что программа успешно завершилась
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д