Цитата:
Сообщение от 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.
Константа АСС - количество значащих цифр после запятой. В последней колонке для сравнения выводится точное значение функции арктангенс.