Цитата:
Сообщение от Kampuchiec
Помогите если не сложно..
|
Не только сложно, но и вовсе невозможно.
Прежде всего - почему вы считаете допустимым и правильным выкладывать задания, написанные не рукой с участием головы, а левой задней ногой? Как, скажите на милость, мы должны догадаться, что запись
f(x)=2/pi-4/3*pi(cos2x+cos4x/5+cos6x/7+....)
следует понимать (а это следует из Вашего кода), как
f(x)=(2/pi-4/3*pi)*(cos2x/3+cos4x/5+cos6x/7+....)?
Теперь дальше. Ранее я Вам пытался объяснить, что задание в том виде, как оно выложено (с учетом или без учета вышеприведенного исправления) - некорректно. Рассуждал о сходимости, примеры приводил... Всё - мимо. Напишите, да и всё. Хорошо. Вот Вам программа, написанная по Вашему заданию, протестированная при х=0 (см.рисунок), в которой на экран выведены результаты суммирования ряда в зависимости от количества учтенных членов. Как я Вам и писал раньше, налицо - медленная логарифмическая расходимость, и ни к какому малому пределу указанная сумма сходиться не желает.
Код:
Var
x,eps,t,Sum,a:real;
k:Integer;
Begin
Write('x= ');
Readln(x);
Write('eps= ');
Readln(eps);
t:=2.0/Pi-4.0*Pi/3.0;
k:=0;
Sum:=0;
Repeat
Inc(k);
a:=Cos(x*2*k)/(2*k-1);
Sum:=Sum+a;
Writeln('k=',k:2,' f(x)=',Sum*t:8:5);
Until (Abs(Sum*t)<Eps) or (k=22);
Readln;
End.
Такая ситуация может IMHO иметь два объяснения:
1. Вы, как обычно, напрочь переврали формулировку задания и допустили несколько ошибок в постановке задачи. Тем более, что
подобные перлы в Ваших сообщениях появляются не впервые. Если так, сверьте задание и исправьте.
2. Ваши преподаватели - это сборище безграмотных идиотов. В таком случае, примите мои соболезнования.
Всё.