- •Лабораторная работа по теме
- •4.3.3. Варианты задания
- •4.3.4. Содержание отчета
- •Для решения задачи существуют известные формулы:
- •4.3.6. Контрольные вопросы по теме «Структура vb-программ, модули и процедуры. Средства программирования алгоритмов линейной структуры»
- •Тема 4.3. Лр «Структура vb-программ и процедуры» Страница 46
4.3.4. Содержание отчета
Тема и название работы.
Задание на разработку проекта и вариант задания.
Формализация и уточнение задания.
Разработка проекта:
Графический интерфейс пользователя;
Таблица свойств объектов;
Схемы алгоритмов процедур пользователя;
Программный код с использованием процедур.
Результаты выполнения проекта.
Доказательство правильности работы программы.
4.3.5. Пример выполнения задания
Тема и название работы:
Структура VB-программ и процедуры. Средства программирования алгоритмов линейной структуры – Вычисление периметра и площади треугольника по заданным координатам трех его вершин.
Задание на разработку проекта и вариант задания:
Создать приложение с именем Проект-4-3-Лаб, для вычисления периметра и площади треугольника по заданным координатам трех его вершин. То есть,
Задано: x1, y1; x2, y2; x3, y3– координаты вершин.
Требуется определить: Р – периметр треугольника,
S – площадь треугольника.
Ограничения на значения исходных данных и их соотношения:
А>0, В>0, C>0, А+В>С, А+C>В, В+C>А одновременно.
Формализация и уточнение задания:
Для решения задачи существуют известные формулы:
Р = А + В + С;
S= (формула Герона),
A = ;
B = ;
C = .
где Рр = Р/2– полупериметр; A, B, C– стороны треугольника.
В соответствии с требованиями задания разобьем решение задачи на несколько отдельных задач и создадим процедуры пользователя, реализующие эти задачи:
процедуру-функцию Function ДлинаОтрезка( ),вычисляющую длину отрезка по координатам двух точек;
процедуру-подпрограмму Sub PS( ), вычисляющую периметр и площадь треугольника;
процедуру-функцию Function vvod( ) для ввода действительного числа из объекта типа TextBox;
процедуру-подпрограмму Sub vivod( ) длявывода действительного числа в объект типа TextBox.
Выбор типа процедуры(Function или Sub) определяется следующими критериями. Процедуры-функции Function предназначены для вычислений и могут быть частью выражения; результатом выполнения процедуры - Function является значение какой-либо одной величины числового, строкового или логического типа, которое функция возвращает или через свое имя, или оператором RETURN. Поэтому ДлинаОтрезка() и vvod() – это процедуры типа Function. Если же процедура должна вычислить и возвратить несколько величин (как PS() ), или просто выполнить определенные действия,не возвращая никаких значений(как vivod() ), то такую процедуру следует оформить как процедуру-Sub.
Разработка приложения
Разработать графический интерфейс пользователя
Форма приложения может иметь вид, представленный на рис. 4.3-1.
Рис. 4.3-1
Установка свойств объектов
Свойства всех объектов сведем в таблицу 4.3-2.
Таблица 4.3-2
Объект |
Имя объекта |
Свойство |
Значение свойства | ||
Форма
|
Form1 |
Name |
Form1 | ||
Text |
Тема 4.3.Вычисление периметра и площади треугольника. | ||||
BackColor (Palette) |
Светло-зеленый | ||||
Метка |
Label1 |
Text |
Введите значения … | ||
Метка |
Label2 |
Text |
X1 | ||
Метка |
Label3 |
Text |
Y1 | ||
Метка |
Label4 |
Text |
X2 | ||
Метка |
Label7 |
Text |
Y2 | ||
Метка |
Label8 |
Text |
X3 | ||
Метка |
Label9 |
Text |
Y3 | ||
ВыделитьметкиLabel2 – Label4, Label7– Label9 (клавиша <Shift> + мышь) и установить одинаковые для всехметок свойства |
TextAlign |
2 - Center | |||
BackStyle |
0 - Transparent | ||||
Font |
Arial, жирный, 12 | ||||
ForeColor |
Черный
| ||||
Метка |
Label5 |
Text |
Периметр треугольника | ||
Метка |
Label6 |
Text |
Площадь треугольника | ||
Выделить метки Label1, Label5, Label6 и установить одинаковые для всех меток свойства
|
TextAlign |
2 - Center | |||
BackColor (Palette) |
Светло-серый | ||||
Font |
Arial, жирный курсив, 12 | ||||
ForeColor |
Темно-зеленый | ||||
Текстовое поле
|
TextBox1
|
Name |
TextBox1 | ||
Text |
Пусто (стереть значение, установленное “по умолчанию”). умолчанию") | ||||
Текстовое поле
|
TextBox2
|
Name |
TextBox2 | ||
Text |
Пусто | ||||
Текстовое поле
|
TextBox3
|
Name |
TextBox3 | ||
Text |
Пусто | ||||
Текстовое поле
|
TextBox4
|
Name |
TextBox4 | ||
Text |
Пусто | ||||
Текстовое поле
|
TextBox5
|
Name |
TextBox5 | ||
Text |
Пусто | ||||
Выделить текстовые поля TextBox1-TextBox8и устано-вить одинак. свойства |
TextAlign |
2 — Center | |||
Font |
Arial, обычный, 12 | ||||
Кнопка
|
Button1
|
Name |
Button1 | ||
Text |
ВЫЧИСЛИТЬ | ||||
Кнопка
|
Button2
|
Name |
Button2 | ||
Text |
ЗАВЕРШИТЬ | ||||
Выделить кнопки Button1 и Button2и установить одинаковые свойства
свойства |
Font |
Arial, жирный, 12 |
Разработка схемы алгоритма
|
Рис. 4.3-2 Рис. 4.3.3
Написание программного кода с использованием процедур
Программный код представлен на рис. 4.3-4.
Option Strict On Option Explicit On Imports System.Math
Public Class Form1
'Функция ввода координаты точки в TextBox Function vvod(ByVal T As TextBox) As Single Return CSng(Val(T.Text)) End Function
'Процедура вывода результата в TextBox Sub vivod(ByVal Z As Single, ByVal T As TextBox) T.Text = CStr(Z) End Sub 'Функция вычисления длины отрезка по координатам двух точек Public Function ДлинаОтрезка(ByVal x1 As Single, _ ByVal y1 As Single, ByVal x2 As Single, _ ByVal y2 As Single) As Single Return CSng(Sqrt((x2 - x1) ^ 2 + (y2 - y1) ^ 2)) End Function 'Процедура вычисления периметра и площади треугольника Sub PS(ByVal x1 As Single, ByVal y1 As Single, _ ByVal x2 As Single, ByVal y2 As Single, _ ByVal x3 As Single, ByVal y3 As Single, _ ByRef P As Single, ByRef S As Single) Dim A, B, C, Pp As Single A = ДлинаОтрезка(x1, y1, x2, y2)'Вызов ф-ции выч-я дл.отр. B = ДлинаОтрезка(x2, y2, x3, y3) C = ДлинаОтрезка(x3, y3, x1, y1) P = (A + B + C) : Pp = P / 2 S = CSng(Sqrt(Pp * (Pp - A) * (Pp - B) * (Pp - C))) End Sub 'Процедура обработки события нажатия на кнопку Button1 Private Sub Button1_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles Button1.Click Dim x1 As Single, x2 As Single, x3 As Single Dim y1 As Single, y2 As Single, y3 As Single Dim Пер As Single, Пло As Single x1 = vvod(TextBox1) : x2 = vvod(TextBox2) : x3 = vvod(TextBox3) y1 = vvod(TextBox6) : y2 = vvod(TextBox7) : y3 = vvod(TextBox8) PS(x1, y1, x2, y2, x3, y3, Пер, Пло) vivod(Пер, TextBox4) : vivod(Пло, TextBox5) End Sub
Private Sub Button2_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles Button2.Click End End Sub End Class |
Рис. 4.3-4
Выполнение приложения и получение результатов
Результат приведен на рис. 4.3-5.
.
Рис. 4.3-5
Доказательство правильности результата
A = = 2.82843
B = =2
C = = 2
Р = А + В + С = 6.828427; Рр = Р/2 = 3.414213
S= = 2
.