Смотрите видео ниже, чтобы узнать, как установить наш сайт в качестве веб-приложения на домашнем экране.
Примечание: Эта возможность может быть недоступна в некоторых браузерах.
Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.
Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.
Если вы у нас впервые, загляните на страницу о проекте и правила – там коротко описано, как задать вопрос так, чтобы быстро получить ответ. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.
Знаете, я в некотором затруднении. Видите ли, у данного кубического уравнения имеются три вещественных корня, в том числе два из них - в указанном интервале. И какой из них прикажете искать? Или оба? А какой Вы нашли?Здравствуйте, помогите чем можете. Работать в паскале начал недавно, есть уравнение решил его методом дихотомии, а вот методом Ньютона не могу, можете момочь? сообственно само уравнение: (x-2)^2*2x-1=0, на интервале (0;2) с точностью E=0,001
Function FuFuFu(ppp:real):real;
begin
....
....
....
FuFuFu:=....
end;
Да, да вы правы там +1 !!! Корень помоему где-то 0.14 должен быть. На счет того что не правильно задал функции, это да, просто так объяснили нам...Знаете, я в некотором затруднении. Видите ли, у данного кубического уравнения имеются три вещественных корня, в том числе два из них - в указанном интервале. И какой из них прикажете искать? Или оба? А какой Вы нашли?
На всякий случай - проверьте условие задачи. Может быть, там не "-1", а "+1"? Тогда вещественный корень будет единственным.
Кроме того, Вы АБСОЛЮТНО неправильно задаёте функции. Каждая (да-да, именно КАЖДАЯ) должна иметь структуру типа:
И никакого объединения их и, тем более, сначала перечня заголовков, а потом (в одном блоке) перечня тел - НЕ ДОПУСКАЕТСЯ!!!Код:Function FuFuFu(ppp:real):real; begin .... .... .... FuFuFu:=.... end;
(Что-то похожее, т.е. перечень заголовков, используется при написании модулей, но и там в другом разделе функция задается в виде приведенной выше структуры. Ну или если функция F1 является внутренней по отношению к F, а функция F2 - внутренней по отношению к F1. Но в этом случае там должно быть три вложенных блока, а не один, и, кроме того, вызвать из основной программы F1 и F2 в таком случае невозможно).
Не могу сказать, ибо хода не понимаю. Вы что, пытаетесь в одну программу оба метода засадить? Допустим. Но, во-первых, там F1 (первая производная) сосчитана неверно (откуда Вы взяли коэффициент 64? Должен быть 16), а во-вторых - ну на кой там вторая производная?Сам ход решения хоть правильный?
Совсем другое дело. Теперь график выглядит так:Да, да вы правы там +1 !!! Корень помоему где-то 0.14 должен быть. На счет того что не правильно задал функции, это да, просто так объяснили нам...

Const
e=0.001;
Var
x0_old,x0_new,D:Real;
Function F(z:real):real;
begin
F:=z*z*z*2-z*z*8+z*8+1;
end;
Function F1(z:real):real;
begin
F1:=z*z*6-z*16+8;
end;
Begin
x0_old:=0;
Repeat
x0_new:=x0_old-F(x0_old)/F1(x0_old);
D:=Abs(x0_old-x0_new);
x0_old:=x0_new;
Until D<e;
Writeln('Result: x = ',x0_new:0:3);
Readln
End.
Извините,вроде все понял, но не могли бы объяснить один момент? в этой строчке Writeln('Result: x = ',x0_new:0:3); не понятно что такое x0_new:0:3. если не сложноможете пояснить?Не могу сказать, ибо хода не понимаю. Вы что, пытаетесь в одну программу оба метода засадить? Допустим. Но, во-первых, там F1 (первая производная) сосчитана неверно (откуда Вы взяли коэффициент 64? Должен быть 16), а во-вторых - ну на кой там вторая производная?
Но корень там вовсе не "где-то 0.14", а около -0.1. Между прочим, в случае одного вещественного корня кубическое уравнение решается точно , и это можно использовать для контроля правильности результата работы итерационных программ. Так вот, формула Кардано даёт х=-0.112085...
Теперь решим задачу методом Ньютона:
Результат работы этой программы: х=-0.112.Код:Const e=0.001; Var x0_old,x0_new,D:Real; Function F(z:real):real; begin F:=z*z*z*2-z*z*8+z*8+1; end; Function F1(z:real):real; begin F1:=z*z*6-z*16+8; end; Begin x0_old:=0; Repeat x0_new:=x0_old-F(x0_old)/F1(x0_old); D:=Abs(x0_old-x0_new); x0_old:=x0_new; Until D<e; Writeln('Result: x = ',x0_new:0:3); Readln End.
Ни в малейшей степени не сложно. Поясняю.если не сложноможете пояснить?
х= -0.112
Большое спасибо! Еще один вопрос назрел... а интервалы зачем даны? их программа как-нибудь использует?Ни в малейшей степени не сложно. Поясняю.
Это формат вывода вещественного числа. Если его не поставить, то выведется нечто безобразное в таком роде:
-1.1208567754337654Е-001
Если поставить одно число, то оно будет означать полное количество выводимых знаков, включая запись порядка. Так, если напишем х:12, то получим
-1.1208Е-001
Наличие двух чисел в формате означает, что мы выводим число в формате целая часть-точка-дробная часть, и при этом первое число означает ПОЛНОЕ количество знаков, а второе - число знаков дробной части. Так, если задать х:8:3, то будем иметь
А вот если первое число - 0, то это означает, что мы фиксируем только число знаков дробной части, а уж целая - какая получится, такая и выведется. Таким образом, формат 0:3 означает, что я прошу вывести результат с тремя значащими цифрами после десятичного разделителя (точки).Код:х= -0.112
Нет. Просто для улучшения читабельности. Равно как и отступы, "лесенки" и прочие элементы форматирования листинга.Большое спасибо! Еще один вопрос назрел... а интервалы зачем даны? их программа как-нибудь использует?