
function [media_parziale_vett,flag] = media_parziale (seq)

% Uso:
%   [media_parziale,flag] = media_parziale (seq)
%
% Dati di ingresso:
%   seq: vettore di N numeri positivi;
%
% Dati di uscita:
%   media_parziale: vettore in cui "media_parziale(k)" e' 
%   la media dei primi "k" elementi di "seq".
%   flag: 0 se qualche componente di "seq" e' non positiva, 
%         1: altrimenti. 

flag=1;
N=length(seq);
media_parziale_vett=ones(N,1);
media_parziale_vett=NaN*media_parziale_vett;

for k=1:N
    term=seq(k);
    if term <= 0
        fprintf('una componente del vettore seq e'' negativa o nulla');
        flag=0;
        return;
    end
    if k == 1
        media_parziale_vett(k)=term;
    else
        media_parziale_vett(k)=((k-1)*media_parziale_vett(k-1)+term)/k;
    end
end

fprintf('nessuna componente del vettore seq e'' negativa o nulla');