В
Все
М
Математика
А
Английский язык
Х
Химия
Э
Экономика
П
Право
И
Информатика
У
Українська мова
Қ
Қазақ тiлi
О
ОБЖ
Н
Немецкий язык
Б
Беларуская мова
У
Українська література
М
Музыка
П
Психология
А
Алгебра
Л
Литература
Б
Биология
М
МХК
О
Окружающий мир
О
Обществознание
И
История
Г
Геометрия
Ф
Французский язык
Ф
Физика
Д
Другие предметы
Р
Русский язык
Г
География
kirillshe2012
kirillshe2012
27.04.2020 07:15 •  Информатика

Где здесь ошибка метод хорд 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.

Показать ответ
Ответ:
3Таня22811
3Таня22811
04.10.2020 03:26
Везде, начиная с того что даже 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.
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота