Найти наименьший номер последовательности, заданной рекуррентной формулой - 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.
Объяснение кода листинга программы
- Переменные a1, a и e объявляются как real и integer соответственно.
- Цикл while считывает значение переменной e с помощью функции readln() до тех пор, пока e больше 0 и меньше 1.
- Значение переменной a1 инициализируется как 2.
- Значение переменной a вычисляется как (2+a1a1)/(2a1).
- Выводится значение переменной a1 и a с шагом 5 десятичных знаков.
- Цикл while выполняется до тех пор, пока абсолютное значение разности a1 и a больше или равно e.
- Внутри цикла значение переменной a1 заменяется на значение a, значение переменной n увеличивается на 1, а затем вычисляется новое значение a по формуле (2+a1a1)/(2a1).
- Выводится значение переменной n и a с шагом 5 десятичных знаков.
- После окончания цикла выводится значение переменной n.
- Код завершается.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д