Написать программу, которая будет рассчитывать площадь треугольника по различным формулам - Visual Basic .NET
Формулировка задачи:
Такая задача: написать программу, которая будет рассчитывать площадь треугольника по различным формулам. Формулу расчёта пользователь будет выбирать из предложенных. Данные для расчёта вводит пользователь. На форме должен рисоваться треугольник.
Саму программу для рассчета написал. А вот как рисовать эти треугольники вообще понятия не имею. Вот код программы.
Решение задачи: «Написать программу, которая будет рассчитывать площадь треугольника по различным формулам»
textual
Листинг программы
Public Class MainForm Dim Pen1 As New Pen(Color.Red, 2) Dim Pen2 As New Pen(Color.Blue, 2) Dim Pen3 As New Pen(Color.Red, 1) Dim drawBrush As New SolidBrush(Color.Black) Dim drawFont As New Font("Arial", 7) ''' Процедура для построения математической системы координат Private Sub DrawMathLines(gfx As Graphics) gfx.Clear(Color.White) 'Печать шкал математической системы координат 'в компьютерной системе координат For x = -100 To 100 Step 50 gfx.DrawString(x, drawFont, drawBrush, x + 100, 105) Next x For y = 0 To 200 Step 50 gfx.DrawString(y - 100, drawFont, drawBrush, 80, 200 - y) Next y 'Преобразование компьютерной СК в математическую СК 'Поворот оси Y gfx.ScaleTransform(1, -1) 'Сдвиг по осям X и Y gfx.TranslateTransform(100, -100) 'Рисование осей 'Ось X gfx.DrawLine(Pen1, -150, 0, 150, 0) 'Ось Y gfx.DrawLine(Pen1, 0, -100, 0, 100) 'Засечки на оси X For x = -100 To 100 Step 10 gfx.DrawLine(Pen3, x, -5, x, 5) Next x 'Засечки на оси Y For y = -100 To 100 Step 10 gfx.DrawLine(Pen3, -5, y, 5, y) Next y End Sub Private Sub DrawGraph(gfx As Graphics) DrawMathLines(gfx) Dim x, y, x1, y1, x2, y2, x3, y3 As Integer Dim l1, l2, l3 As Integer If TextBox1.Text = "" And TextBox2.Text = "" And TextBox3.Text = "" _ And TextBox4.Text = "" And TextBox5.Text = "" And TextBox6.Text = "" Then MsgBox("Введите координаты") Else x1 = Val(TextBox1.Text) : y1 = Val(TextBox2.Text) x2 = Val(TextBox3.Text) : y2 = Val(TextBox4.Text) x3 = Val(TextBox5.Text) : y3 = Val(TextBox6.Text) gfx.DrawEllipse(Pen2, x1 - 2, y1 - 2, 4, 4) gfx.DrawLine(Pen2, x1, y1, x2, y2) gfx.DrawEllipse(Pen2, x2 - 2, y2 - 2, 4, 4) gfx.DrawLine(Pen2, x2, y2, x3, y3) gfx.DrawEllipse(Pen2, x3 - 2, y3 - 2, 4, 4) gfx.DrawLine(Pen2, x1, y1, x3, y3) End If ' Вычисление длин сторон треугольника l1 = Math.Sqrt((x2 - x1) ^ 2 + (y2 - y1) ^ 2) l2 = Math.Sqrt((x3 - x2) ^ 2 + (y3 - y2) ^ 2) l3 = Math.Sqrt((x3 - x2) ^ 2 + (y3 - y2) ^ 2) ' вычисление периметра Dim p = l1 + l2 + l3 Label1.Text = Str(p) ' Вычисление площади треугольника по формуле Герона p = p / 2 Dim s = Math.Sqrt((p - l1) * (p - l2) * (p - l3)) Label2.Text = Str(s) End Sub Private Sub MainForm_Paint(sender As Object, e As PaintEventArgs) Handles MyBase.Paint DrawGraph(e.Graphics) End Sub Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click Me.Invalidate() End Sub End Class
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д