Метод половинного деления, ошибка кода - VBA

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

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

Добрый день, сломал всю голову - но не работает код, выдает ошибку - деление на ноль, все переменные указал. Ткните пальцем - где ошибка. Код:
Листинг программы
  1. Sub lab6()
  2. Dim x1, x2, f, E As Double
  3. Pa = Range("C7").Value
  4. Pb = Range("C8").Value
  5. Tt = Range("C9").Value
  6. Ra = Range("C10").Value
  7. Rb = Range("C11").Value
  8. E = Range("C12").Value
  9. x1 = Ra: x2 = Rb
  10. If Fun(x1) * Fun(x2) > 0 Then
  11. MsgBox "Функция в интревале (" & x1 & " - " & x2 & ") знака не меняет"
  12. Exit Sub
  13. End If
  14. Metka:
  15. Rc = (x1 + x2) / 2
  16. f = Fun(Rc)
  17. If Abs(f) <= E Then
  18. Range("B15").Value = Rc
  19. Range("B16").Value = f
  20. Exit Sub
  21. End If
  22. If f * Fun(x1) < 0 Then x2 = Rc Else x1 = Rc
  23. GoTo Metka
  24. End Sub
  25. Function Fun(Rc) As Double
  26. Fun = (Pa - Pb) / Tt - 2 * Log(Rc / x1) - 1 + (Rc / x2) ^ 2
  27. End Function

Решение задачи: «Метод половинного деления, ошибка кода»

textual
Листинг программы
  1. Option Explicit
  2. Dim x1 As Double, x2 As Double, f As Double, E As Double
  3. Dim pa As Double, pb As Double, tt As Double
  4. Dim ra As Double, rb As Double, RC As Double
  5.  
  6. Sub lab6()
  7. pa = Range("C7").Value
  8. pb = Range("C8").Value
  9. tt = Range("C9").Value
  10. ra = Range("C10").Value
  11. rb = Range("C11").Value
  12. E = Range("C12").Value
  13.  
  14. x1 = ra: x2 = rb
  15.  
  16. If Fun(x1) * Fun(x2) > 0 Then
  17. MsgBox "Функция в интревале (" & x1 & " - " & x2 & ") знака не меняет"
  18. Exit Sub
  19. End If
  20.  
  21. Metka:
  22. RC = (x1 + x2) / 2
  23. f = Fun(RC)
  24. If Abs(f) <= E Then
  25. Range("B15").Value = RC
  26. Range("B16").Value = f
  27. Exit Sub
  28. End If
  29.  
  30. If f * Fun(x1) < 0 Then x2 = RC Else x1 = RC
  31. GoTo Metka
  32.  
  33. End Sub
  34.  
  35. Function Fun(RC) As Double
  36. Fun = (pa - pb) / tt - 2 * Log(RC / x1) - 1 + (RC / x2) ^ 2
  37. End Function

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


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

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

14   голосов , оценка 4 из 5

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

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

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