4. ОБРАБОТКА МАССИВОВ 19. 12. 16

Скачать презентацию 4.  ОБРАБОТКА  МАССИВОВ 19. 12. 16 Скачать презентацию 4. ОБРАБОТКА МАССИВОВ 19. 12. 16

lekciya_4-1_vba_programmirovanie_4-1_odnom_massiv.ppt

  • Размер: 827.0 Кб
  • Автор:
  • Количество слайдов: 20

Описание презентации 4. ОБРАБОТКА МАССИВОВ 19. 12. 16 по слайдам

4.  ОБРАБОТКА  МАССИВОВ 19. 12. 16 Массивы 1 4. ОБРАБОТКА МАССИВОВ 19. 12. 16 Массивы

Массив – это упорядоченный набор данных одного типа ,  например,  А 1Массив – это упорядоченный набор данных одного типа , например, А 1 , А 2 , А 3 , …, А N. 19. 12. 16 Массивы 2 • Одномерный массив А из 7 элементов целого типа 44 22 10 11 14 30 191 2 3 4 5 6 7 A • Двумерный массив А из 6 элементов

Массив – упорядоченная последовательность величин,  обозначаемая одним именем.  Упорядоченность -элементы массива располагаютсяМассив – упорядоченная последовательность величин, обозначаемая одним именем. Упорядоченность -элементы массива располагаются в последовательных ячейках памяти. 44 22 10 11 14 30 191 2 3 4 5 6 7 А A ( 4 ) = 11 Имя массива Индекс (порядковый номер) элемента массива Значение элемента массива. Определение 1 19. 12. 16 Массивы

Описание массива     2  Dim имя (N) AS тип ;Описание массива 2 Dim имя (N) AS тип ; При работе с массивами их следует описывать в начале программы с указанием размерности. Синтаксис описания массивов: Например: Dim A ( 10 ) as Integer ; Имя массива Верхняя граница индекса Тип элементов Dim X ( 100 ) as Single ; 19. 12. 16 Массивы

Чтобы получить доступ к нужному элементу массива нужно указать имя массива и индекс этогоЧтобы получить доступ к нужному элементу массива нужно указать имя массива и индекс этого элемента. Имя массива образуется также как имя переменой. A (5)=3, B (2, 3)=6 19. 12. 16 Массивы

Различают одномерные и двумерные массивы.  Одномерный массив – это список переменных. Часто используетсяРазличают одномерные и двумерные массивы. Одномерный массив – это список переменных. Часто используется для обозначения векторов в математике. Элементы одномерного массива снабжаются одним индексом, заключенным в круглые скобки. Он определяет порядковый номер элемента в массиве. A (7)=19 19. 12. 16 Массивы 6 • Одномерный массив А из 7 элементов целого типа

1.  Заполнение массива с клавиатуры For i =1 To N Stro = “1. Заполнение массива с клавиатуры For i =1 To N Stro = “ Введите С (» + Str(i) + «)» C(i) = Input. Box(Stro) Next i = 1, N Ввод C i Заполнение массива 5 19. 12. 16 Массивы

1.  Посмотреть значения переменных -  открыть окно Watches For i =1 To1. Посмотреть значения переменных — открыть окно Watches For i =1 To N Stro = “ Введите С (» + Str(i) + «)» C(i) = Input. Box(Stro) Next i = 1, N Ввод C i Отладчик Debug 5 19. 12. 16 Массивы

1.  Заполнение массива с клавиатуры i = 1, N Ввод C i Заполнение1. Заполнение массива с клавиатуры i = 1, N Ввод C i Заполнение массива 5 С(0) ? ? ? 19. 12. 16 Массивы

Размерность массива.  Dim C ( 4 ) As Integer Одномерный массив (вектор) изРазмерность массива. Dim C ( 4 ) As Integer Одномерный массив (вектор) из 5 целых чисел. По умолчанию первый элемент массива будет C (0) а последний C ( 4 ). В этом случае говорят, что 0 — базовый индекс. Изменить базовый индекс — написать в области описания модуля инструкцию Option Base 1. Индексы массивов нумеруется с единицы. Другой способ изменения базового индекса -использование ключевого слова To при объявлении массива: Dim C (1 To 4 ) As Integer 19. 12. 16 Массивы

