Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ вывод Значения функции с помощью ряда Тейлора

Автор: AJIMA3 15.01.2008 2:56

Здравствуйте. Очень нужно решить задачку мне через 2 дня сдавать ее, а решить не получается

Задание на циклы

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


Вот ссылки:
http://sources.ru/wiki/doku.php?id=pascal:limit_calculation
http://forum.sources.ru/index.php?showtopic=100241


Эскизы прикрепленных изображений
Прикрепленное изображение

Автор: Гость 15.01.2008 22:22

Гуру, очень прошу помощи, плиз люди добрые помогите решить((

Автор: Client 15.01.2008 22:48

А в чем именно затруднение?? Ты сам привел ссылки, в которых уже все решено

Автор: AJIMA3 16.01.2008 1:09

Да ссылки привел, но никак не могу подогнать под свое задание(( unsure.gif
Вот тут есть решение:
http://forum.pascal.net.ru/index.php?showtopic=18110&hl=%D2%E5%E9%EB%EE%F0%E0

Вот код переделанный для моей функции:


program Project1;

var n:integer;
x1,x2,dx:integer;
e,y,z: real;
begin
writeln('vvedite x1,x2, dx');
readln(x1,x2,dx);
if abs(x1)<1 then writeln('Error') else
begin
e:=0.01;
repeat
n:=0;
z:=0;
y:=ln((1+x1)/(1-x1));
while abs(y-z)>e do begin

z:=z+2*(exp((2*n+1)*ln(x1))/(2*n+1));
n:=n+1;
end;
z:=z*2;
writeln;
writeln('pri x=',x1:2:3,'y=',y:2:3,'z=',z:2:3);
x1:=x1+dx;
until


x1>=x2;
end;
readln;
end.



Я переделал его немножко но только выходит ошибка после того, как я запустил компиляцию и ввел данные:

Error 207: Invalid floating point operation.

Как ее исправить? Почему переполняется разрядная сетка?
Я так думаю что-то с циклом(( Народ очень прошу помощи wink.gif

Автор: volvo 16.01.2008 1:40

Цитата
выходит ошибка после того, как я запустил компиляцию и ввел данные:
Ну, это смотря какие данные ты ввел... Можно же ввести X1 = 1, и у тебя будет деление на 0, а можно ввести такие данные, что под Ln будет отрицательное число, что недопустимо, и тогда будет Error 207...

Автор: AJIMA3 16.01.2008 2:06

Всем спасибо за ответы, решил ее все таки)) Вот отсюда исходник переделал))
http://forum.pascal.net.ru/index.php?showtopic=16330&hl=%D2%E5%E9%EB%EE%F0%E0