% Numero punti
n = 200;         

% Estremi intervallo
a = 0;
b = 2*pi;

% Ampiezza intervalli
h = (b-a)/(n-1);      

% Punti per la parametrizzazione
t(1) = a;

for k = 2:(n)
    t(k) = t(k-1) + h;
end

% Ascisse e ordinate punti
for k = 1:n  
    x(k) = cos(t(k))/(1 + sin(t(k))^2);
    y(k) = sin(t(k))*cos(t(k))/(1+sin(t(k))^2);
end

% Approssimazione lunghezza
L = 0;

for k = 1:(n-1)   
    L = L + sqrt( (x(k+1)-x(k))^2 + (y(k+1)-y(k))^2 );
end

% Calcola l'errore
L_ex = 5.24412;
Err = abs(L_ex - L);

% Stampa i risultati a terminale
clc
fprintf("\n   n = %d,   L = %.5f,   Err = %.5f\n", n, L, Err);

% Aggiungi illustrazione grafica
figure('Color', 'w')
plot(x,y)
axis equal
axis([-1 1 -.8 .8])
xticks(-1:.5:1)
yticks(-.8:.2:.8)
