Найти сумму 10 членов ряда - Free Pascal
Формулировка задачи:
Привет, коллеги.
Математику изучал давно и неохотно, поэтому с изучением программирования возникают трудности. Вот одна из них. Загвоздка еще и в том, что учебник не содержит контрольных ответов. Чувствую, что написал криво. Прошу помощи бывалых.
Задание. Найти сумму 10 членов ряда, в котором
Мое решение:
Program iteration_test;
var n : longint; an,summa : real;
begin
summa:=0; n:=2; an:=1.149;
while n < 12 do
begin
summa:=summa+an;
n:=n+1;
an:=an*sqr(n)*ln((n+1)*(n+2))/ln(n*(n+1))*sqr(n+1);
end;
writeln('Сумма = ',summa:8:8);
end.Решение задачи: «Найти сумму 10 членов ряда»
textual
Листинг программы
Program iteration_test;
var f,sum : real;
n:integer;
begin
sum:=0;f:=1;n:=1;
while n <= 10 do
begin
f:=f*n;
sum:=sum+ln(f)/n/n;
n:=n+1;
end;
writeln('Сумма = ',sum:8:8);
end.
Объяснение кода листинга программы
- Объявлены три переменные: f, sum и n типа real и integer соответственно.
- Инициализированы переменные: sum = 0, f = 1 и n = 1.
- Задано условие цикла while, которое проверяет, что значение переменной n меньше или равно 10.
- Внутри цикла происходит следующее: a. Значение переменной f умножается на значение переменной n. b. Значение переменной sum увеличивается на значение логарифма по основанию e от f, деленное на n, n. c. Значение переменной n увеличивается на 1.
- После окончания цикла выводится значение переменной sum.