% p=1000; q=0.018000000081; sol=0.9*10^(-5);

p=4.999999999995*10^4;
q=10^(-2);
sol=10^(-7);

% ALGORITMO 1
s=p^2;
t=s+q;
if t >=0
   u=sqrt(t);
else
   fprintf('\n \t [RADICI COMPLESSE]');
end
s1=-p+u;

% ALGORITMO 2
s=p^2;
t=s+q;
if t >=0
   u=sqrt(t);
else
   fprintf('\n \t [RADICI COMPLESSE]');
end
v=p+u;
t1=q/v;

% Soluzione fornita dal primo algoritmo.
fprintf('\n \t [ALG.1]: %10.19f',s1); 

% Soluzione fornita dal secondo algoritmo.
fprintf('\n \t [ALG.2]: %10.19f',t1); 

if length(sol) > 0 & (sol ~= 0)
    % Errore relativo del primo algoritmo.
    rerr1 =abs(s1-sol)/abs(sol); 
    % Errore relativo del secondo algoritmo.
    rerr2=abs(t1-sol)/abs(sol); 
    % Stampa risultati.
    fprintf('\n \t [REL.ERR.ALG.1]: %2.2e',rerr1);
    fprintf('\n \t [REL.ERR.ALG.2]: %2.2e',rerr2);
end

fprintf('\n \n');