Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.01.2011, 12:32   #1
Маша-Растеряша
Новичок
Джуниор
 
Аватар для Маша-Растеряша
 
Регистрация: 05.01.2011
Сообщений: 7
По умолчанию Turbo Pascal Решение нелинейных уравнений методом половинного деления



Ребята Здравствуйте! С Наступившим Новым Годом всех, с Новыми идеями, с Новыми впечатлениями!

Помогите пожалуйста бестолковой с задачей.

Суть проблемы моей: Необходимо на языке программирования Турбо Паскаль выполнить Решение нелинейных уравнений методом половинного деления иначе именуемым (дихотомии) и методом касательных (Ньютона).

пример: 5sin2x=(1–x)^1/2 (^1/2 это степень данной скобки) на интервале [–6,1]


P.S. Ребят я буду очень признательна если мне подскажут как реализовать данную задачу на С++ , Delphi мне бы только показать верный путь а далее я бы сама. Спасибо Большое заранее!

Последний раз редактировалось Маша-Растеряша; 05.01.2011 в 13:16.
Маша-Растеряша вне форума Ответить с цитированием
Старый 05.01.2011, 13:30   #2
Niro
Форумчанин
 
Аватар для Niro
 
Регистрация: 23.09.2010
Сообщений: 682
По умолчанию

Цитата:
пример: 5sin2x=(1–x)^1/2
Так все-таки его надо решить?
В чем конкретно проблема - не знаете метод половинного деления?
знаете, но не можите написать код?
В любом случае первая ссылка в яндексе по запросу "Метод половинного деления"
http://markx.narod.ru/div/
или поск по форуму, а по ходу уже можите задать конкретные вопросы
Проще всего признать свою ошибку.
Гораздо труднее еЁ осознать и исправить.
Niro вне форума Ответить с цитированием
Старый 05.01.2011, 13:38   #3
Маша-Растеряша
Новичок
Джуниор
 
Аватар для Маша-Растеряша
 
Регистрация: 05.01.2011
Сообщений: 7
По умолчанию

пример: 5sin2x=(1–x)^1/2
Так все-таки его надо решить?
В чем конкретно проблема - не знаете метод половинного деления?
знаете, но не можите написать код?
В любом случае первая ссылка в яндексе по запросу "Метод половинного деления"
http://markx.narod.ru/div/
или поск по форуму, а по ходу уже можите задать конкретные вопросы


Совершенно верно мне необходимо решить данный пример. Нет метод половинного деления я прекрасно знаю, проблема в том, что владея прекрасно чудесной наукой математика я порой не могу это применить в информатике в программировании =((( учусь, стараюсь, но дается это с большим трудом.
Маша-Растеряша вне форума Ответить с цитированием
Старый 05.01.2011, 14:06   #4
Niro
Форумчанин
 
Аватар для Niro
 
Регистрация: 23.09.2010
Сообщений: 682
По умолчанию

А вы по ссылке ходили? Там заменить только ваше уравнение и отрезок...
Цитата:
владея прекрасно чудесной наукой математика
Если это так, то хорошо, но в тоже время странно, ладно держите
Измененный код
Код:
program mdp;

function f(x: real): real;
begin
f:=5*sin(2*x)-sqrt(1-x);
end;

var  a, b, e, c, x: real; 

begin
a:=-6;
b:=1;
write ('e=');
read(e);
c:=(a+b)/2;
while abs(b-a)>e do
begin
if f(a)*f(c)<0 then
b:=c
else
a:=c;
c:=(a+b)/2; 
end;
x:=(a+b)/2;
writeln ('x=',x:3:3,' f(x)=',f(x):4:4);
end.
Проще всего признать свою ошибку.
Гораздо труднее еЁ осознать и исправить.

Последний раз редактировалось Niro; 05.01.2011 в 16:29.
Niro вне форума Ответить с цитированием
Старый 05.01.2011, 14:16   #5
Маша-Растеряша
Новичок
Джуниор
 
Аватар для Маша-Растеряша
 
Регистрация: 05.01.2011
Сообщений: 7
По умолчанию

А вы по ссылке ходили? Там заменить только ваше уравнение и отрезок...
Цитата:
владея прекрасно чудесной наукой математика
Если это так, то хорошо, но в тоже время странно, ладно держите
Измененный код
Код:

program mdp;

function f(x: real): real;
begin
f:=5*sin(2*x)-sqrt(1-x);
end;

var
a, b, e, c, x: real;

begin

a:=-6;

b:=1;

write ('e=');

read(e);

c:=(a+b)/2;

while abs(b-a)>e do

begin

if f(a)*f(c)<0 then

b:=c

else

a:=c;

c:=(a+b)/2;

end;

x:=(a+b)/2;

writeln ('x=',x:3:3,' f(x)=',f(x):4:4);

end.

__________________

Огромное Вам Спасибо! Вы не представляете как я вам признательна и благодарна это самый лучший подарок!
Маша-Растеряша вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Решение нелинейных уравнений методом хорд на Delphi 6 или 7 Vovanella Помощь студентам 1 06.12.2010 22:36
Решение нелинейных уравнений методом Ньютона (касательных) Veina Помощь студентам 1 10.11.2010 18:29
Численные методы. Решение нелинейного уравнения методом половинного деления. gree Помощь студентам 1 11.11.2009 18:36
Решение нелинейных уравнений методом хорд, pascal Антонова Анна Помощь студентам 3 09.12.2007 19:24