Форум
» Назад на решение задач по физике и термеху
Регистрация | Профиль | Войти | Забытый пароль | Присутствующие | Справка | Поиск

» Добро пожаловать, Гость: Войти | Регистрация
    Форум
    Информационные технологии
        Рекурсивная функция
Отметить все сообщения как прочитанные   [ Помощь ]
» Добро пожаловать на форум "Информационные технологии" «

Переход к теме
<< Назад Вперед >>
Одна страница
Модераторы: paradise, KMA
  

Yurka


Удален

Вот такая програмка: нужно описать рекурсивную функцию (f, a, b, eps), которая методом деления отрезка пополам находит с точностью eps  корень уравнения f(x)=0  на [a, b].
Считать, что eps>0, a<b, f(b)<0 i f(x) - непрерывная.


Всего сообщений: N/A | Присоединился: N/A | Отправлено: 3 июля 2005 18:32 | IP
vix


Удален

А какая функция то хоть? f(x)

Всего сообщений: N/A | Присоединился: N/A | Отправлено: 4 июля 2005 17:21 | IP
sprite


Удален

#include <iostream.h>

typedef float func_type;
typedef float var_type;

var_type root = 0;

func_type f( var_type x)
{
  x =  ;//сюда вставляете вашу настоящую функцию
 return x;
}
var_type find_root( var_type a, var_type b, var_type e );


int main( void )
{
var_type a = a0; // интервал
var_type b = b0;
var_type e = e0; //точность

 if ( f(a)*f(b) > 0 )
     cout<<"Плохой интервал";
 else
 {  
   root = find_root( a, b, e );
   cout<<"Root: "<<root;
 }
return 0;
}

find_root( var_type a, var_type b, var_type e )
{
  var_type k = a;
  k = ( a + b ) / 2;
 
  if ( ( k - a ) <  e  )  //базис рекурсии
  {
     root = k;
     return;
  }


  if ( f(k)*f(a) > 0  ) //рекурсивный переход
     root( a, k, e );
  else
     root( k, b, e);

}

Всего сообщений: N/A | Присоединился: N/A | Отправлено: 14 июля 2005 14:09 | IP
sprite


Удален

но это конечно же извращение я бы сделал итерационную функцию а не рекурсию

Всего сообщений: N/A | Присоединился: N/A | Отправлено: 14 июля 2005 14:10 | IP

Отправка ответа:
Имя пользователя   Вы зарегистрировались?
Пароль   Забыли пароль?
Сообщение

Использование HTML запрещено

Использование IkonCode разрешено

Смайлики разрешены

Опции отправки

Добавить подпись?
Получать ответы по e-mail?
Разрешить смайлики в этом сообщении?
Просмотреть сообщение перед отправкой? Да   Нет
 

Переход к теме
<< Назад Вперед >>
Одна страница

Форум работает на скрипте © Ikonboard.com