Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
45
Добавлен:
27.04.2015
Размер:
959.32 Кб
Скачать
(формула Герона),

4.3.6. Пример выполнения второй части задания

1. Тема и название работы:

Структура VB-программ и процедуры. Средства программирования алгоритмов линейной структуры – Вычисление периметра и площади треугольника по заданным координатам трех его вершин.

2. Задание на разработку проекта и вариант задания:

Создать приложение с именем Проект-4-3-Лаб, для вычисления периметра и площади треугольника по заданным координатам трех его вершин. То есть,

Задано: x1, y1; x2, y2; x3, y3– координаты вершин.

Требуется определить: Р – периметр треугольника, S – площадь треугольника.

Ограничения на значения исходных данных и их соотношения:

А>0, В>0, C>0, А+В>С, А+C>В, В+C>А одновременно.

3. Формализация и уточнение задания:

Для решения задачи существуют известные формулы:

Р = А + В + С;

S=

A= (x1 x2)2 + (y1 y2)2 ;

B= (x3 x2)2 + (y3 y2)2 ;

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. ЛР«СтруктураVB-программ и процедуры»

Страница 44

4.Разработка приложения

4.1.Разработать графический интерфейс пользователя

Форма приложения может иметь вид, представленный на рис. 4.3-6.

Рис. 4.3-6

4.2. Установка свойств объектов

Свойства всех объектов сведем в таблицу 4.3-3.

 

 

 

 

 

 

Таблица 4.3-3

 

Объект

 

Имя объекта

Свойство

 

Значение свойства

 

Форма

 

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 –

TextAlign

 

2 - Center

 

 

Label4, Label7– Label9

BackStyle

 

0 - Transparent

 

 

(клавиша <Shift> + мышь) и

Font

 

Arial, жирный, 12

 

 

установить одинаковые для

ForeColor

 

Черный

 

 

всехметок свойства

 

 

 

 

 

 

 

 

 

 

 

 

 

Метка

 

Label5

Text

 

Периметр треугольника

 

 

Метка

 

Label6

Text

 

Площадь треугольника

 

 

Выделить метки Label1,

TextAlign

 

2 - Center

 

 

Label5, Label6 и установить

 

 

 

 

BackColor (Palette)

Светло-серый

 

 

одинаковые для всех меток

Font

 

Arial, жирный курсив, 12

 

 

свойства

 

 

ForeColor

 

Темно-зеленый

 

 

Текстовое

 

TextBox1

Name

 

TextBox1

 

 

поле

 

 

Text

 

Пусто (стереть значение,

 

 

 

 

 

 

 

установленное “по умолчанию”).

 

Текстовое

 

TextBox2

Name

 

TextBox2

 

 

поле

 

 

Text

 

Пусто

 

 

Текстовое

 

TextBox3

Name

 

TextBox3

 

 

поле

 

 

Text

 

Пусто

 

Тема4.3. ЛР«СтруктураVB-программ

и процедуры»

 

 

Страница 45

 

Текстовое

 

TextBox4

Name

 

TextBox4

 

 

 

 

 

 

 

 

 

 

поле

 

 

 

Text

 

Пусто

 

Текстовое

 

TextBox5

 

Name

 

TextBox5

 

поле

 

 

 

Text

 

Пусто

 

Выделить

 

текстовые поля

 

TextAlign

 

2 — Center

 

TextBox1-TextBox8и устано-

 

 

 

 

 

 

 

 

 

Font

 

Arial, обычный, 12

 

вить одинак. свойства

 

Кнопка

 

Button1

 

Name

 

Button1

 

 

 

 

 

Text

 

ВЫЧИСЛИТЬ

 

Кнопка

 

Button2

 

Name

 

Button2

 

 

 

 

 

Text

 

ЗАВЕРШИТЬ

 

Выделить

кнопки Button1 и

 

Font

 

Arial, жирный, 12

 

Button2и установить

 

 

 

 

 

одинаковые свойства

 

 

 

 

 

 

 

 

 

 

 

 

4.3. Разработка схемы алгоритма

 

 

 

 

 

 

Процедура функция

 

 

ДлОтр( )

 

 

 

ДлОтр(x1, y1, x2, y2)

 

 

 

 

 

Входные параметры:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x1, y1, x2, y2

 

 

X=(x2-x1)2

 

 

 

Возвращаемое значение

 

 

Y=(y2-y1)2

 

 

 

 

 

 

 

 

 

 

ДлОтр

 

 

 

 

 

 

 

 

 

 

L=Sqrt(X+Y)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ДлОтр=L

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Конец

 

 

 

 

 

 

ДлОтр

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 4.3-7

PS( )

A=ДлОтр(х1,y1,x2,y2)

B=ДлОтр(х2,y2,x3,y3)

C=ДлОтр(х3,y3,x1,y1)

P=A+B+C

Pp=P/2

t1=Pp-A t2=Pp-B t3=Pp-C

