Другие языки программирования и технологии
Найти сумму числового ряда с заданной точность епсилон (вводится пользователем): S = 1+1/22+ 1/32+ 1/42+ 1/52+ …
Паскаль. Очень желательно через цикл While
Для ряда Σ(n=1;∞)¹/n², сходящегося к π²/6, можно составить программу с циклом, прерывающимся тогда, когда очередное слагаемое не станет меньше заданного значения ε, а потом результат несколько скорректировать и посмотреть, что в итоге получается:
А ряд из задания вообще-то расходящийся...
Сумму же быстро сходящегося ряда
S = Σ(n=0;∞)¹/(3n)!
надо вычислять так:
uses crt;
const sum = pi * pi / 6;
var eps, n, s, x: real;
begin
clrscr();
while true do
begin
write('ε = ');
readln(eps);
n := 0;
s := 0;
x := 1e303;
while x > eps do
begin
n := n + 1;
x := sqr(1 / n);
s := s + x
end;
s := s + 1 / n;
writeln(s, ', err=', s - sum);
end
end.

Сумму же быстро сходящегося ряда
S = Σ(n=0;∞)¹/(3n)!
надо вычислять так:
var eps, n, s, p: real;
begin
while true do
begin
write('ε = ');
readln(eps);
n := 0;
s := 1;
p := 1;
while p > eps do
begin
n := n + 3;
p := p / (n*(n-1)*(n-2));
s := s + p;
writeln(round(n/3), ' ', s: 20: 16)
end;
writeln('S = ', s);
end
end.

Мда, задание то другое. Но то ладно. но смысл, вот смотри ввели
Введите значение точности epsilon:
0.1
1.04545454545455 0.0454545454545455
Сумма ряда с точностью 0.1 равна 1.045455
Это значит, что сумма ряда 1.04±0.1 а по факту:
1.04545454545455 0.0454545454545455
1.07670454545455 0.03125
1.10051406926407 0.0238095238095238
1.11974483849484 0.0192307692307692
1.1358738707529 0.0161290322580645
1.14976275964179 0.0138888888888889
1.16195788159301 0.0121951219512195
1.1728274468104 0.0108695652173913
1.18263136837903 0.00980392156862745
1.1915599398076 0.00892857142857143
1.19975666111908 0.00819672131147541
1.20733241869483 0.00757575757575758
1.21437467221596 0.00704225352112676
1.22095361958438 0.00657894736842105
1.22712645909055 0.00617283950617284
1.23294041257893 0.00581395348837209
1.23843491807343 0.00549450549450549
1.24364325140677 0.00520833333333333
1.24859374645627 0.00495049504950495
1.25331072758835 0.00471698113207547
1.25781523209285 0.0045045045045045
1.26212557692044 0.00431034482758621
1.2662578083254 0.00413223140495868
1.27022606229365 0.00396825396825397
1.27404285618678 0.00381679389312977
1.27771932677501 0.00367647058823529
1.28126542606579 0.00354609929078014
1.28469008360004 0.00342465753424658
1.28800134187819 0.0033112582781457
За 30 циклов уже дошли до 1.28 :)
ВРЁТ КОД ВЫШЕ так как сумма там накапливающаяся и за 10000 будет уже
1.866612
Для 100 000 000 выходит
Сумма ряда равна 2.787639
Вот такая кривая для n=10000000000000000000000000000000000
(+1 добавить к этой сумме)
Введите значение точности epsilon:
0.1
1.04545454545455 0.0454545454545455
Сумма ряда с точностью 0.1 равна 1.045455
Это значит, что сумма ряда 1.04±0.1 а по факту:
1.04545454545455 0.0454545454545455
1.07670454545455 0.03125
1.10051406926407 0.0238095238095238
1.11974483849484 0.0192307692307692
1.1358738707529 0.0161290322580645
1.14976275964179 0.0138888888888889
1.16195788159301 0.0121951219512195
1.1728274468104 0.0108695652173913
1.18263136837903 0.00980392156862745
1.1915599398076 0.00892857142857143
1.19975666111908 0.00819672131147541
1.20733241869483 0.00757575757575758
1.21437467221596 0.00704225352112676
1.22095361958438 0.00657894736842105
1.22712645909055 0.00617283950617284
1.23294041257893 0.00581395348837209
1.23843491807343 0.00549450549450549
1.24364325140677 0.00520833333333333
1.24859374645627 0.00495049504950495
1.25331072758835 0.00471698113207547
1.25781523209285 0.0045045045045045
1.26212557692044 0.00431034482758621
1.2662578083254 0.00413223140495868
1.27022606229365 0.00396825396825397
1.27404285618678 0.00381679389312977
1.27771932677501 0.00367647058823529
1.28126542606579 0.00354609929078014
1.28469008360004 0.00342465753424658
1.28800134187819 0.0033112582781457
За 30 циклов уже дошли до 1.28 :)
ВРЁТ КОД ВЫШЕ так как сумма там накапливающаяся и за 10000 будет уже
1.866612
Для 100 000 000 выходит
Сумма ряда равна 2.787639
Вот такая кривая для n=10000000000000000000000000000000000
(+1 добавить к этой сумме)

program SumOfSeries;
var
S, term, epsilon: Real;
n: Integer;
begin
{ Вводим значение точности epsilon }
writeln('Введите значение точности epsilon:');
readln(epsilon);
{ Инициализируем переменные }
S := 1;
term := 1;
n := 2;
{ Вычисляем сумму ряда с заданной точностью }
while term > epsilon do
begin
term := 1 / (n * n);
S := S + term;
n := n + 1;
end;
{ Выводим результат }
writeln('Сумма ряда с точностью ', epsilon, ' равна ', S:0:6);
readln;
end.
var
S, term, epsilon: Real;
n: Integer;
begin
{ Вводим значение точности epsilon }
writeln('Введите значение точности epsilon:');
readln(epsilon);
{ Инициализируем переменные }
S := 1;
term := 1;
n := 2;
{ Вычисляем сумму ряда с заданной точностью }
while term > epsilon do
begin
term := 1 / (n * n);
S := S + term;
n := n + 1;
end;
{ Выводим результат }
writeln('Сумма ряда с точностью ', epsilon, ' равна ', S:0:6);
readln;
end.
Похожие вопросы
- вычислить ряд 1/2+1/3+1/4... с точностью 0,1 в Турбо Паскаль. срочно, пожалуйста помогите!!!
- Решите задачу! Дано целое число n найдите сумму 1^n +2^n-1 + 3^n-2 ...+n^1
- Определить число k, которое отсутствует в неупорядоченном массиве чисел (0, 1,...k-1,k+1,...n) за один цикл
- Excel В одной ячейке значение к примеру 20. Необходимо выполнить (1+2)^i+1 (i+1 должен продолжаться до 20 включ.)
- Помогите расположить в порядке убывания. 1024 бита, 1000 байтов, 1 бит, 1 байт, 1 Кбайт
- Работу программы проверить для a = 0,1; b = 1,0; h = 0,1; значение параметра n выбрать в зависимости от задания. Pascal
- Задан числовой массив A[1:m, 1:n]. Составить программу...
- Помогите!! C ++ Вводится число от 1...999. Вывести данное число на естественном языке. Например, 52 – пятьдесят два.
- Помогите найти алгоритм подбора множителей к числам заданного массива, сумма произведений которых равна заданному числу
- Алгоритм перестановок элементов числового ряда
Найти сумму числового ряда с заданной точность епсилон (вводится
пользователем): S = 1+1/3!+1/6!+1/9!+…