Cumulative standard deviation: Difference between revisions

→‎{{header|PL/I}}: usage of hbound for simplicity
(→‎{{header|PL/I}}: usage of hbound for simplicity)
Line 1,935:
=={{header|PL/I}}==
<lang pli>*process source attributes xref;
stddev: proc Optionsoptions(main);
declare Aa(10) float Initinit(1,2,3,4,5,6,7,8,9,10);
declare stdev float;
declare api fixed binary Init(10);
declare i fixed binary;
stdev=std_dev(a,ap);
 
put skip list ('Standard deviation', stdev);
stdev=std_dev(a,ap);
put skip list ('Standard deviation', stdev);
std_dev: procedure (A, apa) returns (float);
 
declare Aa(*) float, apn fixed binary nonassignable;
std_dev: procedure (A, ap) returns (float);
n=hbound(a,1);
declare A(*) float, ap fixed binary nonassignable;
declare i fixed binarybegin;
declare Bb(apn) float, average float;
declare i fixed binary;
 
do i = 1 to apn;
B b(i) = Aa(i);
end;
average = average=sum(Aa) /apn;
Put Skip Data put skip data(average);
return return( sqrt (sum(Bb**2)/apn - average**2) );
end;
end std_dev;
end;</lang>
{{out}}
1,392

edits