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

Sub PS(ByRef P As Single, ByRef S As Single)

P = (A + B + C) : Pp = P / 2

S = CSng(Sqrt(Pp * (Pp - A) * (Pp - B) * (Pp - C)))

End Sub

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

Dim P As Single, S As Single Dim A, B, C, Pp As Single

A=vvodSng3(TextBox1): B=vvodSng3(TextBox2):C=vvodSng3(TextBox3) PS(A, B, C, P, S)

vivodSng3(P, TextBox4) vivodSng3(S, 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.5. Перегрузка методов (процедур)

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

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

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

'Процедура вывода данных типа Double в TextBox

Sub vivodDbl1(ByVal Z As Double, ByVal T As TextBox)

T.Text = CStr(Z)

End Sub

'Процедура вывода данных типа Double функцией MsgBox

Sub vivodDbl2(ByVal Z As Double, _

ByVal S As String,ByVal T As TextBox)

T.Text = MsgBox(CStr(Z), S)

End Sub

Sub vivodSng3(ByVal Z As Single, ByVal T As TextBox)

T.Text = CStr(Z)

End Sub

Для вызова этих процедур использовались следующие операторы:

vivodDbl1(x1, TextBox1)

vivodDbl2(z, "Вывод значения z", TextBox1)

vivodSng3(S, TextBox5)

Тема4.3. СтруктураVb-программи процедуры Страница 112

При описании эти методы можно перегрузить, то есть присвоить им одно имя, Для этого необходимо использовать модификатор процедуры Overloads перед описанием процедур. Например,

'Процедура вывода данных типа Double в TextBox

Overloads Sub vivod (ByVal Z As Double, ByVal T As TextBox)

T.Text = CStr(Z)

End Sub

'Процедура вывода данных типа Double функцией MsgBox

Overloads Sub vivod (ByVal Z As Double, _

ByVal S As String,ByVal T As TextBox)

T.Text = MsgBox(CStr(Z), S)

End Sub

Overloads Sub vivod (ByVal Z As Single, ByVal T As TextBox)

T.Text = CStr(Z)

End Sub

Для вызова этих процедур использовались следующие операторы:

vivod(x1, TextBox1)

vivod(z, "Вывод значения z", TextBox1)

vivod(S, TextBox5)

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

Модификаторы, такие как ByVal или ByRef, которые применимы к элементу, или параметрам элемента.

Имена параметров

Возвращаемые типы процедур

Ключевое слово Overloads не обязательно при перегрузке, но, если некоторый перегруженный элемент использует ключевое слово Overloads, то все остальные перегруженные элементы с этим же именем также должны быть определены этим ключевым словом.

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

Тема4.3. СтруктураVb-программи процедуры

Страница 113

4.3.6. Задачи для самостоятельного решения по теме «Структура VB-программ и процедуры. Средства программирования алгоритмов

линейной структуры»

Написать программный код процедуры (процедуры-функции или процедурыподпрограммы) с соответствующими входными и выходными формальными параметрами для решения задач из п. 4.2.5 Темы 4.2. Причем в процедуре не должно быть ввода исходных данных и вывода результатов.

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

Тема4.3. СтруктураVb-программи процедуры

Страница 114

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

1.Алгоритм – это

1)перечень правил выполнения определенных действий

2)ориентированный граф, указывающий порядок исполнения некоторого набора команд

3)понятное и точное предписание исполнителю совершить последовательность действий, направленных на достижение поставленной цели

4)протокол компьютерной сети

2.Алгоритм называется линейным, если

1)его выполнение предполагает многократное повторение одних и тех же действий

2)ход его выполнения зависит от истинности тех или иных условий

3)его команды выполняются в порядке их естественного следования независимо от каких-либо условий

4)он включает в себя вспомогательный алгоритм

3.Программа – это

1)протокол взаимодействия компонентов компьютерной сети

2)понятное и точное предписание человеку совершить последовательность действий, направленных на достижение поставленных целей

