Вычислить и вывести в виде таблицы значения функции - PascalABC.NET
Формулировка задачи:
Вычислить и вывести в виде таблицы значения функции, заданной с помощью ряда Тейлора, на интервале от х(нач) до х(кон) с шагом дельта х с точностью Е(епсила). Каждая строка таблицы должна содержать значение аргумента, значение функции и количество просуммированных членов ряда.
Решение задачи: «Вычислить и вывести в виде таблицы значения функции»
textual
Листинг программы
function FindMe(x, eps : Real) : String; begin var r := 1.0; var s := r; var d := 0; repeat r *= (x-1) / x; d += 1; s += r / d; until abs(r / d) < eps; Result := String.Format(' {0,5:0.##} | {1,10:0.00000000} | {2}', x, s, d); end; begin var Xнач := ReadLnReal(' X нач. ='); var Xкон := ReadLnReal(' X кон. ='); var dX := ReadLnReal(' dX ='); var eps := ReadLnReal('точность e ='); WriteLn(' x | ln(x) | кол-во'); WriteLn('-------+------------+-------'); var x := Xнач; repeat WriteLn( FindMe(x, eps) ); x += dX; until x > Xкон; end.
Объяснение кода листинга программы
- Создаётся функция FindMe, которая принимает два аргумента типа Real — x и eps.
- Внутри функции объявляются три переменные: r, s и d.
- Переменная r инициализируется значением 1.0.
- Переменная s инициализируется значением r.
- Переменная d инициализируется значением 0.
- Запускается цикл repeat, который выполняется до тех пор, пока значение r/d не станет меньше заданной точности eps.
- Внутри цикла значение переменной r обновляется, и к переменной s добавляется значение r/d.
- Значение переменной d увеличивается на 1.
- В конце цикла формируется результат работы функции — строка, которая выводится на экран.
- Значения переменных x, s и d подставляются в строку с помощью функции String.Format.
- Функция FindMe вызывается в цикле, который выполняется до тех пор, пока значение x не станет больше Xкон.
- Значения переменных Xнач, Xкон, dX и eps считываются с помощью функции ReadLnReal.
- Выводится таблица с значениями x, ln(x) и количеством итераций.
- Запускается программа.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д