RosettaCodeData/Task/Averages-Simple-moving-average/Sidef/averages-simple-moving-average-2.sidef
2017-09-25 22:28:19 +02:00

19 lines
414 B
Text
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

class sma_generator(period, list=[], sum=0) {
method SMA(number) {
list.append(number)
sum += number
if (list.len > period) {
sum -= list.shift
}
(sum / list.len)
}
}
var ma3 = sma_generator(3)
var ma5 = sma_generator(5)
for num (1..5, flip(1..5)) {
printf("Next number = %d, SMA_3 = %.3f, SMA_5 = %.1f\n",
num, ma3.SMA(num), ma5.SMA(num))
}