Народ, не можете немного помочь с прогой на Паскале? Программа примитивная, да только вот сколько ни бьюсь, нормально она не работает. Может, ткнете пальцем в ошибку?
В общем, программа производит приблизительное вычисление производной функции f(x) в точке с абсциссой x0 (задается с клавиатуры). Алгоритм вроде правильный, но только выдает он постоянно ноль... Вот исходник:
var E,x0,dx:Double;
function f(x:Double):Double;
begin
f:=x*x*x-2*x*x+1;
end;
begin
dx:=0.5;
write ('Введите абсциссу точки, для которой ищется производная:');
readln (x0);
write ('Введите допустимую погрешность:');
readln (E);
while (((f(x0+dx)-f(x0-dx))/dx)>E) do dx:=dx/2;
writeln ('Производная в точке x=', x0:4:6, ' равна ', (((f(x0+dx)-f(x0-dx)))/(2*dx)):4:6);
readln;
end.