Averages/Simple moving average: Difference between revisions
Content added Content deleted
m (→{{header|REXX}}: used better verbage is describing the output section.) |
m (→{{header|REXX}}: collapsed non-essentical (generating) DO loops, removed some dead code.) |
||
Line 2,787: | Line 2,787: | ||
@.=0 /*define stemmed array, init 0*/ |
@.=0 /*define stemmed array, init 0*/ |
||
/*──────────────────────────────────────────build 1st half of the list. */ |
/*──────────────────────────────────────────build 1st half of the list. */ |
||
do j=1 for n%2; @.j=j; end /* ··· increasing values.*/ |
|||
@.j=j |
|||
⚫ | |||
/*──────────────────────────────────────────build 2nd half of the list. */ |
/*──────────────────────────────────────────build 2nd half of the list. */ |
||
do k=n%2 to 1 by -1; @.j=k; j=j+1; end /* ··· decreasing values.*/ |
|||
@.j=k |
|||
j=j+1 |
|||
end /*k*/ |
|||
/*──────────────────────────────────────────show an indented item list. */ |
/*──────────────────────────────────────────show an indented item list. */ |
||
do i=1 for n; say left('',60) 'item' right(i,3)'='right(@.i,3); end |
|||
say left('',60) 'item' right(i,3)'='right(@.i,3) |
|||
end /*i*/ |
|||
/*──────────────────────────────────────────perform a simple moving avg.*/ |
/*──────────────────────────────────────────perform a simple moving avg.*/ |
||
do m=1 for n /*OK then, let's start the SMA*/ |
|||
say 'm=' right(m,3), /*show where we're at in list.*/ |
|||
⚫ | |||
smaQ=sma(q,m) /* " " " " Q.*/ |
|||
" sma("q')=' left(sma(q,m),11) /* " " " " Q. */ |
|||
⚫ | |||
say 'm='right(m,3), /*show where we're at in list.*/ |
|||
⚫ | |||
" sma("q')='left(sma(q,m),11) /* " " " " Q. */ |
|||
end /*m*/ |
|||
exit /*stick a fork in it, we're done.*/ |
exit /*stick a fork in it, we're done.*/ |
||
/*──────────────────────────────────SMA subroutine──────────────────────*/ |
/*──────────────────────────────────SMA subroutine──────────────────────*/ |
||
Line 2,814: | Line 2,804: | ||
s=s+@.k |
s=s+@.k |
||
end /*k*/ |
end /*k*/ |
||
return s/i |
return s/i</lang> |
||
</lang> |
|||
'''output''' using the generated default list of numbers: |
'''output''' using the generated default list of numbers: |
||
<pre> |
<pre> |