Вычисление суммы с конечным числом слагаемых и произведения

advertisement
Вычисление суммы с конечным числом слагаемых и произведенияс конечным
числом сомножителей
Очень часто встречаются задачи, связанные с вычислением суммы конечного числа
слагаемых:
S = f1 + f2 + … + fn
Для обозначения этой суммы целесообразно использовать знак суммы . Тогда эту
сумму можно будет записать в виде:
n
S   fi
i 1
Здесь i - индекс суммирования, который меняется от 1 (начальное значение) до n
(конечное значение) с шагом 1, fi - выражение общего члена. Из выражения fi при
значении i = 1 получится первое слагаемое в сумме, при i = 2 - второе... и, наконец, при i =
n последнее слагаемое.
Для указанной суммы вычисления можно организовать в виде циклического
алгоритма, когда после каждого шага цикла номер слагаемого увеличивается на единицу,
а сумма изменяется на величину i - ого слагаемого.
I=1
S=0
I <= n
I=I+1
S = S + fi
S
Пример 1. Cоставьте программу вычисления суммы.
S 1
1 1
1
  ... 
.
2 3
100
Запишем эту сумму с помощью символа
REM Вычисление суммы

100
1
. Имеем S =  .
i 1 i
S=0
FOR I = 1 TO 100
S = S + 1/I
NEXT I
PRINT “S = ”; S
END
Пример 2. Составьте программу вычисления суммы.
S
1
1 1
1
  ... 
3 5
2 * n  1 , где n - заданное натуральное число.
1 1
1
  ... 
2 4
2*n
Указание: в числителе стоит сумма дробей, знаменатели которых являются
нечетными числами. Знаменатели дробей, стоящих в делителе, являются четными
числами. Последовательность нечётных чисел можно описать формулой {2*i-1}, либо
{2*i+1}, а четных чисел - формулой i. Количество слагаемых как в числителе, так и в
знаменателе, равно n.
Имеем
 n
1   n 1 
S  
 / 

 i 1 2 * i  1   i 1 2 * i 
INPUT “Введите натуральное число N= ”; N
R=0 : T=0
FOR I=1 TO N
R=R+1/(2*I-1)
T= T+1/(2*i)
NEXT I
S = R/T
PRINT “S= ”; S
END
Пример 3. Cоставьте программу вычисления суммы.
S 1 x 
x 2 x3 x 4
x
 
 ...
2
3
4
100
100
Указание: знаки, начиная со второго слагаемого, в сумме чередуются (+, - , +, - и
т.д.). Закон чередования знаков (+, - или -, + ) можно описать с помощью
дополнительного множителя (-1)i либо (-1)i+1. Первое слагаемое нельзя описать с
помощью общей формулы, справедливой для всех членов, поэтому необходимо вынести
его за знак суммы.
100
Имеем S = 1+  (1)i 1
i 1
xi
i
REM Вычисление суммы
INPUT “Введите значение x = ”; x
S=1
FOR I =1 TO 100
S = S + (-1)^(I+1)*X^I/I
NEXT I
PRINT “S = ”; S
END 
 Пример 4. Составьте программу вычисления суммы.
S 1
x 4 x 6 x8
x100
   ... 
3
7 11
195
Имеем
x 2i  2
i 1 4i  1
49
S 1 
Замечание: Наиболее трудным моментом является вывод формулы общего члена, в
x 2i  2
данном случае это
. Готовых рецептов здесь нет, прогресс будет очевидным по мере
4i  1
увеличения количества решенных задач.
INPUT “Введите число X = ” ; X
S=1
FOR I = 1 TO 49
S = S + X^(2*I+2)/(4*I - 1)
NEXT I
PRINT “S= ” ; S
END
Для вычисления произведения конечного числа сомножителей воспользуемся
символом 
n
P  f1 * f 2 * ... f 3   f i
i 1
При такой записи целочисленный индекс i меняется от 1 до числа n с шагом 1, где n
- количество сомножителей в произведении. При i = 1 получаем первый сомножитель,
при i = 2 — второй и т.д., при i = n — n - ый сомножитель. Как и сумму, произведение
можно вычислить с помощью циклического процесса.
I=1
P=1
I <= n
I=I+1
P = P + fi
P
 Пример 5. Составьте программу вычисления произведения.
P
Имеем
( x  2)( x  4)( x  8)...( x  128)
( x  1)( x  3)( x  7)...( x  127)
7
P
i 1
( x  2i )
( x  2i  1)
INPUT “Введите число х=”; х
P=1
FOR I = 1 TO 7
Т=х2^I
P= P*T/(T+1)
NEXT I
PRINT “P= ”; P
END 
 Пример 6. Cоставьте программу вычисления N, где N- заданное натуральное
число.
N
Имеем N =
i
i 1
INPUT “Введите натуральное число N= ”; N
P=1
FOR I=1 TO N
P=P*I
NEXT I
PRINT P
END 
 Пример 7. Cоставьте программу вычисления S
S= 1 + 1*2 + 1*2*3 + 1*2*3*4+ ... + 1*2*3*...N, где N- заданное натуральное
число, 1<=N<=20
Имеем
i
n
S=  j
i 1 j 1
INPUT “Введите целое число от 1 до 20 , N= ”; N
S=0:P=1
FOR I=1 TO N
P= P *I
S=S+P
NEXT I
PRINT “S=”; S
END 
 Пример 8. Составьте программу вычисления произведения P
P= 1*(1+2)*(1+2+3)...(1+2+3+...+N), где N- заданное натуральное число.
Имеем
n
i
P=  j
i 1 j 1
INPUT “Введите натуральное число N= ”; N
P=1 : S=0
FOR I=1 TO N
S=S+I
P=P*S
NEXT I
PRINT “P= ”; P
END 
Download