Вычисление суммы с конечным числом слагаемых и произведенияс конечным числом сомножителей Очень часто встречаются задачи, связанные с вычислением суммы конечного числа слагаемых: 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