Читайте также:
|
|
Лабораторная работа №
Тема: «Вызов общей процедуры»
Задача: нахождение площади треугольника по координатам
Эскиз:
1 Программа:
Dim x1 As Single, y1 As Single, x2 As Single, y2 As Single, x3 As Single, y3 As Single, _
Площадь As Double, Счетчик As Integer
Private Sub Command1_Click()
Picture1.Refresh
Сетка 20, 20, RGB(200, 200, 200)
' Изображение и вычисление площади треугольника
' по трем точкам, помещенных в графическом поле:
Треугольник x1, y1, x2, y2, x3, y3, vbBlue
ПлТреугКоорд x1, y1, x2, y2, x3, y3, Площадь
Label8.Caption = Str(x1): Label9.Caption = Str(y1)
Label10.Caption = Str(x2): Label11.Caption = Str(y2)
Label12.Caption = Str(x3): Label13.Caption = Str(y3)
Label14.Caption = Str(Площадь)
'Изображение и вычисление площади треугольника
'по координатам трех точек, помещенных в текстовые поля:
x1 = Val(Text1.Text): y1 = Val(Text2.Text)
x2 = Val(Text3.Text): y2 = Val(Text4.Text)
x3 = Val(Text5.Text): y3 = Val(Text6.Text)
Треугольник x1, y1, x2, y2, x3, y3, vbRed
ПлТреугКоорд x1, y1, x2, y2, x3, y3, Площадь
Label23.Caption = Str(Площадь)
End Sub
Private Sub Form_Load()
MsgBox "С помощью мыши установите 3 точки " & _
"в графическом поле, а затем введите координаты 3 - х точек" & _
" с помощью текстовых полей в правой части формы", 64, _
"О том, что и как вводить...."
End Sub
Private Sub Form_Paint()
Picture1.Refresh
Сетка 20, 20, RGB(200, 200, 200) ' Изображение сетки светло - серого цвета
End Sub
Public Sub Сетка(nx As Integer, ny As Integer, c As Long)
ПлощадьТреугольникаF.Picture1.Scale (0, ny)-(nx, 0)
For X% = 1 To nx
ПлощадьТреугольникаF.Picture1.Line (X, 0)-(X, ny), c
Next X
For Y% = 1 To ny
ПлощадьТреугольникаF.Picture1.Line (0, Y)-(nx, Y), c
Next Y
End Sub
Private Sub Picture1_MouseDown(Button As Integer, _
Shift As Integer, X As Single, Y As Single)
If Счетчик = 0 Then
x1 = Int(X * 100) / 100: y1 = Int(Y * 100) / 100: Picture1.PSet (x1, y1)
Счетчик = Счетчик + 1
ElseIf Счетчик = 1 Then
x2 = Int(X * 100) / 100: y2 = Int(Y * 100) / 100: Picture1.PSet (x2, y2)
Счетчик = Счетчик + 1
Else
x3 = Int(X * 100) / 100: y3 = Int(X * 100) / 100: Picture1.PSet (x3, y3)
Счетчик = Счетчик - 2
End If
End Sub
Public Sub Треугольник(x1 As Single, y1 As Single, x2 As Single, y2 As Single, _
x3 As Single, y3 As Single, c As Long)
ПлощадьТреугольникаF.Picture1.Line (x1, y1)-(x2, y2), c
ПлощадьТреугольникаF.Picture1.Line (x1, y1)-(x3, y3), c
ПлощадьТреугольникаF.Picture1.Line (x3, y3)-(x2, y2), c
End Sub
Public Sub ПлТреугКоорд(x1 As Single, y1 As Single, x2 As Single, y2 As Single, _
x3 As Single, y3 As Single, Площадь As Double)
Площадь = Sqr(Abs(x1 * (y3 - y2) + x2 * (y1 - y3) + x3 * (y2 - y1)) / 2)
Площадь = Int(Площадь * 100) / 100
End Sub
Private Sub Выход_Click()
End
End Sub
Работа приложения
2.1 Установить три точки на графическом поле С помощью мышкию
2.2 Щелкнуть кнопку «Вычисление площади треугольника»
| |||
Дата добавления: 2015-11-26; просмотров: 53 | Нарушение авторских прав