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

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

Форум «Всё о Паскале» _ Теоретические вопросы _ Для математиков

Автор: }0pa 13.10.2006 3:44

Написал прогу для вычисления корня уравнения на заданном отрезке методо ПОЛОВИННОГО деления этого отрезка...

Код
procedure polovin(x:real;n:integer);
var a,b:real;{отрезок}
  
begin
n := 0;
Repeat
   c := (a + b) / 2;
   If (f(a) * f(c)) < 0 Then b := c
   Else a := c;
   Inc(n)
Until (b - a) <= Eps;

x := (a + b) / 2;
Write('KOPEHb PABEH  x = ', x:10:7);writeln('                             |');
Write('KOL-BO DELENIY = ',n);writeln('                                      |');
end;

Вопрос. Если бы существовал метод деления отрезка на три части, то какие бы были у него недостатки?

Автор: lapp 13.10.2006 4:31

Цитата(}0pa @ 13.10.2006 0:44) *
Если бы существовал метод деления отрезка на три части, то какие бы были у него недостатки?

Интересная постановка вопроса.. smile.gif Типа: если у людей было не две, а три ноги - хуже бы они ходили?..
Метод деления на три части (в отличие от трехногих людей) на самом деле существует. Он, конечно, не прописан ни в каком учебнике, но воплотить ты его можешь, ничто тебе не мешает. И если ты это сделаешь, то наглядно сможешь сравнить результаты.. smile.gif Вообще, дихотомия (метод поиска делением пополам) - это наиболее рациональный метод. Сходимость его очень быстрая. И на каждом шагу тебе нужно делать только одно сравнение. При делении на три нужно делать одно или два сравнения (зависит от местоположения ответа). Это не намного дольше в смысле скорости счета, но явно требует более сложной структуры при программировании, что, в свою очередь не только берет память (немного, но может быть важно для специализированных чипов), но и может стать источником дополнительныз ошибок.

PS
Вспомнилось, что когда-то, на заре туманной юнности, еще программируя на Fortran'е, я сделал решение уравнения методом деления на несколько частей (от трех до переменного числа отрезков - один маленький шажок). И тогда же убедился в неэффективности.. smile.gif

Автор: }0pa 14.10.2006 14:09

Спасибо, за исчерпывающий ответ!

Автор: мисс_граффити 17.10.2006 2:49

если интересно - почитай про метод золотого сечения.