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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 17.12.2010, 09:33   #1
RegnaM
 
Регистрация: 08.10.2010
Сообщений: 3
По умолчанию Программа, решаюшая уравнение

Всем добрый день, необходимо решить уравнение вида f(x)=2^x-4x методом хорд.
Нужен алгоритм и программа.

Хоть убей, не понимаю я, как сделать это, вся надежда на вас.

Если надо, могу сбросить набросок программы, где надо подкорректировать само решение.
RegnaM вне форума Ответить с цитированием
Старый 17.12.2010, 13:28   #2
compres
Пользователь
 
Аватар для compres
 
Регистрация: 12.10.2010
Сообщений: 18
По умолчанию

Скидывай набросок, посмотрю.
ICQ:610078 email: compres.dcod@gmail.com
compres вне форума Ответить с цитированием
Старый 17.12.2010, 13:31   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Вот из моего архива:
Код:
function f(x:Double):double;
begin
    f:=exp(x*ln(2))-4*x;
end;

// a, b - пределы хорды, epsilon - необходимая погрешность
function findRoot(a,b,epsilon:double):double ;
begin
    while abs(b - a) > epsilon do begin
        a := b - (b - a) * f(b)/(f(b) - f(a));
        b := a - (a - b) * f(a)/(f(a) - f(b));
    end;
    findRoot:=b;
end;

begin
 write(findroot(1,3,0.3):5:2);
 readln;
  { TODO -oUser -cConsole Main : Insert code here }
end.
подстроил под твою задачу
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 17.12.2010, 22:28   #4
RegnaM
 
Регистрация: 08.10.2010
Сообщений: 3
По умолчанию

Program Metod_Chord;
uses crt;
var x,E,a,b,c:real;
n:integer;
Otv:text;
Function f(x:real):real;
Begin
f:=exp(x*ln(2))-4*x;
End;
Function Chord(a,b:real):real;
Begin
Chord:= a-((b-a)*f(a)/(f(b)-f(a)));
End;
begin
clrscr;
writeln('Vvedite a');
write('a=');readln(a);
writeln('Vvedite b');
write('b=');readln(b);
writeln('Vvedite pogreschnost');
write('E=');readln(E);
repeat
c:=Chord(a,b);
If f(a)*f(c)>0 Then a:=c Else b:=c;
Until abs(chord(a,b)-c)<E;
x:=c;
Write('otvet x=');writeln(x);
Assign(Otv,'Rezultat.txt');
Rewrite(Otv);
Writeln(Otv,'x=',x:5:5);
Close(Otv);
readkey;
end.

Последний раз редактировалось RegnaM; 17.12.2010 в 22:43.
RegnaM вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Программа, реш. диф. уравнение методом эйлера. непонятна пара строк в тексте программы. smalljoke Помощь студентам 2 10.12.2010 14:34
Уравнение werser Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 0 18.11.2010 21:50
уравнение A*X=B CyberOrcX Помощь студентам 4 14.10.2009 16:12
Уравнение Paul_AG Общие вопросы C/C++ 19 10.05.2009 22:50
Квадратное уравнение, программа не линкуется Dimoff80 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 4 16.04.2009 22:37