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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 07.10.2012, 18:15   #1
Максим139
Пользователь
 
Регистрация: 20.02.2011
Сообщений: 80
По умолчанию [Pascal] Комбинированный метод хорд и касательных

Задали группе лабораторную. Естественно кому-то легче попалось, кому-то сложнее. Мне выпало такое:
Уточните корень уравнения е^х – 10х = 0 на отрезке [a, b] комбинированным методом хорд и касательных.
Мы такого не проходили, в интернете ничего понятного не нашёл. Препода это не волнует (Программу обучения нарушать якобы нельзя, а ему-то с его стажем кажется, что это детская забава). Короче паника, как решить?
Заранее спасибо!
Максим139 вне форума Ответить с цитированием
Старый 07.10.2012, 19:44   #2
gaw4
Форумчанин
 
Регистрация: 31.05.2010
Сообщений: 407
По умолчанию

метод хорд дает значение корня с недостатком, а метод касательных - с избытком
комбинированный - как бы усредняет погрешность
icq 584 308 611
gaw4 вне форума Ответить с цитированием
Старый 07.10.2012, 20:17   #3
gaw4
Форумчанин
 
Регистрация: 31.05.2010
Сообщений: 407
По умолчанию

как вариант /АВС/
Код:
Program ex1;
Uses crt;
var a,b:real;
   e,e1:real;
      x0,x1,x2:real;
       i,n,k:integer;

function f(var x:real):real;
begin
f:=Exp(x)-10*x;            //функция
end;

function f1(var x:real):real; //первая производная
begin
f1:=exp(x)-10;
end;

function f2(var x:real):real; //вторая производная
begin
f2:=exp(x);
end;

begin
clrscr;
// графически уточняем корни
// х1є(0,2)   x2є(2,5)

 write('vvedi levuyu granicu  '); readln(a);
 write('vvedi pravuyu granicu  '); readln(b);
 write('vvedi eps '); readln(e);
 k:=0;
  if f(a)*f2(a)>0 then x0:=a else x0:=b;

     x1:=x0-f(x0)/f1(x0);
     x2:=a-((b-a)*f(a)/(f(b)-f(a)));
     e1:=(x1+x2)/2;
      while  abs(e1-x1)>e do
        begin
         a:=x1;
         b:=x2;
         x1:= a-f(a)/f1(a);
         x2:= a-((b-a)*f(a)/(f(b)-f(a)));
         e1:=(x1+x2)/2;
         inc(k);
         writeln(k,'    ',x1:10:8);
        end;
writeln ( 'x=',x1:10:8);

readln
end.
icq 584 308 611
gaw4 вне форума Ответить с цитированием
Старый 07.10.2012, 21:25   #4
Максим139
Пользователь
 
Регистрация: 20.02.2011
Сообщений: 80
По умолчанию

Всем спасибо! И понял, и написал :D
Максим139 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Метод Хорд(Pascal) k4k7u3 Помощь студентам 1 26.01.2012 21:34
Метод Хорд , Касательных и Половинного деления DieHard Помощь студентам 4 13.09.2011 19:05
решение линейных уравнений методом хорд и касательных subarimpra Помощь студентам 2 15.10.2010 21:33
Метод хорд и касательных [Турбо Паскаль] mpegable Помощь студентам 6 14.05.2010 18:06