21
Февраль
2010
Вычислить значения медиан треугольника
Вычислить значения медиан треугольника
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