Anonymous user
Averages/Simple moving average: Difference between revisions
m
→{{header|REXX}}: added/changed whitespace and comments.
PatGarrett (talk | contribs) m (→{{header|360 Assembly}}: add a comment) |
m (→{{header|REXX}}: added/changed whitespace and comments.) |
||
Line 3,125:
=={{header|REXX}}==
The same item list was used as for the ALGOL68 example.
<lang rexx>/*REXX program illustrates simple moving average using a
parse arg p q n .
if p=='' then p=3
if q=='' then q=5
if n=='' then n=10
@.=0
do j=1 for n%2; @.j=j; end /* ··· increasing values.*/
/* [↓] build 2nd half of list*/
do k=n%2 to 1 by -1; @.j=k; j=j+1; end /* ··· decreasing values.*/
say ' ' " SMA with " ' SMA with '
say ' number ' " period" p' ' ' period' q
say ' ──────── ' "──────────" '──────────'
do m=1 for n▼
/* [↓] perform a simple moving average*/
▲ do m=1 for n
▲ end /*m*/ /* [↑] show simple moving avg.*/
end /*m*/ /* [↑] show a simple moving average.*/
/*────────────────────────────────────────────────────────────────────────────*/
sma: procedure expose @.; parse arg p,j; s=0; i=0
s=s+@.k▼
▲ s=s+@.k
end /*k*/
return s/i</lang>
'''output''' using the generated default list of numbers:
<pre>
SMA with SMA with
|