Imports System.Math
Public Class Form1
Function vvod(ByVal T As TextBox) As Double
Return Val(T.Text)
End Function
Sub vivod(ByVal T As TextBox, ByVal Z As Double)
T.Text = Z
End Sub
Sub vivodList(ByVal Z As Double, ByVal LB As ListBox)
LB.Items.Add(Format(Z, "0.0000"))
End Sub
Sub vivodint(ByVal Z As Integer, ByVal T As TextBox)
T.Text = CStr(Z)
End Sub
Public Function Fun(ByVal x As Double) As Double
Return CSng(1 / (x + 2 * PI) - Sin(x))
End Function
Public Sub RegCikl(ByVal a As Double, ByVal b As Double, ByVal h As Double, ByRef k As Double)
Dim i, n As Integer
Dim x, y As Double
n = CInt((b - a) / h + 1)
vivodint(n, TextBox4)
x = a: k = 0
For i = 1 To n
y = Fun(x)
If y > 0 Then k = k + y
vivodList(x, ListBox1): vivodList(y, ListBox2)
x = x + h
Next
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim a, b, h As Double
Dim kk As Double
a = vvod(TextBox1): b = vvod(TextBox2): h = vvod(TextBox3)
RegCikl(a, b, h, kk)
vivod(TextBox5, kk)
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
End
End Sub
End Class
Результат выполнения 1-го проекта
На Рис. 4 показан результат выполнения 1-го проекта
Рис. 4 Результат выполнения 1-го проекта
Реализация 2-го проекта
Задание на разработку задачи
Формализация и уточнения задания
Для решения задачи табуляции функции на заданных интервалах следует использовать алгоритмическую структуру регулярного типа, т.к. заданы начальные и конечные значения аргумента, а также шаги их изменения, то есть в этом случае можно заранее определить количество вычисленных значений.
Элементы разрабатываемого интерфейса