Посчитать сумму ряда в заданном диапазоне - C (СИ)
Формулировка задачи:
Ребята, знаю, что всё изично, но скажите, где я неправильно написал.
Вот код:
#include<stdio.h> #include<math.h> #include<locale.h> int main(){ setlocale(LC_ALL,".1251"); double rad,Xn,Xk,Dx,sum=0,x,ch,eps=pow(10,-4); int i; printf("Требуется подсчитать сумма ряда в пределах от -PI до PI\n"); Xn=-M_PI, Xk=M_PI; printf("Введите шаг Dx:"); scanf("%lf",&Dx); if(Dx>=0){ for(x=Xn;x<Xk;x+=Dx){ rad=x*M_PI/180; for(i=1;fabs(ch)>eps;++i){ ch=pow(-1,i+1)*cos(i*rad)/pow(i,2); sum+=ch;} printf("При значении x, равном %lf, сумма ряда равна: %lf\n",x,sum); sum=0;}} else{printf("Шаг должен быть положительным");} }
Решение задачи: «Посчитать сумму ряда в заданном диапазоне»
textual
Листинг программы
#include<stdio.h> #include<math.h> #include<locale.h> int main(){ setlocale(LC_ALL,".1251"); double rad,Xn,Xk,Dx,sum=0,x,ch,eps=10E-4,y=1; int i; printf("Требуется подсчитать сумму ряда в пределах от -PI до PI\n"); Xn=-180, Xk=180; printf("Введите шаг Dx:"); scanf("%lf",&Dx); if(Dx>=0){ for(x=Xn;x<=Xk;x+=Dx){ rad=x*M_PI/180; ch=y; for(i=1;fabs(ch)>eps;++i){ ch=pow(-1,i+1)*cos(i*rad)/pow(i,2); sum+=ch;} printf("При значении x, равном %lf, сумма ряда равна: %lf\n",x,sum); sum=0;}} else{printf("Шаг должен быть положительным");}}
Объяснение кода листинга программы
- Подключение необходимых библиотек для работы с числами с плавающей точкой и для работы с локалью.
- Установка локали на русскую.
- Объявление переменных: радиана (rad), аргументы функции (Xn, Xk), шаг (Dx), сумма ряда (sum), текущее значение x, переменная для контроля точности (ch), число Пи (M_PI), число Эйлера (e).
- Вывод сообщения о том, что требуется подсчитать сумму ряда в пределах от -PI до PI.
- Установка начального и конечного значений для переменной x.
- Ввод шага Dx с клавиатуры.
- Проверка на положительность шага Dx.
- Инициализация переменной i.
- Цикл по переменной x от Xn до Xk с шагом Dx.
- Преобразование значения x из градусов в радианы.
- Инициализация переменной ch значением y.
- Цикл по переменной i от 1 до бесконечности с условием на точность вычислений.
- Вычисление значения ch с помощью формулы ряда.
- Добавление значения ch к сумме ряда.
- Вывод сообщения о значении x и сумме ряда.
- Обнуление суммы ряда перед следующим шагом.
- Проверка на точность вычислений.
- Если шаг Dx отрицательный, то выводится сообщение об ошибке.
- Если шаг Dx положительный, то выполняется цикл по переменной x от Xn до Xk с шагом Dx.
- Вывод сообщения о том, что подсчет суммы ряда в указанном диапазоне завершен.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д