Вычисление суммы необычного ряда (6) - QBasic

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

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

Надо вычислить сумму 100 слагаемых f(1)^.07 + f(2)^.07 + ... + f(100)^.07 где f(i) - число Фибоначчи. Программа сосчитала и получила число 800.0099. В качестве ответа можно записать 800.01 Вопросы 1. Как можно решить иначе? 2. Можно ли сократить вычисления? Ведь тут числа Фибоначчи есть в каждом слагаемое. 3. Сложно ли понять программу? Что тут лишнее?

Решение задачи: «Вычисление суммы необычного ряда (6)»

textual
Листинг программы
var 
  count : integer := 0;
function f(n : integer; a, b : double) : double;
begin
  inc(count);
  if n <= 2 then result := a
  else result := f(n - 1, a+b, a);
end;
 
var s : double;
begin
  for var i := 1 to 100 do s := s + power(f(i, 1, 1), 0.07);
  writeln(s:0:3);
  writeln(count);
end.

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

  1. Объявлены три переменные: count, a и b типа integer и double соответственно, а также переменная s типа double.
  2. Переменная count инициализируется значением 0 и используется в качестве счетчика в цикле.
  3. Определена функция f(n; a, b) типа double, которая принимает три аргумента типа integer и double.
  4. Внутри функции происходит увеличение значения переменной count на 1.
  5. Если значение переменной n меньше или равно 2, то результатом работы функции становится значение переменной a.
  6. В противном случае, функция вызывает саму себя (f(n-1, a+b, a)), передавая в нее уменьшенное на 1 значение n и суммарное значение a и b, а также a в качестве аргументов.
  7. Результатом работы функции всегда является значение типа double.
  8. После определения функции, объявлен цикл for, который выполняет 100 итераций.
  9. На каждой итерации значение переменной s увеличивается на результат вычисления функции f(i, 1, 1), возведенный в степень 0.07.
  10. После завершения цикла, выводится значение переменной s до трех знаков после запятой и значение переменной count.

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


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

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

9   голосов , оценка 4 из 5
Похожие ответы