function(X)=funkcja27(n,a)
%%funkcja liczy n elementow ciacu fibonacciego
%% parametr a pozwala na wybrabranie z posrod trzech metod
%% a=1 metoda rekurencyjna przy uzyciu petli; 
%% a=2 metoda rekurencyjna przez rekurencje;
%% ze wzoru Xk=1/sqrt(5)*(((1+sqrt(5))/2)^(k)-((1-sqrt(5))/2)^(k))
%% gdzie indeksowanie przebiega od 1 do n
switch a
    case 1
        disp('przy pomocy petli');
        for i=(1:n), 
            if i<3
                X(i)=1;
            else
            X(i)=element(X(i-1),X(i-2));
            end
        end
    case 2 
        disp('przy pomocy rekurencji');
        X(1)=1;
        for j=(1:n)
           X(j+1)=element(element(j-1),j-1);
        end
    case 3
        disp('przy pomocy wzoru')
        
    otherwise
        disp('zly parametr sposobu');, return;
end
%% koniec funkcji
function(xi)=element(x1)
%%funkcja liczy m ty element ciagu fibonaccniego na podstawie 2
%%poprzedzajacych elementow
switch x1
    case 1
        xi=1
    case 2
        xi=1
    otherwise
    xi=element(x1-1)+element(x1-2)
end