Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
36
Добавлен:
07.06.2015
Размер:
6.3 Mб
Скачать

Лабораторная работа №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-приложение дает возможность пользователям ПК создавать свои приложения, решающие подобные задачи (например, следующая задача).

Соседние файлы в папке Пример оформ Лабор раб 1,2 сем