1.  Заполнение массива с клавиатуры i = 1, N Ввод C i Заполнение1. Заполнение массива с клавиатуры i = 1, N Ввод C i Заполнение массива 5 С( 1 ) первый в массиве 19. 12. 16 Массивы

2.  Заполнение массива случайными числами. A(i) = Rnd()  случайное число из интервала2. Заполнение массива случайными числами. A(i) = Rnd() случайное число из интервала (0; 1 ) Int((B- A+ 1) * Rnd() + A) случайное число из интервала (A ; B ) Заполнение массива 6 i = 1, N Вывод a i. A i = случайное (A ; B ) Before calling Rnd, use the Randomize statement without an argument to initialize the random-number generator with a seed based on the system timer 19. 12. 16 Массивы

2.  Заполнение массива случайными числами. Заполнение массива      2. Заполнение массива случайными числами. Заполнение массива 6 i = 1, N Вывод A i = случайное (0 ; 1 ) 19. 12. 16 Массивы

3.  Заполнение массива при помощи прогрессии. Заполнить массив числами 3, 5, 7, 9,3. Заполнение массива при помощи прогрессии. Заполнить массив числами 3, 5, 7, 9, 11 и т. д. На первом месте стоит 3 На втором 3+2 = 5 На третьем 5+2 = 7 и т. д. То есть a i = a i — 1 + 2 Это арифметическая прогрессия. Заполнение массива i = 2 , N Вывод a ia i = a i-1 + 2 Вывод a 1 a 1 = 3 19. 12. 16 Массивы

3.  Заполнение массива при помощи прогрессии.  Заполнение массива  i = 23. Заполнение массива при помощи прогрессии. Заполнение массива i = 2 , N Вывод a ia i = a i-1 + 2 Вывод a 1 a 1 = 3 19. 12. 16 Массивы

4.  Заполнение массива из ячеек ЭТ MS Excel For i = 1 To4. Заполнение массива из ячеек ЭТ MS Excel For i = 1 To N ‘ Заполнение массива из ячеек ЭТ MS Excel C(i) = Cells(4, i) Next i = 1, N Ввод C i. Заполнение массива 5 19. 12. 16 Массивы

Алгоритмы обработки одномерных массивов. Операции с массива ми      Алгоритмы обработки одномерных массивов. Операции с массива ми 5 19. 12. 16 Массивы 171. Поиск максимального и минимального элемента ; 2. Вычисление произведения элементов массива 3. Вычисление суммы элементов массива 4. Поиск количества элементов по данному правилу или номер (например Посчитать количество отрицательных элементов в массиве или Указать индекс первого нулевого элемента в массиве ) ; 5. Нахождение элементов массива по элементам другого массива ; 6. Умножение двух векторов ( Найти скалярное произведение ); 7. Сортировка массива чисел методом ‘’пузырька

   For i=1 to N-1   For j=i to N For i=1 to N-1 For j=i to N I f (a(i)>a(j)) then p=a(i) a(i)=a(j) a(j)=p End If Next j Next i. Сортировка массива по возрастанию 21 Перебираем элементы от первого до предпоследнего Перебираем от i- ого элемента до конца Если в оставшейся строке находится элемент меньше чем i -ый … То меняем их местами. Сортировка массива: 4; -2; 6; -5 по возрастанию с изменениями происходящими в массиве 19. 12. 16 Массивы

 Сортировка массива    22 i, 1, N-1 j, i, N a Сортировка массива 22 i, 1, N-1 j, i, N a i >a j p=a i =a j =p Да. Нет Общая идея алгоритма: 1. Берем i- ый элемент 2. Последовательно сравниваем его со всеми элементами с права 3. Если находится элемент меньший чем i -ый, то они меняются местами 4. Так на i- ом месте окажется самый маленький элемент 5. i увеличиваем на единицу и повторяем процесс…

i a i j a i a j 1 4 4 4  нетi a i j a i >a j 1 4 4 >4 нет 1 4 2 -2 4> -2 да 1 -2 3 6 -2 > 6 нет 1 -2 4 -5 -2 > -5 да 2 4 4 >4 нет 2 4 3 6 4 >6 нет 2 4 4 -2 4 > -2 да 3 6 6 >6 нет 3 6 4 4 6 >4 да Массив 4 -2 6 -5 -2 4 6 -5 — 5 4 6 — 2 — 5 -2 6 4 — 5 -2 4 6 Сортировка массива 23 Упорядочить по возрастанию: 4 -2 6 —