Documente Academic
Documente Profesional
Documente Cultură
Lab 1
Lab 1
RAPORT
Lucrarea de laborator nr.1
Analiza si proiectarea algoritmilor
A efectuat:
st. gr. TI-162 Rbac Dumitru
A verificat:
lect., univ. Veronica Andrievschi-Bagrin
Chisinau 2017
LUCRAREA DE LABORATOR NR.1
Mersul lucrarii:
#include<conio.h>
#include<stdio.h>
#include<math.h>
int count=0;
int fib3(int n){
int i,j,k,h;
i=1;
k=0;
j=0;
h=1;
int t;
while(n>0) {
count++;
if(n%2!=0)
{
int t=j*h;
j=i*h+j*k+t;
i=i*k+t;
}
t=h*h;
h=2*k*h+t;
k=k*k+t;
n=n/2;
}
return j;
}
int main(){
int i,n,t1,t2,t3;
int num,rez,rezult;
int m;
Menu:
printf("Introduceti metoda de calcul a sirului :\n");
printf("1. Iterativa. \n");
printf("2. Recursiva. \n");
printf("3. Prin utilizarea formulei.\n");
printf("4. Exit.\n");
scanf("%d",&m);
switch(m){
case 1:
system("cls");
printf("Cate numere doriti sa fie afisare din
sirul Fibonacci ?: ");
scanf("%d",&n);
t1=0;
t2=1;
count=1;
for(i=1;i<n;i++){
t3=t1+t2;
t1=t2;
t2=t3;
printf("%d ",t3);
count++;
}
printf("\nContor: %d\n",count);
printf("\n Tastati ENTER pentru a reveni la
meniul principal ! ");
getch();
system("cls");
goto Menu;
break;
case 2:
system("cls");
printf("Introduceti numarul care doriti
din sirul lui Fibonacci: ");
scanf("%d",&num);
count=0;
rez=fibo(num);
printf("Elementul %d din sirul lui
Fibonacci este %d:\n",num,rez);
printf("Contor : %d",count) ;
printf("\n Tastati ENTER pentru a
reveni la meniul principal ! ");
getch();
system("cls");
goto Menu;
break;
case 3:
system("cls");
printf("Introduceri numarul care doriti
");
scanf("%d",&n);
count=0;
int rezult=fib3(n);
printf("\n Al %d numar este
%d",n,rezult);
printf("\n Contor : %d",count);
printf("\n Tastati ENTER pentru a
reveni la meniul principal ! ");
getch();
system("cls");
goto Menu;
break;
case 4:
exit(0) ;
}
getch();
return 0;
}
Reprezentarea rezultatelor
Iterativ 10 20 30 40 45
Logaritmic 4 5 5 6 6
Iteratii
200
180
160
140
120
iteratii
100
80
60
40
20
0
5 10 15 20 25
N
Meniu:
Iterativ :
Recursiv :
Logaritmic.
Concluzie
In cadrul acestei lucrari de laborator am analizat 3 metode de calcul a sirului Fibonacci. Am
folosit metodele iterative, recursiva si prin formula lui Binet. Dupa calcule am observat ca cea
mai buna metoda este prin formula lui Binet,deoarece numarul de repetari este cel mai mic. Cel
mai nefavorabil caz este prin metoda recursiva, deoarece numarul de iteratii este foarte mare in
comparatie cu metoda iterativa si prin formula.