S=Sqrt(Pp*t1*t2

*t3)

Конец

PS

Рис. 4.3.8

Процедура Sub

PS(х1,y1,x2,y2,x3,y3, P,S)

Входные параметры: x1, y1, x2, y2, x3, y3

Выходные параметры: P, S

4.4. Написание программного кода с использованием процедур

Программный код представлен на рис. 4.3-9.

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

точек

'Функция вычисления длины отрезка по координатам двух

Тема4.3. ЛР«СтруктураVB-программ и процедуры»

Страница 46

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-9

5. Выполнение приложения и получение результатов

Результат приведен на рис. 4.3-10.

.

Рис. 4.3-10

6.Доказательство правильности результата

 

 

 

 

B =

 

= 2

 

A =

(x1 x2)2 + (y1 y2)2

= 2.82843

(x3 x2)2 + (y3 y2)2

 

C =

 

= 2 Р = А + В + С = 6.828427; Рр = Р/2 =

3.414213

S=

 

 

= 2

 

 

 

 

.

 

 

 

 

 

 

Тема4.3. ЛР«СтруктураVB-программ и процедуры»

Страница 47

4.3.7. Контрольные вопросы по теме «Структура VB-программ, модули и процедуры. Средства программирования алгоритмов линейной структуры»

1.Что представляет собой математическая модель?

2.Какие основные этапы включает в себя решение задач на компьютере?

3.Какие этапы компьютерного решения задач осуществляются без участия компьютера?

4.Что называют математической моделью объекта или явления?

5.Из каких последовательных действий состоит процесс разработки программы?

6.Что называется алгоритмом?

7.Какими основными свойствами должен обладать алгоритм?

8.Какие существуют способы описания алгоритмов?

9.Какими графическими символами принято изображать в схемах алгоритма?

10.Как работает интерпретатор?

11.Как работает компилятор?

12.Какой алгоритм называется линейным?

13.Какой алгоритм называется циклическим?

14.Какой алгоритм называется разветвляющимся?

15.В чем отличие передачи результатов выполнения функций и процедур?

16.Доказывает ли получение правдоподобного результата правильность программы?

17.Какие ошибки могут остаться не выявленными, если не провести проверку (просмотр, прокрутку) программы?

18.Чем тестирование программы отличается от её отладки?

19.Можно ли с помощью тестирования доказать правильность программы?

20.На какой стадии работы над программой вычисляются эталонные результаты тестов?

21.Назовите основные этапы процесса тестирования.

22.В чём отличие синтаксических ошибок от семантических?

23.О чём свидетельствует отсутствие сообщений машины о синтаксических ошибках?

24.Какие разновидности ошибок транслятор не в состоянии обнаружить?

25.Что такое программа?

26.На каком этапе происходит поиск и устранение ошибок в программе?

27.Что такое система программирования?

28.Что такое процедура?

29.Какими преимуществами обладает программа, имеющая процедуры?

30.Какие средства процедурного программирования имеются в языке VB?

31.Каким образом происходит обмен данными между отдельными процедурами программы?

32.Что такое фактические и формальные параметры?

33.Каким образом передать в качестве параметра: константу, переменную, выражение?

34.Как используются глобальные переменные?

35.Как используются локальные переменные?

36.Что называется формальными параметрами?

37.Что называется фактическими параметрами?

38.Что происходит при вызове процедуры?

39.Каким образом параметры могут передаваться в процедуру?

40.Какие параметры передаются по значению?

41.Какие параметры передаются по адресу?

42.Что относится к средствам процедурного программирования?

43.Что является результатом выполнения функции?

44. Каким образом надо объявить отдельные переменные, чтобы внутри функции

они были

локальными?

Страница 48

Тема4.3. ЛР«СтруктураVB-программ и процедуры»

45.Какой оператор используется для досрочного выхода из функции?

46.Что контролируется при вызове функций и процедур?

47.Как необходимо объявить формальные параметры, чтобы передать параметр-переменную по значению?

48.Как необходимо объявить формальные параметры, чтобы передать параметр-переменную по адресу?

49.Каким образом осуществляется вызов процедуры-функции из вызывающей программы?

50.Что может быть результатом выполнения процедуры?

51.Какой оператор используется для досрочного выхода из процедуры?

52.Где могут находиться описания функций и процедур?

53.Где будет доступна переменная, объявленная с помощью оператора Public?

54.Где может находиться оператор Private?

55.Что такое комментарий и правила его записи?

56.Какие значения имеют переменные в начале программы?

57.Для чего описываются (определяются) процедуры и функции?

58.Как осуществляется вызов процедур?

59.Как осуществляется вызов функций?

Перейти кЛП 4.2 ЛП 4.4 Огл.

Тема4.3. ЛР«СтруктураVB-программ и процедуры»

Страница 49

Соседние файлы в папке ЛП-Раз-4-Инф-210700