- •____________________________________________________________
- •Задачи, решения и ответы
- •3. Программный код
- •4. Ответ
- •2. Программный код
- •3. Ответ
- •2. Программный код
- •2. Ответ
- •2. Программный код
- •3. Ответ
- •2. Программный код
- •3. Ответ
- •2. Программный код
- •3. Ответ
- •2. Программный код
- •3. Ответ
- •4. Ответ
- •2. Программный код :
- •5. Ответ
- •2. Программный код :
- •3. Ответ
- •2. Программный код
- •3. Ответ
- •2. Программный код
- •3. Ответ
- •2. Программный код
- •2. Программный код
- •3. Ответ
- •2. Программный код
- •3. Ответ
- •2. Программный код
- •3. Ответ
- •2. Программный код
- •3. Ответ
- •2. Программный код
- •3. Ответ
- •2. Программный код
- •3. Ответ:
- •2. Программный код
- •4. Программный код
- •5. Ответ
- •Литература
2. Программный код :
Private Sub b_Click()
If Op1.Value = True Then
Sh1.FillColor = b.BackColor
Else Sh1.BorderColor = b.BackColor
End if
End Sub
Private Sub bl_Click()
If Op1.Value = True Then
Sh1.FillColor = bl.BackColor
Else Sh1.BorderColor = bl.BackColor
End IF
End Sub
Private Sub Ch1_Click()
Call pr
End Sub
Private Sub g_Click()
If Op1.Value = True Then
Sh1.FillColor = g.BackColor
Else Sh1.BorderColor = g.BackColor
End IF
End Sub
Private Sub O1_Click()
Call pr
End Sub
Private Sub o2_Click()
Call pr
End Sub
Private Sub o3_Click()
Call pr
End Sub
Private Sub o4_Click()
Call pr
End Sub
Private Sub pr()
If Ch1.Value = 1 Then
If o1.Value = True Then Sh1.Shape = 5
If o2.Value = True Then Sh1.Shape = 3
If o3.Value = True Then Sh1.Shape = 2
If o4.Value = True Then Sh1.Shape = 4
Else
If o1.Value = True Then Sh1.Shape = 1
If o2.Value = True Then Sh1.Shape = 3
If o3.Value = True Then Sh1.Shape = 2
If o4.Value = True Then Sh1.Shape = 0
End If
End Sub
Private Sub r_Click()
If Op1.Value = True Then
Sh1.FillColor = r.BackColor
Else Sh1.BorderColor = r.BackColor
End if
End Sub
Private Sub w_Click()
If Op1.Value = True Then
Sh1.FillColor = w.BackColor
Else Sh1.BorderColor = w.BackColor
End if
End Sub
Private Sub y_Click()
If Op1.Value = True Then
Sh1.FillColor = y.BackColor
Else Sh1.BorderColor = y.BackColor
End if
End Sub
3. Ответ
Вывод:
Приведенное Windows-приложение дает возможность пользователям ПК создавать свои приложения, решающие подобные задачи.
Задача №11
Создать приложение «Определение площади треугольника», позволяющее строить треугольник по точкам, координаты которых задаются в текстовых окнах или с помощью щелчков мыши в графическом поле вывода, и вычислить площадь построенного треугольника. В программном коде использовать общие процедуры (подпрограммы).
Решение:
Эскиз экранной формы представлен на рис. 1
1. Расставим имена объектов на эскизе экранной формы.
Рис. 1.
Строим с помощью инструментов Toolbox объекты на экранной форме Form1 в соответствии с эскизом проекта и пишем программный код.
2. Программный код
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
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 = 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