Advertisement
Guest User

Untitled

a guest
Mar 25th, 2019
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.77 KB | None | 0 0
  1. Imports System.Math
  2. Public Class Form1
  3.  
  4. Sub f_reg(ByVal n2 As Integer, ByVal x As Single, ByVal y As Single, ByVal h2 As Single)
  5. 'локальная переменная процедуры для вычисления функции
  6. Dim z As Double
  7.  
  8. 'в этом цикле проходим по заданному интервалу значений у с шагом h2 (с постоянным значением х)
  9. For i = 1 To n2
  10. z = y + E ^ (-x) + 2.8 * x ^ 2 - x 'вычисляем значение функции
  11. 'выводим на экран значения x,y,z
  12. ListBox1.Items.Add(Str(x))
  13. ListBox2.Items.Add(Str(y))
  14. ListBox3.Items.Add(Str(z))
  15. 'увеличиваем значение у на величину шага h2
  16. y = y + h2
  17. Next
  18. End Sub
  19.  
  20. 'функция расчета количества шагов в интервале
  21. Function f_zikl(ByVal a As Single, ByVal b As Single, ByVal h As Single) As Integer
  22. Return CInt(Fix((b - a) / h) + 1)
  23. End Function
  24.  
  25. 'процедура для вывода какого-либо значения в текстбокс
  26. Sub vivod(ByVal W As Single, ByRef T As TextBox)
  27. T.Text = CStr(W)
  28. End Sub
  29.  
  30. 'функция считывания из текстбокса какого-либо значения
  31. Function vvod(ByVal T As TextBox) As Single
  32. Return CSng(Val(T.Text))
  33. End Function
  34.  
  35. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
  36.  
  37. Dim a, b, h1, x, c, d, h2, y As Single
  38. Dim n1, n2 As Integer
  39.  
  40. 'вводим значения переменных
  41. a = vvod(TextBox1)
  42. b = vvod(TextBox2)
  43. h1 = vvod(TextBox3)
  44. c = vvod(TextBox4)
  45. d = vvod(TextBox5)
  46. h2 = vvod(TextBox6)
  47.  
  48. 'если шаг для одного из интервалов равен 0, то выдаем сообщение
  49. If h1 = 0 Or h2 = 0 Then
  50. MsgBox("Шаг не может равняться нулю")
  51. Else
  52. 'расчитываем ко-во шагов для значений у и х
  53. n1 = f_zikl(a, b, h1)
  54. n2 = f_zikl(c, d, h2)
  55. 'присваиваем х и у начальные значения
  56. x = a
  57. y = c
  58. 'выводим количество шагов в текстбоксы
  59. vivod(n1, TextBox7)
  60. vivod(n2, TextBox8)
  61.  
  62. 'в этом цикле проходим по заданному интервалу значений х с шагом h1
  63. For i = 1 To n1
  64. 'внутри цикла запускаем процедуру расчитывающую значение функции, проходя по интервалу значений у
  65. f_reg(n2, x, y, h2)
  66. x = x + h1
  67. y = c
  68. Next
  69. End If
  70.  
  71. End Sub
  72.  
  73. 'закрываем программу
  74. Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
  75. Me.Close()
  76. End Sub
  77.  
  78. 'очистка элементов формы
  79. Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
  80. TextBox1.Clear()
  81. TextBox2.Clear()
  82. TextBox3.Clear()
  83. TextBox4.Clear()
  84. TextBox5.Clear()
  85. TextBox6.Clear()
  86. TextBox7.Clear()
  87. TextBox8.Clear()
  88. ListBox2.Items.Clear()
  89. ListBox1.Items.Clear()
  90. ListBox3.Items.Clear()
  91. End Sub
  92. End Class
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement