Паскаль. Основы программирования


           

Задачи с использованием последовательностей и рядов


Пример 4. Последовательность (an) 

 

задается так:

 и
 для каждого n=1, 2, 3, ...

Найдите число, которое меньше всех членов последовательности с четными номерами и одновременно больше всех ее членов с нечетными номерами.

Если такое число существует, обозначим его a, тогда должно выполняться неравенство

Нетрудно заметить, что последовательность слева является возрастающей, а справа убывающей, а значит число a является "сгустком" для членов этой последовательности, т.е. ее пределом. Теперь осталось найти этот предел. Для этого воспользуемся признаком существования предела.

Зададимся положительным числом eps, даже очень малым и найдем члены последовательности, разность между которыми по абсолютной величине будет меньше eps. Найденный член последовательности и даст искомое число с указанной точностью.

Кстати говоря, это число в математике известно и равно

Программа

Program Problem4;

    uses WinCrt;

    var

       n, k             : integer;

       a, a1, eps, e : real;

{----------------------------------------------------------------------------------------}

{ Функция вычисления порядка - кол-во знаков после запятой }

   Function t(eps : real) : integer;

         var

            k : integer;

         begin

            k := -1;

            repeat

                eps := eps*10;

                 k := k + 1

            until eps > 1;

            t := k

         end;

{----------------------------------------------------------------------------------------}

    begin

       write('Задайте точность eps '); readln(eps);

       a := 1;

       repeat

          a := 1 + 1/a;  {с четными номерами}

          a1 := 1 + 1/a  {с нечетными номерами}

       until abs(a1 - a) < eps;

      write('Искомое число ', a1:3:t(eps));

      writeln(' с точностью до ', eps:3:t(eps));

      writeln('Сравните с точным результатом ', (sqrt(5)+1)/2:3:t(eps))

   end.

Задание 4

Последовательность

 задается так:
 - сумма цифр числа
 Найдите




Содержание  Назад  Вперед