Суммы и произведения

Синтаксис:

sum <identifier> = <from> to <to> do <body>
sum <identifier> = <from> to <to> by <increment> do <body>
sum <identifier> in <matrix> do <body>
prod <identifier> = <from> to <to> do <body>
prod <identifier> = <from> to <to> by <increment> do <body>
prod <identifier> in <matrix> do <body>

Если заменить for на sum или prod, то вместо цикла for получатся циклы вычисления суммы или произведения. Вместо того, чтобы возвращать последнее значение, эти команды возвращают сумму или произведение значений, соответственно.

Если тело цикла не вычислялось (например, sum i=1 to 0 do ...), то sum возвращает 0, а prod возвращает 1.

For floating point numbers the same roundoff error protection is done as in the for loop. See «Циклы For».