Создание программы для вычисления площади геометрических фигур в среде Visual Basic

Курсовой проект - Компьютеры, программирование

Другие курсовые по предмету Компьютеры, программирование

·воляет нескольким классам, имеющим различные имена, обращаться к одним и тем же методам и свойствам.

Например, если для всех людей, занимающихся делом, выполняется метод работать, можно написать процедуру таким образом, чтобы она относилась к любым из этих объектов, не заботясь о типе каждого из них. На приведенной ниже схеме представлен метод работать, предназначенный для двух объектов, созданный на базе двух различных классов:

 

Рисунок 2 - Схема метода "работать"

 

То есть полиморфизмом называется свойство объектов переопределять методы наследуемого класса и корректно их использовать.

Инкапсуляция позволяет объединять данные с методами в одном классе. Так же инкапсуляция позволяет ограничивать доступ к данным объектов и реализации методов классов. Исходя из списка аргументов, переданного методу, и возвращаемого им значения, компилятор автоматически определяет, какой из методов нужно вызвать. На следующей схеме приведен класс, содержащий 4 перезагружаемых определения метода работать.

 

Рисунок 3 - Класс "персонал"

 

Инкапсуляция позволяет упростить определение класса за счет использования одного метода для решения определенного типа задач. Таким образом, программисты могут использовать готовые классы в своих приложениях на основе только описания этих классов.

Визуальное программирование. Сегодня технологии объектного программирования объединены в RAD-системах, которые содержат множество готовых классов, представленных в виде визуальных компонентов, которые добавляются в программы одним щелчком мыши. Весь вспомогательный исходный код среда сгенерирует сама. Программисту надо только скооперировать внешний вид окон своего приложения и определить обработку основных событий - какие операторы будут выполняться при нажатии на кнопки, при выборе пунктов меню или щелчком мыши.

Благодаря этому, программист может сосредоточиться только на реализации алгоритма поставленной задачи.

Постановка задачи работы. Требуется вычислить площади геометрических фигур из заданного множества фигур, указанных ниже, по расчетным формулам вычисления их площадей на языке Visual Basic.

Конкретное множество геометрических фигур:

. Круг:

 

.

 

Следовательно, функция зависит от одной переменной R.

. Прямоугольник:

 

.

 

Следовательно, функция зависит от двух переменных A, h.

. Трапеция:

 

.

 

Следовательно, функция зависит от трех переменных A, B, h.

 

1. Методика решения поставленной задачи

 

В программе для вычисления площадей геометрических фигур я применила метод полиморфизм, то есть программировала, используя полиморфную функцию.

Полиморфной называется функция, независимо определенная в каждом из группы производных классов и имеющая в них общее имя.

Полиморфная функция обладает тем свойством, что при отсутствии полной информации о том, объект какого из производных классов в данный момент обрабатывается, она, тем не менее, корректно вызывается в том виде, в каком она была определена для данного конкретного класса.

Таким образом, посылается общее сообщение о сборе данных любому классу, причем и родительский класс, и классы-потомки ответят на сообщение соответствующим образом, поскольку произвольные классы содержат дополнительную функцию.

Например, при нажатии кнопок или Круг, или Прямоугольник, или Трапеция, вызывается функция PL, которая и рассчитывает площади фигур.

 

Рисунок 4 - Блок-схема алгоритма

 

Рисунок 5 - Форма в терминах элемента управления

2. Текст программы

Class Form1

Public obj As New Figure

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

TextBox1.Text = " "

TextBox2.Text = " "

TextBox3.Text = " "

Label7.Text = " "

Label8.Text = " "

End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

Dim R, S As Integer

R = Val(TextBox1.Text)

If R < 0 Then

Label7.Text = "Ошибка"

Label8.Text = "Ошибка"

Else : S = obj.PL(R)

Label7.Text = CStr(S)

Label8.Text = "Круг"

End If

End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

Dim A, h, S As Integer

A = Val(TextBox1.Text)

h = Val(TextBox2.Text)

If A < 0 Or h < 0 Then

Label7.Text = "Ошибка"

Label8.Text = "Ошибка"

Else : S = obj.PL(A, h)

Label7.Text = CStr(S)

Label8.Text = "Прямоугольник"

End If

End SubSub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click

Dim A, h, B, S As Integer

A = Val(TextBox1.Text)

B = Val(TextBox2.Text)

h = Val(TextBox3.Text)

If A < 0 Or B < 0 Or h < 0 Then

Label7.Text = "Ошибка"

Label8.Text = "Ошибка"

Else : S = obj.PL(A, B, h)

Label7.Text = CStr(S)

Label8.Text = "Трапеция"

End If

End SubClassClass Figure

Public Function PL(ByVal R As Double) As Double

Return (Math.PI * R * R)

End Function

Public Function PL(ByVal A As Double, ByVal h As Double) As Double

Return (A * h)

End Function

Public Function PL(ByVal A As Double, ByVal B As Double, ByVal h As Double) As Double

Return ((A + B) * h / 2)

End FunctionClass

 

Рисунок 6 - Экранная форма

 

3. Руководство пользователя

 

Программа Вычисление геометрических площадей запускается двойным щелчком левой мыши по ярлыку, после чего на экран выводится окно со списком фигур, для которых вычисляется площадь:

Радиус, длина сторон и высота прямоугольника и трапеции задаются в верхнем, среднем и нижнем полях под фразой Ввести числа:.

Для того чтобы рассчитать площадь круга, необх?/p>