Предмет: Информатика, автор: Василиса695

ПАСКАЛЬ ABC.NET


Найти корень уравнения 2xsinx-cosx=0 на отрезке [0,4;1] с точностью 1e-5. Сколько итераций потребовалось для решения?


Василиса695: Знаю,но лучше всего понимаю то,что лучше бы я сидела дома, чем пошла на информатику.. :)
Василиса695: Это верно подмечено)
Василиса695: Проходили

Ответы

Автор ответа: BobbyFresnel
1

===== PascalABC.NET =====

function F(x: real) := 2 * x * Sin(x) - Cos(x);

begin

 var (a, b, eps) := (0.4, 1.0, 1e-5);

 var fx: real;

 var Iter := 1;

 var fa := F(a);

 if Abs(fa) <= eps then

   Println('Корень', a, 'Количество итераций:', Iter)

 else

   begin

   var fb := F(b);

   Inc(Iter);

   if Abs(fb) <= eps then

      Println('Корень', b, 'Количество итераций:', Iter)

   else

     if  fa * fb > 0 then

     begin

       Println('Измена! На интервале корня нет!');

       Exit

     end

     else

       repeat

         Inc(Iter);

         var x := (a + b) / 2;

         fx := F(x);

         if Abs(fx) <= eps then

            Println('Корень', x, 'Количество итераций:', Iter)

         else

           if fa * fx > 0 then

             a := x

           else

             b := x;

       until Abs(fx) <= eps

   end

end.

Приложения:
Похожие вопросы
Предмет: Математика, автор: kirakilina29
Предмет: Алгебра, автор: themiddle232