Sunteți pe pagina 1din 3

Analiza problemei

Determinarea soluției ecuației f(x) = 0 poate fi efectuată prin metoda bisecției.


Calculul prin metoda bisecției constă in determinarea punctului de mijloc c a
segmentului [a,b] apoi calculul valorii f(c). Dacă f(c) = 0, atunci c este soluția
exactă a ecuației. În caz contrar soluția este căutată în continuare pe acel dintre
segmentele [a, c] şi [c, b], pentru care semnul funcției în extremități este diferit.
Dacă f(a)×f(c)>0, atunci soluția e căutată în continuare pe segmentul [a1, b1], unde
a1 ⇐ c 1 , b1 ⇐ b. În caz contrar extremitățile noului segment vor fi a1⇐ a, b1⇐ c.
Procesul se reia pe segmentul [a1, b1], repetându-se până când nu se obține soluția
exactă sau (în majoritatea absolută a cazurilor!) devierea soluției calculate de la cea
exactă nu devine suficient de mică.
Elaborarea modelului matematic al problemei
Definim funcția: 𝑥 3 − 7𝑥 2 + 12𝑥 − 37
Elaborarea Algoritmului
Pornind de la descrierea matematică a metodei, putem separa două cazuri distincte
de oprire a procesului de calcul al soluţiei ecuaţiei f(x) = 0 pentru metoda bisecţiei:
Algoritmul de calcul pentru un număr prestabilit n de divizări
consecutive:
Pasul 0. Iniţializare: i ⇐ 0.
Pasul 1. Determinarea mijlocului segmentului .
Pasul 2. Reducerea segmentului ce conţine soluţia: dacă f(c) = 0,
atunci soluţia calculată este x = c. SFÎRŞIT.
În caz contrar, dacă f(a) × f(c) > 0, atunci a ⇐ c; b ⇐ b, altfel a ⇐ a; b ⇐ c.
Pasul 3. i ⇐ i + 1. Dacă i = n, atunci soluţia calculată este . SFÎRŞIT.
În caz contrar, se revine la pasul 1.

Prezentarea Programului
Program P1;
var a,b,c:real;
i,n:integer;
function f(x:real):real;
begin
f:=x*x*x-7*x*x+12*x-37;
end;
begin
a:=-10; b:=10;
write('n:=');
readln (n);
1
for i:=0 to n do
begin
c:=(a+b)/2;
writeln ('c=',c);
if f(c)=0 then break else
if f(a)*f(c)<0 then a:=c
else b:=c;
end;
end.

Afișarea rezultatelor programului

Graficul Funcției
X Y
-5 -397
-4 -261
-3 -163
-2 -97
-1 -57
0 -37
1 -31
2 -33
3 -37
4 -37
5 -27

2
Y
0
-5 -4 -3 -2 -1 0 1 2 3 4 5
-50

-100

-150

-200
B
-250

-300

-350

-400

-450

Concluzii
În concluzie menționez faptul că metoda bisecției este usoara in percepere si
executie.Mia fost usor sa creez programul datorita Pasilor din carte si indicatiilor
profesoarei.!!!
Pasul 0. Iniţializare: i ⇐ 0.
Pasul 1. Determinarea mijlocului segmentului .
Pasul 2. Reducerea segmentului ce conţine soluţia: dacă f(c) = 0,
atunci soluţia calculată este x = c. SFÎRŞIT.
În caz contrar, dacă f(a) × f(c) > 0, atunci a ⇐ c; b ⇐ b, altfel a ⇐ a; b ⇐ c.
Pasul 3. i ⇐ i + 1. Dacă i = n, atunci soluţia calculată este . SFÎRŞIT.
În caz contrar, se revine la pasul 1.

S-ar putea să vă placă și