Sunteți pe pagina 1din 3

Programarea şirului Fibonacci.

Secvenţa numerelor Fibonacci a fost stabiltă în anul 1202. Cartea lui


Fibonacci „Liber Abbacus”(Cartea despre abac) conţinea următorul exerciţiu:
1. Cîte perechi de iepuri vor apărea dintr-o singură pereche timp de un an?
Pentru a soluţiona problema s-a propus să considerăm, că fiecare pereche
produce o nouă pereche de iepuri în fiecare lună, fiecare pereche nouă devine
fertilă la vîrsta de o lună şi în plus, că iepurii nu mor nici odată. După o lună vor
exista 2 perechi, după două luni 3 perechi, în luna următoare perechea iniţială şi
perechea născută în prima lună vor aduce pe lume cîte o nouă pereche şi vor fi în
total 5 ş.a.m.d.
Programul Turbo Pascal care rezolvă această problmă este:
Program p1;
Var A,B,C,i,n:integer;
Begin
Writeln(’Introdu nr. de luni:’);
Readln(n);
A:=1;B:=1;C:=1;i:=1;
Writeln(’Numarul de iepuri timp de’ ‚n,’luni’,C);
While i<n+1 do begin
C:=A+B;
A:=B;B:=C;i:=i+1;end;
Readln;
End.
Ctrl/FDupă execuţia programului vom avea:
Introdu nr. de luni:
12
Numarul de iepuri timp 1 luni este:1
Numarul de iepuri timp 2 luni este:2
Numarul de iepuri timp 3 luni este:3
Numarul de iepuri timp 4 luni este:5
Numarul de iepuri timp 5 luni este:8
Numarul de iepuri timp 6 luni este:13
Numarul de iepuri timp 7 luni este:21
Numarul de iepuri timp 8 luni este:34
Numarul de iepuri timp 9 luni este:55
Numarul de iepuri timp 10 luni este:89
Numarul de iepuri timp 11 luni este:144
Numarul de iepuri timp 12 luni este:233
Numarul de iepuri timp 13 luni este:377
După un an vom avea 377 perechi de iepuri.
Șirul lui Fibonacci, deși neinteresant la prima vedere, este o problemă
interesantă când vine vorba de a fi pusă într-un algoritm. Nu că ar fi dificilă.
2. Se dă un număr natural m. Să se elaboreze programul care
determină cel mai mare număr din şirul Fibonacci ce nu depăşeşte acect număr.
Program p2;
Var A,B,C,i,m:integer;
Begin
Writeln(’Introdu numarul:’);
Readln(m);
A:=1;B:=1;C:=1;i:=2;
Writeln(’Numarul numarul:’ );
While C<m do begin
C:=A+B;
A:=B;B:=C;i:=i+1;end;
Readln;
End.
Ctrl/F9 În rezultaul execuţiei vom avea:
Introdu numarul:
1000
Numarul este:987

3. De elaborat programul care calculează suma primelor 15 numere


ale şirului Fibonacci, fără a utiliza vre-un tablou.
Program p3;
Var A,B,C,i,,S,m:integer;
Begin
Writeln(’Introdu numarul:’);
Readln(m);
A:=1;B:=1;C:=1;i:=2;S:=2;
Writeln(’Suma este:’ );
While i<m+1 do begin
C:=A+B;S:=s+C;
A:=B;B:=C;i:=i+1;end;
Readln;
End.
Ctrl/F9 În rezultaul execuţiei vom avea:
Introdu numarul:
15
Suma este:2
Suma este:4
Suma este:7
Suma este:12
Suma este:20
Suma este:33
Suma este:54
Suma este:88
Suma este:143
Suma este:232
Suma este:376
Suma este:609
Suma este:986
Suma este:1596
Suma este:2583

4. De elaborat algoritmul de calcul al numărui Fibonacci cu numărul


de ordine n, n un număr natural(forma recursivă).
Program P4;
Var n:integer;
Function fib(n:integer):integer;
Begin
If (n=1)or(n=2) then fib:=1 else fib:=fib(n-1)+fib(n-2);
End;
Begin
Write(‚Introdu numarul:’);
Readln(n);
Writeln(‚Numarul Fibonacci este:’,fib(n));
Readln;
End.
Ctrl/F9 După execuţia prorgamului vom avea:
Introdu numărul:
10
Numarul Fibonacci este:55.

Bibliografie
1. Gh.Bostan „Culegere de probleme de informatică”, Ed. Lumina, Chişinău,
1996
2.

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