Показать сообщение отдельно
Старый 03.02.2013, 11:58   #8 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Вот, получите.
Некоторые пояснения: как я понял, Eps=0.1 означает, что нужно ограничиться членом ряда, по модулю меньшим Eps при любом х, отсюда получаем, что знаменатель последнего члена должен быть больше 10, т.е. в нашем случае 11.
На графике изображен исходный меандр (синий) и результат вычисления (красный).
Код:
Var
 Step:real;
 i:byte;

Function Expansion(z:real):real;
var
 k:byte;
 Sum:real;
begin
 Sum:=0;
 for k:=0 to 5 do
  Sum:=Sum+Sin(z*(2*k+1))/(2*k+1);
 Expansion:=Sum*4/Pi;
end;

Begin
 Step:=Pi/8;
 For i:=0 to 24 do
  writeln(Step*i:5:3,Expansion(Step*i):16:5);
 Readln
End.
Изображения
 
Vladimir_S вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070