Табулирование функции, заданной рядом Тейлора - Pascal
Формулировка задачи:
Вычислить и вывести на экран в виде таблицы значения функции, заданной с помощью ряда Тейлора, на интервале от Xнач до Xкон с шагом dx с точностью e. Таблицу снабдить заголовком и шапкой. Каждая строка таблицы должна содержать значение аргумента, значение функции и количество просуммированных членов ряда.
Написать программу в ПАСКАЛЕ.
Решение задачи: «Табулирование функции, заданной рядом Тейлора»
textual
Листинг программы
var xn,xk,dx,e,x,s,t:real;
n:integer;
begin
write('Введите начало интервала xn=');
readln(xn);
repeat
write('Введите конец интервала, больше ',xn:0:1,' xk=');
readln(xk);
until xk>xn;
repeat
write('Введите шаг табуляции, меньше ',xk-xn:0:1,' dx=');
readln(dx);
until dx<xk-xn;
repeat
write('Введите точность 0<e<1 e=');
readln(e);
until(e>0)and(e<1);
x:=xn;
writeln(' Табулирование функции F(x)=e^x,');
writeln(' представленной разложением в степенной ряд');
writeln(' на интервале ',xn:0:1,'..',xk:0:1,' с шагом ',dx:0:1);
writeln;
writeln(' ---------------------------');
writeln(' | X | S | n | ');
writeln(' ---------------------------');
while x<=xk+dx/2 do
begin
n:=0;
t:=1;{текущий член ряда x^n/n!}
s:=t;{сумма}
while abs(t)>=e do
begin
n:=n+1;
t:=t*x/n;
s:=s+t;
end;
writeln(' |',x:6:1,' |',s:10:4,' |',n:4,' |');
x:=x+dx;
end;
writeln(' -----------------------------');
writeln('Проверка: e^',x-dx:0:1,'=',exp(x-dx):0:4)
end.
Объяснение кода листинга программы
- Объявляются переменные:
xn: начало интервалаxk: конец интервалаdx: шаг табуляцииe: точностьx: текущее значение x для табуляцииs: текущее значение суммы ряда Тейлораt: текущий член ряда Тейлораn: счётчик итераций
- Пользователю предлагается ввести начало и конец интервала, шаг табуляции и точность, с использованием различных проверок для корректного ввода.
- Выполняется табуляция функции F(x) = e^x, представленной рядом Тейлора на заданном интервале с заданным шагом с выводом заголовков таблицы.
- Для каждого значения x в интервале выполняется нахождение суммы членов ряда Тейлора с учётом заданной точности и вывод значений x, s (суммы ряда) и n (количества итераций).
- После завершения табуляции выведена строка для проверки табулирования функции на последнем значении x.