3)ориентированный граф, указывающий порядок исполнения команд компьютера

4)алгоритм, записанный на языке программирования

5)набор команд операционной системы компьютера

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

1)выбора методики решения

2)постановки задачи

3)алгоритмизации

4)решения задачи с различными исходными данными

5)отладки программы

6)программирования

5.Процедура – это

1)последовательность логически связанных фрагментов программы, оформленная как отдельная часть программы специальным способом

2)последовательность отдельных фрагментов программы

3)последовательность только циклических фрагментов программы

4)последовательность только разветвляющихся фрагментов программы

6.Глобальные переменные – это

1) переменные, доступные во всех других процедурах и модулях без механизма передачи параметров

2)все переменные одной отдельной процедуры

3)все переменные всех используемых процедур

4)все переменные, описанные в модуле

5)в списке нет правильного ответа

7.Локальные переменные – это

Тема4.3. СтруктураVb-программи процедуры

Страница 115

1)все переменные с одинаковыми именами во всех процедурах

2)переменные только одной процедуры

3)переменные всех процедур

4)переменные, область видимости которых ограничена процедурой, в которой они описаны

8.Формальными параметрами называются

1)список передаваемых параметров, указанных в описании процедуры

2)список параметров, указанных в модуле программе

3)все переменные, используемые в процедуре

4)список передаваемых параметров, указанных при вызове процедуры

9.Формальные параметры являются для данной процедуры

1)глобальными

2)фактическими

3)локальными

4)формализованными

10.Формальные параметры определяют

1)имя и тип переменных

2)только имена переменных

3)только типы массивов

4)в списке нет правильного ответа

11.При вызове процедуры происходит замена формальных параметров

1)локальными

2)глобальными

3)статическими

4)фактическими

12.Фактические параметры – это

1)конкретные значения переменных, на которые заменяются формальные параметры

при обращении к процедуре

2)глобальные переменные

3)локальные переменные

4)статические переменные

13.Параметры могут передаваться в процедуру

1)только по значению

2)по значению или по ссылке

3)только по ссылке

4)любым образом

14.При передаче параметра по значению в процедуру передается

1)копия передаваемого параметра

2)адрес передаваемого параметра

3)адрес и значение передаваемого параметра

4)ничего не передается

15.По значению могут передаваться

Тема4.3. СтруктураVb-программи процедуры

Страница 116

1)входные параметры процедуры

2)выходные параметры процедуры

3)как входные, так и выходные параметры процедуры

4)только глобальные переменные

16.По ссылке могут передаваться

1)как входные, так и выходные параметры процедуры

2)только входные параметры процедуры

3)только выходные параметры процедуры

4)в списке нет правильного ответа

17.Изменение в процедуре значения параметра, передаваемого по значению

1)не приводит к изменению значения этого параметра в вызывающей процедуре

2)приводит к изменению значения этого параметра в вызывающей процедуре

3)приводит к изменению значений всех параметров вызывающей процедуры

4)в списке нет правильного ответа

18.К средствам процедурного программирования в VB относятся

1)процедуры-функции и процедуры-подпрограммы

2)процедуры-функции

3)процедуры-подпрограммы

4)процедуры-функции, процедуры-подпрограммы и событийные процедуры

19.Результатом выполнения функции является

1)скалярная величина

2)несколько скалярных величин

3)коллекция данных

4)коллекция данных и скалярные величины

20.Переменные, описанные внутри функций, являются

1)глобальными

2)локальными

3)статическими

4)фактическими

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

1)количество и тип аргументов, их порядок следования

2)количество аргументов, их порядок следования

3)порядок следования аргументов

4)количество и тип аргументов

22.Передача фактических параметров-выражений в процедуру и в процедуруфункцию производится

1)по значению

2)по ссылке

3)как по ссылке, так и по значению

4)в процедуру - по ссылке, в процедуру-функцию – по значению

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

Тема4.3. СтруктураVb-программи процедуры

Страница 117

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