Вычисления с заданной точностью - PascalABC.NET
Формулировка задачи:
Помогите с заданием, пожалуйста!
Даны действительные числа x, ε (x не равно 0, ε>0). Вычислить с точностью ε(ε=10^(-3),10^(-4),10^(-5),10^(-6))сумму ряда и указать количество учтенных слагаемых. Ограничиться рассмотрением первых 10-ти членов. Результаты оформить в виде таблицы:
e| Сумма | N
Задание:
Буду очень благодарен, если код будет с комментариями на... эм... "сложных для меня моментах"... ну, где вам покажется нужным, в общем)
Решение задачи: «Вычисления с заданной точностью»
textual
Листинг программы
function Summa(x,e:double;var k:integer):double;
var t,s:double;
begin
k:=0;
t:=x;
s:=t;
while abs(t)/(4*k+1)>e do
begin
k:=k+1;
t:=-t*x*x*x*x/(2*k)/(2*k-1);
s:=s+t/(4*k+1);
end;
summa:=s;
end;
var x,e,s:double;
i,n:integer;
begin
repeat
write('Введите x<>0 x=');
readln(x);
until x<>0;
e:=0.001;
writeln('------------------------');
writeln('|Точность| Сумма | N |');
writeln('------------------------');
for i:=1 to 4 do
begin
s:=summa(x,e,n);
writeln('|',e:8:6,'|',s:9:5,'|',n:2,' |');
e:=e/10;
end;
writeln('------------------------');
end.
Объяснение кода листинга программы
В этом коде реализован вычислительный процесс с использованием метода Ньютона для нахождения корней уравнений.
- В функции
Summaпроисходит вычисление суммы ряда Тейлора для заданной точности e и числа x. - Переменная
kинициализируется значением 0 и используется для контроля за циклом. - Переменная
tинициализируется значением x. - Переменная
sинициализируется значением 0. - Используется цикл while для контроля за процессом вычисления.
- В каждой итерации цикла значение переменной
tобновляется, а затем вычисляется значение переменнойs. - Значение переменной
sвыводится на экран в цикле for. - Значение переменной
eуменьшается в 10 раз на каждой итерации цикла for. - Значения переменных
x,eиsвводятся с клавиатуры. - Значения переменных
xиeиспользуются в функцииSummaдля вычисления суммы ряда Тейлора. - Значение переменной
nиспользуется в цикле for для контроля за количеством итераций.