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

Цитата:
Сообщение от Kosmos Посмотреть сообщение
8. Вычислить и вывести на экран в виде таблицы значения функции, заданной с по¬мощью ряда Тейлора, на интервале от хнач до xкон с шагом dx с точностью е. Таблицу снабдить заголовком и шапкой. Каждая строка таблицы должна содер¬жать значение аргумента, значение функции и количество просуммированных членов ряда. Номер варианта задания равен номеру компьютера.

Задание:
http://www.tehnari.ru/imagehosting/2...3185c8291a.jpg
CONST
ACC=3;
VAR
x1,x2,Step,x,y:REAL;
Nt:INTEGER;

FUNCTION X2np(X:Extended; n:INTEGER):Extended;
Var i:INTEGER;
Y:Extended;
BEGIN
IF n=0 THEN X2np:=1 ELSE
IF n=1 THEN X2np:=X ELSE
BEGIN
Y:=X;
FOR i:=2 TO n DO Y:=Y*X;
X2np:=Y;
END;
END;

PROCEDURE ATG(Xa:REAL; VAR AT:REAL; VAR AN:INTEGER);
VAR
SUM, a:REAL;
i:INTEGER;
BEGIN
SUM:=Pi/2;
i:=-1;
REPEAT
INC(i);
a:=X2np(-1,i+1)/(2*i+1)/X2np(Xa,(2*i+1));
SUM:=SUM+a;
UNTIL ABS(a)<1/X2np(10,ACC+1);
AT:=SUM;
AN:=i+1;
END;

BEGIN
Write('x1 = ');
ReadLn(x1);
Write('x2 = ');
ReadLn(x2);
Write('Step = ');
ReadLn(Step);
Writeln('Argument',' Result ', 'Number of terms ', ' Arctan ');
x:=x1-Step;
REPEAT
x:=x+Step;
ATG(x,y,Nt);
Writeln(x:7:4,y:8:4,Nt:12,Arctan(x):12:4);
UNTIL x>x2;
ReadLn;
END.

Константа АСС - количество значащих цифр после запятой. В последней колонке для сравнения выводится точное значение функции арктангенс.
Vladimir_S вне форума  
Ads

Яндекс

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