Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция_9_10_I.doc
Скачиваний:
3
Добавлен:
31.07.2019
Размер:
228.86 Кб
Скачать
    1. Массивы

Массивом называется упорядоченная последовательность элементов одного типа, объединенных одним именем и доступных через это имя и индекс (порядковый номер элемента).

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

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

Существует две разновидности массивов: статические и динамические.

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

Синтаксис объявления статического массива следующий:

{Dim | Private | Public } имя_массива ( [номер_первого_элемента To] номер_последнего_элемента) [As тип]

Dim - ключевое слово объявления массива;

As - ключевое слово для обозначения типа данных для объявляемого массива;

имя_массива - имя описываемого массива;

тип - тип данных для объявляемого массива;

номер_первого_элемента, номер_последнего_элемента - значения соответственно нижней и верхней границ объявляемого массива.

Пример:

Dim arrA(1 To 10) As Byte 'объявлен массив, состоящий из 10 элементов, каждый длиной в один байт

Dim str1(10) As String*20 'объявлен массив, состоящий из 11 строк, каждая длиной 20 символов

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

Описание динамических массивов осуществляется в два этапа:

  1. Объявить массив без его указания размерности

{Dim | Private | Public } имя_массива ( ) [As тип]

  1. В нужном месте программы описать данный массив с требуемым значением для размерности при помощи оператора ReDim

ReDim имя_массива ( [номер_первого_элемента To] номер_последнего_элемента )

Пример:

Dim arrA() As Byte 'описание типа массива

ReDim arrA(5) 'указание размерности массива

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

    1. Встроенные окна диалога

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

Для ввода данных используется функция InputBox. Функция возвращает введенное значение. Значение преобразуется к типу выражения, в котором вызывается InputBox.

InputBox (prompt [, title] [, default] [, xpos] [, ypos] [, helpfile, context])'

'prompt – комментарий к вводу информации

'title – заголовок окна

'default - значение по умолчанию для строки ввода

'xpos, ypos - координаты верхнего левого угла окна

Пример вызова:

MyValue = InputBox ("Введите Х", "Заголовок", "0", 500, 300)

MsgBox используется для вывода диалогового окна сообщения. Синтаксис ее применения следующий:

MsgBox сообщение [, тип окна] [, заголовок окна], где:

сообщение - текст сообщения;

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

заголовок окна - текст заголовка диалогового окна.

В качестве значения аргумента может указываться сумма значений типа по одному из каждой группы.

Например, в операторе MsgBox «Удалить ?», 36

значение аргумента 36 является суммой 32 и 4 (32 - вывод пиктограммы с вопросительным знаком, 4 - кнопки «Yes» и «No»).

На рис 3.1 приведен пример окна

MsgBox «Закончить?», 36, «Пример окна MsgBox».

Функция MsgBox в зависимости от нажатой кнопки из списка отображаемых может возвращать значения, приведенные в таблице 2.2. Эти значения можно использовать для обработки результата работы пользователя с окном MsgBox.

Таблица 3.1.

Значения основных констант диалога MsgBox и их описание

Группа

Значение типа

Описание

1

0

Выводить только кнопку ОК

1

Выводить кнопки ОК и Cancel

2

Выводить кнопки Abort, Retry, Ignore

3

Выводить кнопки Yes, Nо, Саnсеl

4

Выводить кнопки Yes, Nо

5

Выводить кнопки Retry, Саnсеl

2

16

Выводить пиктограмму "Стоп"

32

Выводить пиктограмму "?"

48

Выводить пиктограмму "!"

64

Выводить пиктограмму информации

3

0

Кнопка по умолчанию - первая

256

Кнопка по умолчанию - вторая

512

Кнопка по умолчанию - третья

4

0

Программное ведущее диалоговое окно

4096

Системное ведущее диалоговое окно

Private Sub Form_Load()

'Решение квадратного уравнения'

Dim a, b, c, d, x1, x2 As Single

MsgBox "A*X^2 + B*X + C = 0"

a = InputBox("A = ")

b = InputBox("B = ")

c = InputBox("C = ")

If a = 0 Then

If b = 0 Then

MsgBox "Нет решений"

Else

x1 = -c / b

MsgBox "X = " + Str(x1)

End If

Else

d = b ^ 2 - 4 * a * c

If d < 0 Then

MsgBox "Нет решений"

Else

x1 = (-b + Sqr(d)) / 2

x2 = (-b - Sqr(d)) / 2

MsgBox "X1 = " + Str(x1) + " , X2 = " + Str(x2)

End If

End If

End Sub

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]