Не знаю как развязать арифметическую и геометрическую прогрессию. - VB

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

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

пользователем задана последовательность трех чисел K1, K2, K3. Если они образуют арифметическую или геометрическую прогрессию , найти сумму всех ее членов с номерами от N до M : Kn + Kn+1 + Kn+2 + ... + Km-1 + Km. натуральные числа N и M задаются пользователем (M>=N>=1) Помогите решить. Очень нужно.

Решение задачи: «Не знаю как развязать арифметическую и геометрическую прогрессию.»

textual
Листинг программы
  1. Option Explicit
  2.  
  3. Private Sub Form_Load()
  4.     Dim k1 As Double, k2 As Double, k3 As Double
  5.     Dim m  As Long, n  As Long, q  As Double
  6.     Dim it As Double, s  As Double
  7.    
  8.     k1 = InputBox("k1", vbNullString, "0")
  9.     k2 = InputBox("k2", vbNullString, "1")
  10.     k3 = InputBox("k3", vbNullString, "2")
  11.     n = InputBox("n", vbNullString, "1")
  12.     m = InputBox("m", vbNullString, "2")
  13.    
  14.     n = n - 1
  15.    
  16.     If k2 - k1 = k3 - k2 Then
  17.         ' Арифметическая
  18.        q = k2 - k1
  19.         s = (2 * k1 + (n - 1) * q) * n / 2
  20.         s = (2 * k1 + (m - 1) * q) * m / 2 - s
  21.     ElseIf k2 / k1 = k3 / k2 Then
  22.         ' Геометрическая
  23.        q = k2 / k1
  24.         s = (k1 * (1 - (q ^ n))) / (1 - q)
  25.         s = (k1 * (1 - (q ^ m))) / (1 - q) - s
  26.     Else
  27.         ' Просто набор чисел
  28.        MsgBox "Не является прогрессией"
  29.         Exit Sub
  30.     End If
  31.    
  32.     MsgBox "Сумма = " & s
  33.    
  34. End Sub

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


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

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

10   голосов , оценка 3.9 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы