Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
vba.doc
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
2 Мб
Скачать
☆

2)Вывод массива на рабочий лист

Предположим, необходимо вывести массив A= (13; 12. 12,1; 18.1; -15; …..) на рабочий лист в следующем виде:

A

B

C

D

E

1

1

2

3

4

5

2

13

12

12,1

18,1

-15

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

Фрагмент программы имеет вид:

Worksheets («Лист 1»).Activate

For I=1 to n

Cells (1,I ) = I

Cells (2,I) = A ( I )

Next I

Рассмотрим различные примеры работы с одномерными массивами.

3)Вывод массива в окно сообщений

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

Пример1. Найти максимальный элемент в массиве

Найти максимальный элемент в массиве (x i )(i=1,2,…,n) и его номер.

Например, если массив X=(3; 4; -1; 15; 8; -7), то Max=15 Nomer = 4

Sub maximum ( )

Dim x( ) as single

n= (Inputbox («ввести размер массива») )

Redim x (1 to n )

‘ввод/ вывод массива

For I = 1 to n

X(i)=120*Rnd

MSGBox “x(“ & I & ”)=” & x(i)

Next I

max=x(1)

nomer=1

For i =2 to n

IF max<x(i) THEN max=x(i): Nomer=I

Next I

MSGBOX “max=” & max & “nomer=” & nomer

End Sub

Пример2. Сортировка (упорядочивание) одномерного массива.

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

Пусть задан массив

а = (3; 5; -8; 12; 7; 1)

а1 а2 а3 а4 а5 а6

После сортировки массив а будет иметь вид: а = (-8; 1; 3; 5; 7; 12)

Рассмотрим программу и блок-схему данного алгоритма.

В тексте программы ввод-вывод результатов оставлен для самостоятельной работы.

SUB PORIADOK ( )

‘ ввод-вывод массива а(і); і=1, ...n

. . . . . . . .

‘Блоки №3 - №10

- FOR i=1 to n-1 ’ n- количество элементов в массиве

FOR j = i + 1 TO n

IF a(i) > a(j) THEN x= a(i) : a(i) = a(j) : a(j) = x

NEXT j

NEXT i

’вывод упорядоченного массива

. . . . . . .

END SUB

Двумерные массивы (таблицы или матрицы).

Матрица – это массив размерности 2. Записанная ниже матрица имеет размерность 2, а размер .

. Каждый элемент массива имеет свои индексы - номер строки и столбца, в котором стоит соответствующий элемент. Например, а35 – это элемент третьей строки и пятого столбца.

Ввод /вывод двумерного массива.

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

Блок-схема ввода/выода по строкам.

В зависимости от блока №3 возможно ввести/вывести двумерный массив по-разному. Ниже мы опишем, каким может быть данный блок. Отметим также, что перед работой с массивом любой размерности его необходимо объявить.

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