IPB
ЛогинПароль:

> Правила раздела!

1. Заголовок или название темы должно быть информативным !
2. Все тексты фрагментов программ должны помещаться в теги [code] ... [/code] или [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ" и используйте ПОИСК !
4. НЕ используйте форум для личного общения!
5. Самое главное - это раздел теоретический, т.е. никаких задач и программ (за исключением небольших фрагментов) - для этого есть отдельный раздел!

 
 Ответить  Открыть новую тему 
> Для математиков
сообщение
Сообщение #1


Пионер
**

Группа: Пользователи
Сообщений: 75
Пол: Мужской

Репутация: -  0  +


Написал прогу для вычисления корня уравнения на заданном отрезке методо ПОЛОВИННОГО деления этого отрезка...
Код
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;

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

Сообщение отредактировано: }0pa -


--------------------
Ну, а почему бы в свободное время не позаниматься программированием?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Уникум
*******

Группа: Пользователи
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


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

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

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


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Пионер
**

Группа: Пользователи
Сообщений: 75
Пол: Мужской

Репутация: -  0  +


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


--------------------
Ну, а почему бы в свободное время не позаниматься программированием?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


просто человек
******

Группа: Пользователи
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

Репутация: -  55  +


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


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 




- Текстовая версия 26.09.2017 23:36
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"