Sunteți pe pagina 1din 3

MINISTERUL EDUCAȚIEI,CULTURII ȘI CERCETĂRII AL REPUBLICII MOLDOVA

IP CENTRUL DE EXCELENȚĂ ÎN ECONOMIE ȘI FINANȚE


CATEDRA,,CONTABILITATE ȘI ANALIZA ECONOMICĂ”

Lucrare de laborator nr.1


Disciplina:Informatica
Tema:Metoda Bisecției

A elaborat:Mogîldan Carolina,Con1701g
A verificat:Ciobanu Valeria

Chișinău,2019
Analiza problemei
Fie dată funcţia f(x), continuă pe segmentul [a, b], şi f(a) × f(b) < 0. Se cere să se determine pe
segmentul [a, b] o soluţie a ecuaţiei f(x) = 0.
Proprietăţile funcţiei asigură existenţa a cel puţin unei soluţii pe acest segment. Una dintre cele
mai simple metode de determinare a unei soluţii a ecuaţiei f(x) = 0 este metoda bisecţiei.
Metoda presupune determinarea punctului de mijloc c al 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ă
pe unul dintre segmentele
[a, c] şi [c, b]. Ea va aparţine segmentului 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
primeşte valoarea c, iar b1 – valoarea b. În caz contrar, a1 primeşte valoarea a, iar b1 – valoarea
c. Procesul de divizare 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 ci de la cea exactă nu
devine suficient de mică.

Elaborarea modelului matematic al problemei


Definim funcția f:R→R
f(x)=tg(0,55x+0,1)-x2

Elaborarea algoritmului de calcul pentru un număr prestabilit n de divizări


consecutive:
Pasul 0. Iniţializare: i ⇐ 0.
a+b
Pasul 1. Determinarea mijlocului segmentului c⇐
2

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 c . SFÎRŞIT. În caz
contrar, se revine la pasul 1.
Scrierea programului
Program P1;
var a,b,c:real;
i,n:integer;
function M(x:real):real;
begin
M:=tan(0.55*x+0.1)-x*x;
end;
begin
a:=-2;b:=2;
write('n:=');
readln(n);
for i:=0 to n do
begin
c:=(a+b)/2;
writeln(c);
if M(c)=0 then break else
if M(a)*M(c)<0 then a:=c else b:=c;
end;
end.

Testarea programului
n:=15
c=0
c=1
c=1.5
c=1.25
c=1.125
c=1.0625
c=1.03125
c=1.015625
c=1.0078125
c=1.00390625
c=1.001953125
c=1.0009765625
c=1.00048828125
c=1.000244140625
c=1.0001220703125
c=1.00006103515625
f(x)=tg(0,55x+0,1)-x2

-6 -36,0585
Graficul funcției
-5 -24,4646 10
-4 -14,2902
-3 -57,0785 0
1 2 3 4 5 6 7 8 9 10 11 12 13
-2 -5,55741 -10
-1 -1,48306
0 0,100335 -20

1 -0,2398 -30
2 -1,42785
3 -14,5204 -40

4 -17,1192 -50
5 -25,3001
6 -35,7357 -60

Concluzie
În concluzie pot spune că la această lucrare de laborator am aplicat metota
bisecției care este o metodă foarte simplă și eficientă de determinare a soluțiilor
ecuațiilor algebrice și transcendente.Mi-a făcut plăcere să efectuez această lucrare
am învățat multe lucruri noi.

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