Основы программирования на C++, PASCAL
4) определить номер первого элемента, удовлетворяющего определенному условию;
5) вычислить и сохранить в памяти заданное количество элементов последовательности.
Данный перечень задач не претендует на полноту, но наиболее часто встречающиеся типы он охватывает. В четырех первых задачах не требуется одновременно хранить в памяти множество элементов числового ряда. В таком случае его элементы могут получаться последовательно в одной переменной, сменяя друг друга.
Пример 1. Вычислить п-й элемент арифметической прогрессии (1).
Var M,I: 0..Maxint;
A: Real;
Begin
Write('N=');
ReadLn(N);
A:=l;
For I: =2 To N Do
A:=A+2;
WriteLn('A(',N:l,')=',A:6:0)
End.
Рекуррентная формула ai = ai-1 + 2 перешла в оператор А := А + 2.
Пример 2. Просуммировать первые п элементов геометрической прогрессии (2) (не пользуясь формулой для суммы первых n членов прогрессии).
Var N,1: 0..Maxint;
A,S: Real;
Begin
Write('N='); ReadLn(N);
A:=l;
S:=A;
For I: =2 To N Do
Begin
A:=2*A;
S:=S+A
End;
WriteLn('Сумма равна',S:6:0)
End.
При вычислении рекуррентной последовательности с глубиной 2 уже нельзя обойтись одной переменной. Это видно из следующего примера.
Пример 3. Вывести на печать первые п (п ≥ 3) чисел Фибоначчи. Подсчитать, сколько среди них четных чисел.
Var N,I,K,F,F1,F2: 0..Maxint;
Begin
Fl:=l; F2:=l;
K:=0;
WriteLn('F(l)=',Fl,'F(2)=',F2);
For I:=3 To N Do
Begin
F:=F1+F2;
WriteLn('F(',I:l,')=',F);
If Not Odd(F) Then K:=K+1;
F1:=F2; F2:=F
End;
WriteLn('Количество четных чисел в последовательности равно',К)
End.
Понадобились три переменные для последовательного вычисления двухшаговой рекурсии, поскольку для нахождения очередного элемента необходимо помнить значения двух предыдущих.
Пример 4. Для заданного вещественного х и малой величины ε (например, ε = 0,000001) вычислить сумму ряда
включив в нее только слагаемые, превышающие ε. Известно, что сумма такого бесконечного ряда имеет конечное значение, равное еx, где е = 2,71828... — основание натурального логарифма. Поскольку элементы этого ряда представляют собой убывающую последовательность чисел, стремящуюся к нулю, то суммирование нужно производить до первого слагаемого, по абсолютной величине не превышающего ε.
Если слагаемые в этом выражении обозначить следующим образом: