Найти наименьший номер последовательности, заданной рекуррентной формулой - Pascal ABC

Узнай цену своей работы

Формулировка задачи:

Найти наименьший номер последовательности, заданной рекуррентной формулой, для которого выполняется условие |an - an-1l < e. Здесь e - малая величина. Вывести на экран этот номер и все элементы ai, где i = 1,2, ..., n. an=2+a2n-1,a1=2 --------------------------------------------------------------------- 2an-1 Это черта дроби, они идет после равно an

Решение задачи: «Найти наименьший номер последовательности, заданной рекуррентной формулой»

textual
Листинг программы
var a1,a,e:real;
    n:integer;
begin
repeat
write('Введите малую величину 0<e<1 e=');
readln(e);
until(e>0)and(e<1);
a1:=2;
a:=(2+a1*a1)/(2*a1);
writeln('n=1 a=',a1:0:5);
writeln('n=2 a=',a:0:5);
n:=2;
while abs(a1-a)>=e do
 begin
  a1:=a;
  n:=n+1;
  a:=(2+a1*a1)/(2*a1);
  writeln('n=',n,' a=',a:0:5);
 end;
write('n=',n);
end.

Объяснение кода листинга программы

  1. Переменные a1, a и e объявляются как real и integer соответственно.
  2. Цикл while считывает значение переменной e с помощью функции readln() до тех пор, пока e больше 0 и меньше 1.
  3. Значение переменной a1 инициализируется как 2.
  4. Значение переменной a вычисляется как (2+a1a1)/(2a1).
  5. Выводится значение переменной a1 и a с шагом 5 десятичных знаков.
  6. Цикл while выполняется до тех пор, пока абсолютное значение разности a1 и a больше или равно e.
  7. Внутри цикла значение переменной a1 заменяется на значение a, значение переменной n увеличивается на 1, а затем вычисляется новое значение a по формуле (2+a1a1)/(2a1).
  8. Выводится значение переменной n и a с шагом 5 десятичных знаков.
  9. После окончания цикла выводится значение переменной n.
  10. Код завершается.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 3.9 из 5
Похожие ответы