# сумму S=1+1/x+1/x2+...+1/xN

сумму S=1+1/x+1/x2+...+1/xN при x, не равном 0. Как и в предыдущем примере можно записать следующее соотношение: S(i) = S(i - 1) + a(i), i?1, где a(i) = 1/xi, S(0) = 1. Конечно, можно и эти соотношения использовать для написания программы. При этом у нас возникла новая задача - найти способ вычисления a(i). Для этого можно воспользоваться тем же приемом - попытаться вычислить a(i) через значение a(i - 1). Соотношение между значениями a(i) и a(i - 1) имеет следующий вид: a(i) = a(i - 1)/x, i?1 a(0) = 1 Поэтому поставленную задачу можно решить следующим образом. S[0]: = 1; a[0]: = 1; for i:=1 to N do {1. 2} begin a[i]: = a[i - 1]/x; S[i]: = S[i - 1] + a[i] end; Procedure Init (var q: Queue; var Free,First:integer); begin First: =1; Free: =1; end; Отметим, что и в этом случае индексы при SM и a можно опустить в связи с тем, что для вычисления текущего элемента каждой из таблиц достаточно знать только значение предыдущего элемента. Соотношения,

Индекс
Элементарные функции Линейные уравнения Нелинейные уравнения Случайные числа