Вопрос по информатике:
Где здесь ошибка
метод хорд
9.x5+3*sin(x)-3x2-12
program P12;
var a,b,c,x:real;
i,n:integer;
function F(x:real):real;
begin
f:=sqr(sqr(x))+3*sin(x)-3*x*sqr(x)-12;
end;
begin
a:=0.5; b:=1.5; n:=12;
for i:=1 to n do
begin
x:=x-(f(x))/(f(c)-f(x))*(c-x);
c:=a-(f(a))/(f(a))*(b-a);
writeln(x:10:8,'',f(x):12:8);
if f(c)*f(a)>0 then break
else begin c:=a; x:=b;end;
end;
end.
- 09.10.2017 17:25
- Информатика
- remove_red_eye 6927
- thumb_up 7
Ответы и объяснения 1
Везде, начиная с того что даже f написана не верно
вот рабочий код. Формулы брались на вики, потому что в ваших я сомневаюсь весьма
function F(x: real): real;
begin
f := sqr(sqr(x)) * x + 3 * sin(x) - 3 * sqr(x) - 12;
end;
function FindRoot(a, b, epsilon: real): real;
begin
while(abs(b - a) > epsilon) do
begin
a := b - (b - a) * f(b) / (f(b) - f(a));
b := a + (a - b) * f(a) / (f(a) - f(b));
writeln(a, ' ', b);
end;
FindRoot := b;
end;
begin
writeln('x = ', FindRoot(0.5, 1.5, 0.001));
end.
- 01.01.1970 00:00
- thumb_up 27
Знаете ответ? Поделитесь им!
Есть сомнения?
Не нашли подходящего ответа на вопрос или ответ отсутствует? Воспользуйтесь поиском по сайту, чтобы найти все ответы на похожие вопросы в разделе Информатика.
Трудности с домашними заданиями? Не стесняйтесь попросить о помощи - смело задавайте вопросы!
Информатика — наука о методах и процессах сбора, хранения, обработки, передачи, анализа и оценки информации с применением компьютерных технологий, обеспечивающих возможность её использования для принятия решений.