Вычислить значения по разным формулам - VBA

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

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

Форумчане, помогите с программированием. Нужно прописать систему уравнений в vba , вроде все прописал, но в ответе вместо значение (z) выскакивает true, и когда корней нет, все равно указывает числовое значение для (y). Где у меня допущена ошибка? ( пытался скинуть файл экселя, но сайт пишет, что превышен допустимый размер для данного типа файлов) (Прописал ниже уже прописанное мной)
Листинг программы
  1. Sub L1()
  2. Dim a As Single, b As Single, c As Single, x As Single, d As Single
  3. a = CSng(InputBox("Ведите значение (а)"))
  4. b = CSng(InputBox("Ведите значение (b)"))
  5. c = CSng(InputBox("Ведите значение (c)"))
  6. x = CSng(InputBox("Ведите значение (x)"))
  7. d = CSng(InputBox("Ведите значение (d)"))
  8.  
  9. If Sqr(a * x + a) + d Then
  10. If Abs(x) < d Then Z = Sqr(a * x + 1) >= 0
  11. Else
  12. MsgBox ("Корней нет")
  13. End If
  14. If Sin(b * x + 1) >= -1 And Sin(b * x + 1) <= 1 Then
  15. If Abs(x) = d Then Z = Sin(b * x + 1) >= -1 And Sin(b * x + 1) <= 1
  16. Else
  17. MsgBox ("Корней нет")
  18. End If
  19. If Cos(c * x + 1) >= -1 And Cos(c * x + 1) <= 1 Then
  20. If Abs(x) = d Then Z = Cos(c * x + 1) >= -1 And Cos(c * x + 1) <= 1
  21. Else
  22. MsgBox ("Корней нет")
  23. End If
  24. y = Cos(Z) + Ln * (Z * a \ x)
  25. If x <> 0 Then
  26. Else
  27. MsgBox ("Корней нет")
  28. End If
  29. If (Z * a) \ x > 0 Then
  30. Else
  31. MsgBox ("Корней нет")
  32. End If
  33. MsgBox "y: " & y
  34. MsgBox "z: " & Z
  35. End Sub

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

textual
Листинг программы
  1. Sub L1()
  2.  
  3. Dim a As Double, b As Double, c As Double, x As Double, d As Double, Z As Double, y As Double
  4.  
  5. a = InputBox("Ведите значение (а)")
  6. b = InputBox("Ведите значение (b)")
  7. c = InputBox("Ведите значение (c)")
  8. x = InputBox("Ведите значение (x)")
  9. d = InputBox("Ведите значение (d)")
  10.  
  11. If Abs(x) < d Then
  12.   Z = Sqr(a * x + 1) + d
  13. ElseIf Abs(x) = 0 Then
  14.   Z = Sin(b * x + 1)
  15. Else
  16.   Z = b ^ 3 * Cos(c * x + 1)
  17. End If
  18.  
  19. y = Cos(Z) + Log(Z * a / x)
  20.  
  21. MsgBox "y: " & y & vbLf & "z: " & Z
  22.  
  23. End Sub

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


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

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

13   голосов , оценка 3.846 из 5

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

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

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