Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
metod_ukazaiya.pdf
Скачиваний:
12
Добавлен:
15.11.2022
Размер:
776.66 Кб
Скачать

Синтаксис цикла с оператором Do…Loop While:

Do

операторы

Loop While условие

Синтаксис цикла с оператором Do…Loop Until:

Do

операторы

Loop Until условие

Пример вычисления суммы:

Dim

x As Integer

‘объявление переменной x

x =

0

‘начальное значение переменной x

Do

 

‘начало цикла

x

= x + 2

‘пока условие истинно, выполняется расчет x

Loop While x <= 10

‘проверка условия выполнения цикла

MsgBox(”Сумма чисел равна ” & x) ’вывод результата расчета

В результате выполнения программы переменная x примет значение 12.

1.6 Формирование и обработка массивов

1.6.1 Массивы

Массив это упорядоченная совокупность однотипных данных. Каждому элементу массива соответствует один или несколько индексов, определяющих по- ложение элемента в массиве.

В зависимости от количества индексов различают:

одномерные (линейные) массивы или векторы (элементы массива имеют один индекс);

двумерные массивы матрицы (первый индекс номер строки, второй номер столбца);

трехмерные и n-мерные массивы.

Примером одномерного массива является n-мерный вектор: x1, x2, …, xn.

14

Матрица (2–мерный массив) в общем виде записывается следующим образом:

a11

a12

a13

a1n

a21

a22

a23

a2n

am1

am2

am3

amn

1.6.2 Объявление массива

При объявлении переменных типа «массив» необходимо придерживаться сле- дующего синтаксиса:

Dim имя_массива (размерность массива) As тип_данных

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

 

Dim x(3) As Integer

‘одномерный массив из четырех целых

 

чисел с индексами 0,1,2,3

Dim y(1 to 3) As Integer

‘одномерный массив из трех целых чи-

 

сел с индексами 1,2,3

Dim m(1,2) As Single

‘двумерный массив из шести веществен-

 

ных чисел (2 строки, 3 столбца)

Dim n(1 to 2,1 to 4) As Single

‘двумерный массив из восьми вещест-

 

венных чисел (2 строки, 4 столбца)

1.6.3 Ввод-вывод массивов

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

Примеры:

– формирование и вывод одномерного массива из 10 элементов

Sub mass1 ()

Dim i as byte, a(1 to 10) as integer

For i = 1 to 10

a(i) = InputBox (Введите элемент массива”) ‘Ввод массива

Sheets(”Лист1”).Cells(i,1) = a(i) ‘Вывод массива на лист

15

Next i

End Sub

– формирование и вывод двумерного массива 10 × 10 элементов

Sub mass2 ()

Dim i as byte, j as byte, a(1 to 10, 1 to 10) as integer For i = 1 to 10

For j = 1 to 10

a(i,j) = InputBox (Введите элемент массива”) ‘Ввод массива

Sheets(”Лист1”).Cells(i,1) = a(i,j) ‘Вывод массива на лист

Next j

Next i

End Sub

– запись в массив 4 × 5 данных с листа Excel:

Sub mass3 ()

Dim i as byte, j as byte, a(1 to 4, 1 to 6) as integer For i = 1 to 4

For j = 1 to 5

a(i,j) = Sheets(”Лист1”).cells(i,j) Next j

Next i

End Sub

– формирование массива 4 × 6 с помощью функции RND:

Sub mass4 ()

Dim i as byte, j as byte, a(1 to 4, 1 to 6) as integer For i = 1 to 4

For j = 1 to 6

a(i,j) = Int (51*RND + 50) ‘Запись в массив случайных чисел, ‘взятых в диапазоне от 50 до 100

Next j

Next i

End Sub

16

Справка по функции RND

Функция RND возвращает случайное число: 0 или 1.

Пример:

I = RND Переменной I будет присвоено либо 0, либо 1.

Для генерации целых случайных чисел в заданном диапазоне используется формула:

I = Int ((верхняя граница нижняя граница + 1) * RND + нижняя граница)

Пример:

I = Int ((100 – 10 + 1) * RND + 10)’В переменную I будет записано

целое число в диапазоне от 10 до 100.

1.6.4 Обработка массивов

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

последовательная обработка элементов массивов;

переформирование массивов;

одновременная обработка нескольких массивов;

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

Как правило, в реальной жизни задачи, включающие только эти операции, встречаются редко. Однако эти операции являются базовыми и позволяют решать более сложные задачи. Далее рассмотрим несколько наиболее часто встречающихся примеров.

Примеры:

– определение суммы элементов массива и среднего значения положительных элементов массива размерностью 4 × 6

‘Фрагмент программы

s = 0 ‘обнуляем сумму элементов массива

sp = 0 ‘обнуляем сумму положительных элементов массива

np = 0 ‘обнуляем количество положительных элементов массива

For i = 1

to

4

 

For

j

=

1

to

6

 

s

=

s

+ a(i,j)

‘расчет суммы элементов массива

17

‘если положительных элементов нет, то среднее значение
‘положительных элементов массива равно нулю.

If a(i,j) > 0 Then ‘если элемент больше нуля

sp = sp + a(i,j) ‘расчет суммы положительных элементов массива np = np + 1 ‘расчет количества положительных элементов массива

End If

Next j

Next i

If kp > 0 then ‘если элемент больше нуля

srp = sp / kp ‘среднее значение положительных элементов массива

Else

Srp = 0

End If

– определение максимального элемента массива 4 × 6 и минимального элемента в пятом столбце

‘Фрагмент программы

maks = a(1,1) `начальное значение максимального элемента min5 = a(1,5) `начальное значение минимального элемента

For i = 1 to 4

For j = 1 to 6

If maks < a(i,j) then

maks = a(i,j) `определение максимального элемента

End If

Next j

If min5 > a(i,5) then

min5 = a(i,5) `определение минимального элемента

End If

Next i

– формирование одномерного массива a из положительных элементов массива b размерностью 4 × 6

‘Фрагмент программы

k = 0 ‘начальное значение индекса формируемого массива

For i = 1 to 4

For j = 1 to 6

18

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