Найти сумму числового ряда - QBasic

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

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

Задан ряд 1 + 2/(3*4) + (5*6)/(7*8*9) + (10*11*12)/(13*14*15*16) + ... Всего 25 слагаемых (625 натуральных чисел) Алгоритм ряда очевиден. Найти сумму этого ряда Для решения задачи была использована формула 1 + 3 + 5 + ... (2n-1) = n2 Вопросы 1. Есть ли иное решение? 2. Я ходил около рекурсивного решения, но не нашел? 3. Изначально я хотел для этого ряда задать число натуральных чисел, из которых он состоит, но эта задача оказалась сложнее. И я решил задавать число слагаемых. Может это не так сложно, как я думаю? примечание Очевидно, что если слагаемых N, то число натуральных чисел N2

Решение задачи: «Найти сумму числового ряда»

textual
Листинг программы
DIM s AS DOUBLE, m AS DOUBLE, i AS LONG, j AS LONG, k AS LONG
s = 1
k = 1
FOR i = 1 TO 24
    m = 1
    FOR j = 1 TO i
        k = k + 1
        m = m * k / (k + i)
    NEXT j
    k = k + j
    m = m / k
    s = s + m
NEXT i
PRINT s

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

  1. Переменная s инициализируется значением 1.
  2. Переменная m инициализируется значением 1.
  3. Переменная i инициализируется значением 1.
  4. Переменная j инициализируется значением 1.
  5. Переменная k инициализируется значением 1.
  6. Запускается цикл FOR для переменной i от 1 до 24.
  7. Внутри цикла FOR переменной m присваивается значение 1.
  8. Запускается вложенный цикл FOR для переменной j от 1 до текущего значения переменной i.
  9. Внутри вложенного цикла FOR переменной k присваивается значение текущего значения переменной k + значение переменной j.
  10. Переменной m присваивается значение k * (k + i) / (k + i).
  11. Выполняется команда NEXT j, чтобы перейти к следующей итерации вложенного цикла.
  12. Значение переменной k увеличивается на значение переменной j.
  13. Переменной m присваивается значение m / k.
  14. Значение переменной s увеличивается на значение переменной m.
  15. Выполняется команда NEXT i, чтобы перейти к следующей итерации внешнего цикла.
  16. Значение переменной k увеличивается на значение переменной i.
  17. Переменной m присваивается значение 1.
  18. После завершения циклов выводится значение переменной s.

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

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