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

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

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

> Численные методы
AlaRic
сообщение 8.02.2003 10:04
Сообщение #1


...
*****

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

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


Написать программу решения нелинейных уравнений методом хорд.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
Closed Topic Открыть новую тему 
Ответов
Zole
сообщение 21.05.2004 20:41
Сообщение #2





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

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


Текст программы:
Код

Program HORDA;
Uses crt;
  Function f(x:real):real;
     Begin
        f:=x*sin(x)-1; {вставь свою функцию}
     End;
  Function pr1(x:real):real;
     Begin
        pr1:=sin(x)+x*cos(x);{1 производная}
     End;
  Function pr2(x:real):real;
     Begin
        pr2:=2*cos(x)-x*sin(x);{2 производная}
     End;
Var x1,x2,c,E,a,b:real;
      n:integer;
Begin
   Clrscr;
     Writeln('Введите границы отрезка - а и b');
     Read(a,B);
     Writeln('Введите точность Е');
     Read(E);
          n:=0;
      if f(a)*f(B)<0 then begin
    repeat
      if pr1(a)*pr2(a)>0 then begin
          n:=n+1;
          x1:=a-(f(a)*(b-a))/(f(B)-f(a));
          x2:=x1-(f(x1)*(b-x1)/(f(B)-f(x1)));
          a:=x2;
                                                end
      else
          n:=n+1;
          x1:=b-(f(B)*(b-a))/(f(B)-f(a));
          x2:=x1-f(x1)*(x1-a)/(f(x1)-f(a));
          b:=x2;
                           end;
    until abs(x2-x1)<=E;
     Writeln('Корень уравнения х = ', x2:8:6);
     Writeln('Число итераций = ',n);
     Readln;
     Readln;
   End.

:p4:

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

Сообщений в этой теме


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

 



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