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

15)Инструкция цикла Do Until … Loop и Do … Loop Until.

Until (до) – зарезервированное слово. По своей логике цикл Until подобен циклу

While с той лишь разницей, что выполнение условия означает необходимость выхода из

цикла. Как и в случае цикла While, проверка условия выхода в цикле Until может

осуществляться перед очередным проходом или после него. Вот синтаксис этих двух

вариантов:

Do Until УсловиеВыхода

Группа инструкций

Loop

Do

Группа инструкций

Loop Until УсловиеВыхода

Рассмотрим действие участка программы:

Счетчик = 0

Номер = 20

Do Until Номер = 10

Номер = Номер - 1

Счетчик = Счетчик + 1

Loop

Переменная Счетчик получит значение 10.

Еще один пример:

Счетчик = 0

Номер = 1

Do

Номер = Номер + 1

Счетчик = Счетчик + 1

Loop Until Номер = 10

Переменная Счетчик получит значение 9.

Инструкцию Do...Loop можно завершить досрочно с помощью инструкции Exit Do.

16) Массивы.

Массив - это группа переменных, содержащих элементы данных одного типа и с

одним именем. Под каждый элемент массива отводится отдельная ячейка. Все элементы

массива имеют один и тот же тип. Возможны ссылки на отдельные элементы массива.

Каждый отдельный элемент массива определяется именем массива и значениями

индексов. Например, ссылки a(7) или a1(2, 9) означают, что:

а – это имя одномерного массива (вектора) с одним индексом, элемент массива имеет

значение индекса равное 7;

а1- это имя двумерного массива (матрицы). Об этом говорит применение двух индексов

для определения элемента массива.

Первый индекс трактуется как номер строки, в которой находится элемент массива, а второй индекс, как номер столбца.

Индексом может быть выражение целого типа с неотрицательным значением.

Нижняя граница индекса всегда равна 0.

Верхняя граница каждого индекса массива

задается при его объявлении.

Как и простые переменные, массивы объявляются с помощью инструкций Dim,

Static, Private или Public.

Примеры объявления массивов:

Dim x() As Single

Dim y(,) As Single

Здесь объявлен одномерный массив с именем x и двумерный массив y. Об этом

говорят скобки в объявлении после имени каждого массива. При объявлении двумерного

массива между скобок должна стоять запятая. Объявление верхних границ индексов в

этих примерах отложено на потом (такие массивы называют динамическими).

Для объявления верхней границы индекса и размещения в памяти массивов следует

поместить инструкцию:

Redim x(10), y(4,5)

Здесь заданы значения верхних границ каждого индекса массивов. Индекс массива

x может принимать значение в диапазоне от 0 до 10. Массив x имеет 11 элементов.

Первый индекс массива y может принимать значение в диапазоне от 0 до 4. Второй

индекс массива y может принимать значение в диапазоне от 0 до 5. Массив y имеет 30

элементов (произведение числа строк на число столбцов).

При объявлении массива можно выполнить его инициализацию:

Dim z() As Single = {1.3, -2.7, 14.68, -5.5}

В этом примере объявлен одномерный массив z, имеющий 4 элемента, значения

которых заданы списком инициализации.

Массив, при объявлении которого верхние границы индексов не были указаны

(динамический массив), можно неоднократно переобъявлять с помощью инструкции

ReDim.

Среди инструкций внутри процедуры можно записать:

ReDim y(5, 10)

Далее этот массив может быть переобъявлен:

ReDim y(5, 20)

С помощью инструкции ReDim можно изменять только верхние границы индексов.

Размерность массива (количество индексов) можно задать один раз. Изменять ее нельзя.

Инструкцию ReDim можно применять для изменения динамического массива столько раз,

сколько потребуется. Однако при каждом ее применении данные, содержащиеся в

массиве, теряются.

Инструкция ReDim Preserve может увеличить размер массива, сохраняя при

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

массива a4 на 10 элементов без уничтожения текущих значений элементов массива. Пусть

был объявлен массив:

Dim a4 () As Integer.

Затем в программе установлен размер этого массива:

ReDim a4 (n).

Далее в программе может быть, например, записано:

ReDim Preserve a4(n+10)

Использование инструкции ReDim Preserve позволяет изменить верхнюю границу

только последней размерности массива.

Имеется возможность присвоить содержимое одного массива другому так же, как это

делается для простых переменных. Но эти массивы должны иметь одинаковые значения

размерностей и одинаковое количество элементов. Если же в левой части оператора

присвоения стоит динамический массив, то совпадение числа элементов не обязательно.

Число элементов массива в левой части оператора присвоения при необходимости

изменится.

Пример.

Dim a() As Integer = {1, 2, 3, 4}, b(), i As Integer

b = a

For i = 0 To 3

MsgBox(b(i))Next

Последовательно будет выведено: 1, 2, 3, 4.

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