- •Лабораторная работа №1.
- •Лабораторная работа №2
- •Лабораторная работа №3
- •Лабораторная работа №4
- •Лабораторная работа № 5
- •Лабораторная работа №6
- •Лабораторная работа №7
- •Лабораторная работа №8
- •Лабораторная работа №9
- •Лабораторная работа №10
- •Лабораторная работа №11
- •Лабораторная работа №12
- •Лабораторная работа №13
- •Лабораторная работа №14
- •Лабораторная работа №15
- •Математическая постановка задачи
- •Лабораторная работа №16
- •Лабораторная работа №17
Лабораторная работа №10
Создать приложение: «Определение площади треугольника», позволяющее строить треугольник по точкам, координаты которых задаются в текстовых окнах или с помощью щелчков мыши в графическом поле вывода, и вычислить площадь построенного треугольника. В программном кодеиспользовать общие процедуры (подпрограммы).
Решение:
Расставим имена объектов на эскизе экранной формы.
Строим с помощью инструментов Toolboxобъектына экранной формеForm1в соответствии с эскизом проекта и пишемпрограммный код.
Программный код
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 Command2_Click()
End
End Sub
Private Sub Form_Load()
MsgBox "С помощью мыши установите 3 точки " & _
"в графическом поле , а затем введите координаты 3 - х точек" & _
" с помощью текстовых полей в правой части формы", 64, _
"О том, что и как вводить...."
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 = CInt(X * 10) / 10: y1 = CInt(Y * 10) / 10: Picture1.PSet (X, Y)
Счетчик = Счетчик + 1
ElseIf Счетчик = 1 Then
x2 = CInt(X * 10) / 10: y2 = CInt(Y * 10) / 10: Picture1.PSet (X, Y)
Счетчик = Счетчик + 1
Else
x3 = CInt(X * 10) / 10: y3 = CInt(X * 10) / 10: Picture1.PSet (X, Y)
Счетчик = Счетчик - 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((x1 * (y3 - y2) + x2 * (y1 - y3) + x3 * (y2 - y1)) / 2)
Площадь = CInt(Площадь * 100) / 100
End Sub
Ответ
После запуска приложения появится окно сообщения с текстом
После ввода мышью исходных данных в полеPicture1 и щелчка по кнопке«Вычисление площади треугольника» будет построен треугольник, кроме того в окнах надписей появятся координаты углов и площадь треугольника
Вывод:
Приведенное Windows-приложение дает возможность пользователям ПК создавать свои приложения, решающие подобные задачи (например, следующая задача).