Вычислить сумму выражения - Pascal ABC

Узнай цену своей работы

Формулировка задачи:

Здравствуйте. Решаю такую задачу: дано натуральное число n. Вычислить
Программу написал, только в ней есть где-то ошибка. если n=1 или 2 то программа работает хорошо, если значение переваливает за 3, то в вычисления не сходятся с вычислениям при n=2, то есть первая "сумма" считается правильно, а вторая нет. n=2
n=3
В чем может быть причина?

Решение задачи: «Вычислить сумму выражения»

textual
Листинг программы
var sum,p,f:real;
    k,i,n:integer;
begin
writeln('Ввести n');
readln(n);
sum:=0;
f:=1;
for k:=1 to n do
 begin
  f:=f*k;
  p:=1;
  for i:=0 to k do
  p:=p*(i+2);
  sum:=sum+(f+power(k,n-k+1))/(7*k*sqrt(k)+p);
  writeln('sum=',sum,' k=',k);
 end;
end.

Объяснение кода листинга программы

  1. Создаются переменные sum, p, f типа real и переменные k, i, n типа integer.
  2. Пользователю предлагается ввести значение переменной n.
  3. Инициализируются переменные sum и f значением 0 и 1 соответственно.
  4. Запускается цикл for, который выполняется n раз.
  5. Внутри цикла переменная f умножается на значение переменной k.
  6. Переменная p инициализируется значением 1.
  7. Запускается вложенный цикл for, который выполняется от 0 до k.
  8. Внутри вложенного цикла переменная p умножается на (i+2).
  9. Значение выражения (f+power(k,n-k+1))/(7ksqrt(k)+p) добавляется к сумме.
  10. Выводится значение суммы и значение переменной k.
  11. Цикл завершается.
  12. Программа завершается.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 4.222 из 5