Informatică, întrebare adresată de oanamadan, 9 ani în urmă

Ajutor la informatica..dau coroana
Sa se alcatuiasca programul care sa gaseasca solutia formulei (X2+X+1)(X2+X+2)-12=0 pe intervalul (-3,-1) (0,2)
Metoda bisectiei.


oanamadan: da,x la puterea a doua...in C sau C++ am nevoie
boiustef: Metoda bisecţiei aRE DOI ALGORITMI:
A1. Algoritmul de calcul pentru un număr prestabilit n de divizări consecutive
A2. Algoritmul de calcul pentru o precizie ε dată
oanamadan: Nu conteaza care.
boiustef: Deci trebuie de concretizat ce algoritm se va aplica...
Dacă A1, atunci trebuie să se dea n - numărul de divizări a segmentului;
Dacă A2, atunci tr. să se dea precizia ε
oanamadan: A1
boiustef: ce facem?
oanamadan: A1
boiustef: atunci trebuie să ne hotărâm care este numărul de divizări, sau iau n=30
oanamadan: nu conteaza,poti sa il iei la dorinta ca nu are importanta..e la dorinta
boiustef: ok

Răspunsuri la întrebare

Răspuns de boiustef
1

Răspuns:

#include <iostream>

using namespace std;

double f(double x)

{

   return (x*x+x+1)*(x*x+x+2)-12;

}

double solutia(double a, double b, int n)

{

  double c;

  for (int i=1; i<=n; ++i)

   {

       c=(a+b)/2;

       if (f(c)==0) break;

       else

           {if (f(c)*f(a)>0) a=c;

           else b=c;}

   }

   return c;

}

double a,b,c;

int n, i;

int main()

{

   cout << "pe intervalul [-3,-1] solutia este "<< solutia(-3,-1,20) << endl;

   cout << "pe intervalul [0,1] solutia este "<< solutia(0,1,20) << endl;

}

Explicație:

Alte întrebări interesante