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

> Прочтите прежде чем задавать вопрос!

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

 
 Ответить  Открыть новую тему 
> нахождение корня уравнения x=F(x), помогите пожалуйста решить, моя курсовая =(
сообщение
Сообщение #1





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

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


я тут написала но похоже даже не то, я вообще ничего не понимаю в паскале, а надо сдавать уже курсовую, пожалуйста помогите написать программу, за рание огромное спасибо.

То что написала я (позориться даже не хочется) только не смейтесь :'(

 
uses crt;

var
ep:extended;
tx:extended;
eps:extended;
x0:extended;

function f(x:extended):extended;
begin
f:=ln(x)+x*x;
end;

begin
clrscr;
write('Eps= ');
readln(eps);
ep:=1.;
tx:=0.00001;
writeln('X':10,'eps':10);
repeat
while (f(tx)*f(tx+ep)>0) do tx:=tx+ep;
ep:=ep/2;
x0:=tx+ep;
if (f(x0)=0) then
begin
writeln('Exact root: ',x0:10:6);
halt(0);
end;
writeln(x0:10:6,ep:10:6);
until (ep<eps);
readln;
end.


.


так или нет?? если нет, то помогите пожалуйста написать

Сообщение отредактировано: xlinx -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Человек
*****

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

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


1) возьми пожалуйста код в теги...


--------------------
Спасибо!
Удачи!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Гость






2) зачем изобретать заново то, что уже сделано?

Численные методы решения уравнений
Выбирай ...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4





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

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


Цитата(compiler @ 2.05.2007 18:23) *

1) возьми пожалуйста код в теги...

что сделать?? :'( я вообще ничего не знаю и не понимаю, поэтому и прошу помощи, все что я смогла-я написала



Сообщение отредактировано: xlinx -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Человек
*****

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

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


Цитата(xlinx @ 2.05.2007 18:37) *
что сделать?? :'( я вообще ничего не знаю и не понимаю, поэтому и прошу помощи, все что я смогла-я написала

при регистрации ставила галочку что прочитала правила?
5. Используйте теги кода и цитаты!
Если вы выкладываете код, заключите его в теги [code=pas] < ваш код > [/code]. ...

Сообщение отредактировано: compiler -


--------------------
Спасибо!
Удачи!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6





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

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


volvo спасибо огромное:)


Добавлено через 18 мин.
а что то что я написала вообще что ли не правильно???
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7





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

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


1.Метод дихотомии (деления отрезка пополам)
Программа находит корень уравнения F(x) = 0, где F(x) - непрерывная на отрезке [a,b] функция, удовлетворяющая условию F(a)F(B) < 0. Для нахождения корня отрезок [a,b] делится пополам и выбирается тот полуинтервал, на концах которого знаки F(x) разные. Затем процесс деления повторяется до тех пор, пока длина интервала не станет меньше Eps.

Uses Crt;

Function f(x: Double): Double;
Begin
f := 1 / (Exp(x * Ln(2))) - 10 + 0.5*Sqr(x)
End;

Var
x, Eps, a, b, c: Double;
n: Integer;

begin
ClrScr;
Writeln('Введите значения a и b'); Read(a, b);
WriteLn('Введите точность Eps'); Read(Eps);

n := 0;
Repeat
c := (a + b) / 2;
If (f(a) * f©) < 0 Then b := c
Else a := c;
Inc(n)
Until (b - a) <= Eps;

x := (a + b) / 2;
WriteLn('Корень равен x=', x:10:7);
WriteLn('Количество делений = ',n);
ReadKey
end.

объясните мне пожалуйста как это сделали, я ничего не поняла, пожалуйста..
откуда взялось вот это f := 1 / (Exp(x * Ln(2))) - 10 + 0.5*Sqr(x) ???
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8


Гость






Цитата
откуда взялось вот это
Вот ЭТО - сама функция... В данном примере находили корень уравнения

f(x) = 2-x - 10 + 0.5x2

Сообщение отредактировано: volvo -
 К началу страницы 
+ Ответить 
сообщение
Сообщение #9





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

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


а что можно любую функцию подставить, что бы найти корень уравнения x=F(x) ???

Добавлено через 2 мин.
Что такое "Exp" ??? и объясните мне пожалуйста вот эту запись: WriteLn('Корень равен x=', x:10:7);
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #10


Гость






Цитата
а что можно любую функцию подставить что бы найти корень уравнения x=F(x)
А что, скажи мне на милость, у тебя такое F(X), если не заданная ТЕБЕ функция? Ты должна была получить функцию вместе с заданием...

Exp(x) - это запись ex на языке программирования Паскаль...

WriteLn('Корень равен x=', x:10:7); 
Что непонятно? Печатается фраза "Корень равен x=", следом за ней - выводится значение X, в 10 позициях, из которых 7 - после запятой (точность представления числа - 7 знаков после запятой).
 К началу страницы 
+ Ответить 
сообщение
Сообщение #11





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

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


функцию мне не дали, мне надо для общего вида сделать x=F(x)

спасибо большое что все объяснил =)

Сообщение отредактировано: xlinx -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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

 





- Текстовая версия 29.03.2024 19:19
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name