ТОП 10:

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



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

Пример. Вычислить

Фрагмент программного кода:

Option Explicit'Включение режима, при котором запрещается использовать

'необъявленные переменные

Dimx() As Integer 'Описание динамического массива a

Dim y() As Integer'Описание динамического массива b

Dim n As Integer

'Процедура заполнения массива m0, m1, …,mn-1 случайными числами из промежутка [a,b].

'Формальные параметры: промежуток [а,b], n – количество элементов массива,

'm - массив

Private Sub Vd(a As Integer,b As Integer,nAs Integer,m)

Dim i As Integer

Randomize

Text2.Text = "" 'Очистка текстового окна Text2

For i = 0 To n – 1 'Перебор элементов

' Заполнение массива случайными числами из промежутка[a,b]

m(i) = Int((b - a + 1) * Rnd + a)

'Вывод элементов массива в текстовое поле Text2

Text2.Text = Text2.Text + " " + Str(m(i))

Next i

End Sub

'Функция вычисления суммы n элементов массива m.

'Формальные параметры: n – количество элементов массива,m - массив

Private Function Sum(n As Integer, m) As Integer

Dim i As Integer

Sum = 0

For i = 0 To n - 1

Sum = Sum + m(i)

Next i

End Function

 

Private Sub Command1_Click()

Dim i As Integer

n = Val(Text1.Text) 'Количество элементов массивов

ReDim a(n) 'Задание количества элементов массива a

ReDim b(n) ' Задание количества элементов массива b

'Обращение к процедуре. Фактические параметры: промежуток [-10,10], n – количество 'элементов массива, x - массив

Vd -10, 10, n, x

Vd -5, 5, n, y

'Вычисление значения результата. Sum(n, a) – обращение к функции. Фактические 'параметры: n – количество 'элементов массива, a - массив

Text3.Text = Str(Sum(n, x)* Sum(n, y) / (Sum(n, x)+

Sum(n, y)))

End Sub

Здесь дважды вызывается процедура

Vd(a As Integer,b As Integer,n As Integer, x)

заполнения массива случайными числами. Первый раз в нее передаются фактические значения для формальных параметров a, b и n соответственно равные –10, 10, n, при этом результат сохраняется как значение переменной массива x. Во второй раз передаются значения параметров –5, 5, n, а результат сохраняется как значение переменной массива y. Функция Sum(n As Integer, x) As Integer вызывается в операторе присваивания при вычислении искомого значения S.

Данные строкового типа

В реальных задачах часто встречаются объекты символьного типа – строки. Строка трактуется как последовательность символов. В состав строки могут входить буквы латинского алфавита, кириллица, цифры, всевозможные знаки, скобки, пробел и др. Каждый символ строки занимает 1 байт памяти (десятичный код от 0 до 255, зафиксированный в кодовой таблице ASCII).

Фрагмент таблицы символьной кодировки ASCII

Количество символов в строке называется ее длиной. Пустая строка имеет нулевую длину.

Строковая константа – последовательность символов, заключенных в двойные кавычки. Например:

”Это строковая константа”, ”123”.

Таким образом, при использовании в выражениях строка обязательно заключается в кавычки.

Два следующих друг за другом апострофа (””), обозначают пустую строку, т.е. строку с нулевой длиной.

Различают строки переменной и фиксированной длины. Строки переменной длины могут иметь длину до 2 Гбайт. Когда такой переменной присваивается значение, то размер переменной изменяется так, чтобы он соответствовал длине присвоенного строкового значения. Строка фиксированной длины – это строка постоянного размера, указанного при объявлении переменной. Если такой строке присваивается более длинное значение, то лишние символы отбрасываются, а если более короткое значение, то оставшееся справа место заполняется пробелами. Строковые переменные фиксированной длины должны объявляться явно.

Формат описания строковой переменой переменной длины:

Dim Имя_строки As String

Формат описания строковой переменой фиксированной длины:

Dim Имя_строки As String*Длина строки

Например:
Dim Name As String*20

Dim St As string

Операции над строками

Выражения, в которых операндами служат строковые данные, называются строковыми. Над строковыми данными допустимы операции сцепления и операции отношения.

Операция сцепления (конкатенации) «+» применяется для соединения нескольких строк в одну результирующую строку. Сцеплять можно как строковые константы, так и строковые переменные.

Например:

”Бейсик, ” + ”Паскаль, ” + ”Си ” + ”–” + ”языки программирования”.

В результате операции сцепления «+» получится строка:

”Бейсик, Паскаль, Си – языки программирования”

Операции отношения =, <, >, <=, >=, <> позволяют выполнить сравнение двух строк, в результате чего получается логическое значение True или False. Сравнение строк производится слева направо до первого несовпадающего символа, и та строка считается больше, в которой первый несовпадающий символ имеет больший номер в таблице символьной кодировки. Если строки имеют различную длину, но в общей части символы совпадают, считается, что более короткая строка меньше, чем более длинная. Строки равны, если они полностью совпадают по длине и содержат одни и те же символы.

Например:

Выражение Результат
”True1” > ”True2” False
”Student” > ”STUDENT” True
”Студент” <> ” Студент” True
”Группа” = ”Группа” True

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







Последнее изменение этой страницы: 2016-08-12; Нарушение авторского права страницы

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 54.237.183.249 (0.005 с.)