Вычислить значения медиан треугольника, сторонами которого являются медианы исходного треугольника со сторонами a, b, c.
Назначение процедуры: Вычисление длины медианы, проведенной к стороне a:
ma=0.5*sqrt(2*b^2+2*c^2-a^2)
код:
Option Strict On
Option Explicit On
Imports System.Math
Public Class Form1
'Функция ввода координаты точки в Textbox
Function vvod(ByVal T As TextBox) As Single
Return CSng(Val(T.Text))
End Function
'Процедура вывода результата в TextBox
Sub vivod(ByVal Z As Single, ByVal T As TextBox)
T.Text = CStr(Z)
End Sub
'Функция вычисления длины отрезка по координатам двух точек
Public Function rasst(ByVal x1 As Single, ByVal y1 As Single, ByVal x2 As Single, ByVal y2 As Single) As Single
Return CSng(Sqrt((x1 - x2) ^ 2 + (y1 - y2) ^ 2))
End Function
'Процедура Вычисления длины медианы
' Может быть, легче функцией вычислять - код понятнее будет
Sub med(ByVal a As Single, ByVal b As Single, ByVal c As Single, ByRef m As Single)
m = CSng(0.5 * Sqrt(2 * b ^ 2 + 2 * c ^ 2 - a ^ 2))
End Sub
'Процедура обработки события нажатия на кнопку Button1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim a As Single, b As Single, c As Single
Dim ma As Single, mb As Single, mc As Single
'длины треугольника ( 1й, 3й, 5й TextBox - иксы, 2й, 4й, 6й TextBox -
a = rasst(vvod(TextBox1), vvod(TextBox2), vvod(TextBox3), vvod(TextBox4))
b = rasst(vvod(TextBox5), vvod(TextBox6), vvod(TextBox3), vvod(TextBox4))
c = rasst(vvod(TextBox1), vvod(TextBox2), vvod(TextBox5), vvod(TextBox6))
Call med(a, b, c, ma) 'Вычисление медианы для /а/ Может быть, слово Call не надо.
Call med(b, a, c, mb) 'Вычисление медианы для /b/ Может быть, слово Call не надо.
Call med(c, b, a, mc) 'Вычисление медианы для /c/ Может быть, слово Call не надо.
a = ma 'переприсваевание для второго треугльника сторонами которого являются медианы исходного треугольника (a, b, c)
b = mb
c = mc
'Снова вычисление медиан
Call med(a, b, c, ma) 'Вычисление медианы для /а/ Может быть, слово Call не надо.
Call med(b, a, c, mb) 'Вычисление медианы для /b/ Может быть, слово Call не надо.
Call med(c, b, a, mc) 'Вычисление медианы для /c/ Может быть, слово Call не надо.
'вывод в 3 textBoxa
vivod(ma, TextBox7)
vivod(mb, TextBox8)
vivod(mc, TextBox9)
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
End
End Sub
End Class
Как это будет выглядеть в конструкторе?