SlideShare a Scribd company logo
ВыходВыход
Тема:Тема:
Массив - индексированная
группа данных, которая
обрабатывается как единая
переменная. Порядок
элементов в массиве
задается индексами его
элементов.
ВыходВыход
Массивы могут быть:
•одномерные и
многомерные;
•статические и
динамические.
ВыходВыход
Одномерный массив
Ёлка (1) Ёлка (2) Ёлка (3) Ёлка (4) Ёлка (5) Ёлка (6) Ёлка (7)
Имя
массива
Индекс
массива
ВыходВыход
Многомерный массив
Ёлка (1,1)Ёлка (1,2) Ёлка (1,3)Ёлка (1,4) Ёлка (1,5)Ёлка (1,6)Ёлка (1,7)
Ёлка (2,1)Ёлка (2,2) Ёлка (2,3)Ёлка (2,4) Ёлка (2,5)Ёлка (2,6)Ёлка (2,7)
Ёлка (3,1)Ёлка (3,2) Ёлка (3,3)Ёлка (3,4) Ёлка (3,5)Ёлка (3,6)Ёлка (3,7)
строки
Столбцы
ВыходВыход
Статические массивы
имеют фиксированное
количество элементов,
определённое при
объявлении массива.
ВыходВыход
Чтобы создать массив, нужно
определить: его имя,
количество элементов (размер
массива), тип данных, которые
будут храниться в массиве.
Синтаксис объявления:
Dim ИмяМассива (размер) As ТипДанных
ВыходВыход
Пример:
Dim МойМассив(3) As Integer
Создан массив по имени
МойМассив, состоящий из
четырех элементов и
способный хранить значения
типа Integer.
ВыходВыход
Другая версия задания
массива: указать первый и
последний номера
элементов массива:
Dim МойМассив (1 То 3) As Integer
ВыходВыход
Элементы созданного массива не
содержат никаких данных. Чтобы
сохранить в массиве какое-нибудь
значение, нужно указать, какому элементу
оно должно быть присвоено.
Предположим, создан массив, который
может содержать в себе до пяти строк:
Dim Сотрудник(4) As String
Если необходимо первому элементу
массива присвоить значение Иван Никитин,
надо прописать такой код:
Сотрудник(0) = “Иван Никитин”
ВыходВыход
Объявление одномерного массива
Пример 1:
Option Base 0
‘одномерный массив из 11 эл-тов, первый
эл-т ‘массива Spisok1(0)
Dim Spisok1(10) As Long
‘одномерный массив из 10 эл-тов, первый
эл-т ‘массива Spisok2 (1)
Dim Spisok2(1 to 10) As Long
Пример 2:
Option Base 1
‘одномерный массив из 10 эл-тов, первый
эл-т ‘массива Elka(1)
Dim Elka(10) As Byte
ВыходВыход
Порядок создания
двухмерного массива тот же,
что и одномерного, с той лишь
разницей, что, указывая его
размер, нужно указать два
значения – строки и столбцы:
Dim ДвухММассив (Строки, Столбцы) As ТипДанных
ВыходВыход
Объявление многомерного массива
Пример 3:
‘двумерный массив 11 строк×26
столбцов
Dim Spisok2(10, 25) As Long
‘двумерный массив с указанием
начальных ‘границ
Dim SpisokGr(1 To 10, 5 To 50) As
String
ВыходВыход
Способы вывода элементов
двумерного массиваПример 6:
st = ""
For i = 1 To 5
st = ""
For j = 1 To 5
st = st & " " & m(i,
j)
Next j
Debug.Print st
Next i Пример 7:
For i = 1 To 5
For j = 1 To 5
Sheets(1).Cells(i, j) = m(i, j)
Next j
Next i ВыходВыход
В большинстве программ при
создании массива сразу же
инициализируют его, присвоив
каждому элементу нулевое
значение или пустую строку.
Это можно сделать
несколькими способами:
ВыходВыход
Инициализация элементов массива
Ёлка (1,1)Ёлка (1,2) Ёлка (1,3) Ёлка (1,4) Ёлка (1,5)Ёлка (1,6)Ёлка (1,7)
Ёлка (2,1)Ёлка (2,2) Ёлка (2,3) Ёлка (2,4) Ёлка (2,5)Ёлка (2,6)Ёлка (2,7)
Ёлка (3,1)Ёлка (3,2) Ёлка (3,3) Ёлка (3,4) Ёлка (3,5)Ёлка (3,6)Ёлка (3,7)
ВыходВыход
Способы инициализации
Пример 4:
‘последовательностью операторов:
Dim B(1, 1) As Single
B(0, 0) = 2: B(0, 1) = 4
B(1, 0) = 1: B(1, 1) = 3
Пример 5:
‘оператором цикла:
Dim m(1 To 5, 1 To 5) As Integer
Dim i, j As Integer
For i = 1 To 5
For j = 1 To 5
m(i, j) = i * j
Next j
Next i
ВыходВыход
Выбор размера массива может
быть затруднен, если неизвестно,
сколько данных будет введено в
массив, или если объем данных,
собираемых для массива,
значительно меняется. Для
подобных ситуаций VBA
поддерживает особый тип
массивов, называемый
динамическим (dynamic)
массивом.
ВыходВыход
Динамические массивы имеют
переменное количество элементов и могут
растягиваться и сжиматься в ходе
выполнения программы.
При помощи ключевого слова ReDim
можно в любой момент изменить
размерность динамического массива.
Если указать ключевое слово Preserve, VBA
сохранит все имеющиеся элементы
массива, в противном случае данные,
содержащиеся в массиве, удалятся.
Пример объявления: Dim MyArray() As
String
ВыходВыход
Решение задач с использованием
динамического массива
Public Sub do_true_end()
Dim arr() As Integer
Dim i As Byte
IndexArr = 0
Do
IndexArr = IndexArr + 1
ReDim Preserve arr(IndexArr)
arr(IndexArr) = InputBox("Введите
элемент _ массива:")
Loop While arr(IndexArr) >= 0 And _
IndexArr < 255
End Sub
ВыходВыход
Public Sub ArrayFunc()
Dim m(1 To 5, 1 To 5) As Integer
Dim i, j As Integer
For i = 1 To 5
st = ""
For j = 1 To 5
m(i, j) = CInt(7 * Rnd)
st = st & " " & m(i, j)
Next j
Debug.Print st
Next i
col = 0
For i = 1 To 5
For j = 1 To 5
If m(i, j) = 0 Then
col = col + 1
Exit For
End If
Next j
Next i
Debug.Print "В массиве " & col & " строк содержат 0"
End Sub ВыходВыход
В системе нумерации с нулевой
базой индекс для первого элемента в
любом измерении массива является
равным 0; массив с 10 элементами
имеет индексы от 0 до 9.
VBA позволяет задавать начальное
число для элементов массива,
используя директиву компилятора
Option Base для указания того, должна
ли нумерация индексов начинаться с 0
или с 1.
ВыходВыход
Необходимо помещать оператор Option Base в
область объявлений модуля перед объявлениями
любых переменных, констант или процедур.
Нельзя помещать оператор Option Base внутри
процедуры. Можно иметь только один оператор
Option Base в модуле; оператор Option Base
влияет на все массивы, объявляемые в модуле,
независимо от того, являются ли они локальными
в процедуре или объявляются на модульном
уровне.
Например:
Option Base 0 'установка по умолчанию с нуля
Option Base 1 'индексы массивов начинаются с 1
ВыходВыход
При работе с массивами можно
применять следующие функции и
процедуры:
1. Array (списокАргументов)
Создает массив типа Variant. Аргумент в
скобках представляет разделенный
запятыми список значений, присваиваемых
элементам массива.
Пример:
Dim День As Variant
День=Array(«Пн»,"вт","ср",….)
ВыходВыход
Определение границ индексов массива
Функции LBound и UBound
возвращают минимальное и
максимальное допустимые
значения указанного индекса
массива в заданном
измерении.
ВыходВыход
Lbound (имяМассива [, размерность])
Ubound (имяМассива [, размерность]),
где имяМассива – имя переменной
массива;
размерность – целое число,
указывающее размерность массива,
нижнюю или верхнюю границу которой
возвращает функция. Для первой
размерности следует указать 1, для
второй – 2 и т. д. Если аргумент
размерность опущен, подразумевается
значение 1.
ВыходВыход

More Related Content

What's hot

Основы языка Питон: типы данных, операторы
Основы языка Питон: типы данных, операторыОсновы языка Питон: типы данных, операторы
Основы языка Питон: типы данных, операторы
Theoretical mechanics department
 
тема множество для загрузки 2013
тема множество для загрузки 2013тема множество для загрузки 2013
тема множество для загрузки 2013AliyaAringazinova
 
C++ Базовый. Занятие 06.
C++ Базовый. Занятие 06.C++ Базовый. Занятие 06.
C++ Базовый. Занятие 06.
Igor Shkulipa
 
Магия в Python: Дескрипторы. Что это?
Магия в Python: Дескрипторы. Что это?Магия в Python: Дескрипторы. Что это?
Магия в Python: Дескрипторы. Что это?
PyNSK
 
Основы Python. Функции
Основы Python. ФункцииОсновы Python. Функции
Основы Python. Функции
Theoretical mechanics department
 
Лекция 8. Итераторы, генераторы и модуль itertools.
 Лекция 8. Итераторы, генераторы и модуль itertools. Лекция 8. Итераторы, генераторы и модуль itertools.
Лекция 8. Итераторы, генераторы и модуль itertools.
Roman Brovko
 
Презентация на тему: Методические особенности подготовки учащихся к выполнени...
Презентация на тему: Методические особенности подготовки учащихся к выполнени...Презентация на тему: Методические особенности подготовки учащихся к выполнени...
Презентация на тему: Методические особенности подготовки учащихся к выполнени...2berkas
 
Лекция 3: Бинарный поиск. Связные списки
Лекция 3: Бинарный поиск. Связные спискиЛекция 3: Бинарный поиск. Связные списки
Лекция 3: Бинарный поиск. Связные спискиMikhail Kurnosov
 
Рекурсия. Поиск
Рекурсия. ПоискРекурсия. Поиск
Рекурсия. Поиск
Olexandra Dmytrenko
 
Java. Cистемы счислния, битовые операции
Java. Cистемы счислния, битовые операцииJava. Cистемы счислния, битовые операции
Java. Cистемы счислния, битовые операции
Unguryan Vitaliy
 
Лекция 1. Начало.
Лекция 1. Начало.Лекция 1. Начало.
Лекция 1. Начало.
Roman Brovko
 
логические элементы пк
логические элементы пклогические элементы пк
логические элементы пкRushitech
 
Алгоритмы и языки программирования
Алгоритмы и языки программированияАлгоритмы и языки программирования
Алгоритмы и языки программирования
Theoretical mechanics department
 
Java. Методы
Java. Методы Java. Методы
Java. Методы
Unguryan Vitaliy
 
Алгоритмы сортировки
Алгоритмы сортировкиАлгоритмы сортировки
Discovering Lambdas in Java 8
Discovering Lambdas in Java 8Discovering Lambdas in Java 8
Discovering Lambdas in Java 8
Stfalcon Meetups
 
Лекция 12. Быстрее, Python, ещё быстрее.
Лекция 12. Быстрее, Python, ещё быстрее.Лекция 12. Быстрее, Python, ещё быстрее.
Лекция 12. Быстрее, Python, ещё быстрее.
Roman Brovko
 
Лекция 3. АВЛ-деревья (AVL trees)
Лекция 3. АВЛ-деревья (AVL trees)Лекция 3. АВЛ-деревья (AVL trees)
Лекция 3. АВЛ-деревья (AVL trees)
Mikhail Kurnosov
 
9. java lecture library
9. java lecture library9. java lecture library
9. java lecture libraryMERA_school
 

What's hot (20)

Основы языка Питон: типы данных, операторы
Основы языка Питон: типы данных, операторыОсновы языка Питон: типы данных, операторы
Основы языка Питон: типы данных, операторы
 
тема множество для загрузки 2013
тема множество для загрузки 2013тема множество для загрузки 2013
тема множество для загрузки 2013
 
C++ Базовый. Занятие 06.
C++ Базовый. Занятие 06.C++ Базовый. Занятие 06.
C++ Базовый. Занятие 06.
 
Магия в Python: Дескрипторы. Что это?
Магия в Python: Дескрипторы. Что это?Магия в Python: Дескрипторы. Что это?
Магия в Python: Дескрипторы. Что это?
 
Основы Python. Функции
Основы Python. ФункцииОсновы Python. Функции
Основы Python. Функции
 
Лекция 8. Итераторы, генераторы и модуль itertools.
 Лекция 8. Итераторы, генераторы и модуль itertools. Лекция 8. Итераторы, генераторы и модуль itertools.
Лекция 8. Итераторы, генераторы и модуль itertools.
 
Презентация на тему: Методические особенности подготовки учащихся к выполнени...
Презентация на тему: Методические особенности подготовки учащихся к выполнени...Презентация на тему: Методические особенности подготовки учащихся к выполнени...
Презентация на тему: Методические особенности подготовки учащихся к выполнени...
 
Лекция 3: Бинарный поиск. Связные списки
Лекция 3: Бинарный поиск. Связные спискиЛекция 3: Бинарный поиск. Связные списки
Лекция 3: Бинарный поиск. Связные списки
 
Рекурсия. Поиск
Рекурсия. ПоискРекурсия. Поиск
Рекурсия. Поиск
 
Java. Cистемы счислния, битовые операции
Java. Cистемы счислния, битовые операцииJava. Cистемы счислния, битовые операции
Java. Cистемы счислния, битовые операции
 
Лекция 1. Начало.
Лекция 1. Начало.Лекция 1. Начало.
Лекция 1. Начало.
 
логические элементы пк
логические элементы пклогические элементы пк
логические элементы пк
 
Алгоритмы и языки программирования
Алгоритмы и языки программированияАлгоритмы и языки программирования
Алгоритмы и языки программирования
 
Java. Методы
Java. Методы Java. Методы
Java. Методы
 
Алгоритмы сортировки
Алгоритмы сортировкиАлгоритмы сортировки
Алгоритмы сортировки
 
Discovering Lambdas in Java 8
Discovering Lambdas in Java 8Discovering Lambdas in Java 8
Discovering Lambdas in Java 8
 
вычислительная практика
вычислительная практикавычислительная практика
вычислительная практика
 
Лекция 12. Быстрее, Python, ещё быстрее.
Лекция 12. Быстрее, Python, ещё быстрее.Лекция 12. Быстрее, Python, ещё быстрее.
Лекция 12. Быстрее, Python, ещё быстрее.
 
Лекция 3. АВЛ-деревья (AVL trees)
Лекция 3. АВЛ-деревья (AVL trees)Лекция 3. АВЛ-деревья (AVL trees)
Лекция 3. АВЛ-деревья (AVL trees)
 
9. java lecture library
9. java lecture library9. java lecture library
9. java lecture library
 

Viewers also liked

Vba программы
Vba программыVba программы
Vba программы
LidiKashka
 
TZed waste management
TZed waste managementTZed waste management
TZed waste management
ADDA
 
Premio AIGU
Premio AIGUPremio AIGU
Premio AIGU
aigu
 
Dengue.
Dengue.Dengue.
Bluewaters Island - Meraas Ain Dubai Brochure +971 4553 8725
Bluewaters Island - Meraas Ain Dubai Brochure +971 4553 8725Bluewaters Island - Meraas Ain Dubai Brochure +971 4553 8725
Bluewaters Island - Meraas Ain Dubai Brochure +971 4553 8725
Sandeepnextgen
 
Akoya Chelsea Boutique Villas - Akoya Oxygen +971 45538725
Akoya Chelsea Boutique Villas - Akoya Oxygen +971 45538725Akoya Chelsea Boutique Villas - Akoya Oxygen +971 45538725
Akoya Chelsea Boutique Villas - Akoya Oxygen +971 45538725
Sandeepnextgen
 
нано технологийг хөдөө аж ахуйд хэрэглэх нь
нано технологийг хөдөө аж ахуйд хэрэглэх ньнано технологийг хөдөө аж ахуйд хэрэглэх нь
нано технологийг хөдөө аж ахуйд хэрэглэх нь
Zaya Shirentogtokh
 
2017 03-02 (вебинар 7)
2017 03-02 (вебинар 7)2017 03-02 (вебинар 7)
2017 03-02 (вебинар 7)
Pavel Kallinikov
 
Основы ооп на языке C#. Часть 2. базовый синтаксис.
Основы ооп на языке C#. Часть 2. базовый синтаксис.Основы ооп на языке C#. Часть 2. базовый синтаксис.
Основы ооп на языке C#. Часть 2. базовый синтаксис.
YakubovichDA
 
Microwave linear beam 31
Microwave linear beam 31Microwave linear beam 31
Microwave linear beam 31
HIMANSHU DIWAKAR
 
ECONOMICS
ECONOMICSECONOMICS
ECONOMICS
Ishtiaque Ahmed
 
Clasificacion de las empresas
 Clasificacion de las empresas Clasificacion de las empresas
Clasificacion de las empresas
jorge alberto antonio torres
 
Clasificacion de las empresas
Clasificacion de las empresasClasificacion de las empresas
Clasificacion de las empresas
Vivi Montero
 
Opower - Green Gamification - Manu Melwin Joy
Opower - Green Gamification - Manu Melwin JoyOpower - Green Gamification - Manu Melwin Joy
Opower - Green Gamification - Manu Melwin Joy
manumelwin
 
La Hoja
La HojaLa Hoja
La Hoja
devis17
 
Mary Had a Little Lamb
Mary Had a Little LambMary Had a Little Lamb
Mary Had a Little Lamb
MEA Music
 
Danza laura giraldo
Danza laura giraldoDanza laura giraldo
Danza laura giraldo
Laura Giraldo Álvarez
 
Diseño mezclas metodo marshall
Diseño mezclas   metodo marshallDiseño mezclas   metodo marshall
Diseño mezclas metodo marshall
Cristian Flores
 

Viewers also liked (18)

Vba программы
Vba программыVba программы
Vba программы
 
TZed waste management
TZed waste managementTZed waste management
TZed waste management
 
Premio AIGU
Premio AIGUPremio AIGU
Premio AIGU
 
Dengue.
Dengue.Dengue.
Dengue.
 
Bluewaters Island - Meraas Ain Dubai Brochure +971 4553 8725
Bluewaters Island - Meraas Ain Dubai Brochure +971 4553 8725Bluewaters Island - Meraas Ain Dubai Brochure +971 4553 8725
Bluewaters Island - Meraas Ain Dubai Brochure +971 4553 8725
 
Akoya Chelsea Boutique Villas - Akoya Oxygen +971 45538725
Akoya Chelsea Boutique Villas - Akoya Oxygen +971 45538725Akoya Chelsea Boutique Villas - Akoya Oxygen +971 45538725
Akoya Chelsea Boutique Villas - Akoya Oxygen +971 45538725
 
нано технологийг хөдөө аж ахуйд хэрэглэх нь
нано технологийг хөдөө аж ахуйд хэрэглэх ньнано технологийг хөдөө аж ахуйд хэрэглэх нь
нано технологийг хөдөө аж ахуйд хэрэглэх нь
 
2017 03-02 (вебинар 7)
2017 03-02 (вебинар 7)2017 03-02 (вебинар 7)
2017 03-02 (вебинар 7)
 
Основы ооп на языке C#. Часть 2. базовый синтаксис.
Основы ооп на языке C#. Часть 2. базовый синтаксис.Основы ооп на языке C#. Часть 2. базовый синтаксис.
Основы ооп на языке C#. Часть 2. базовый синтаксис.
 
Microwave linear beam 31
Microwave linear beam 31Microwave linear beam 31
Microwave linear beam 31
 
ECONOMICS
ECONOMICSECONOMICS
ECONOMICS
 
Clasificacion de las empresas
 Clasificacion de las empresas Clasificacion de las empresas
Clasificacion de las empresas
 
Clasificacion de las empresas
Clasificacion de las empresasClasificacion de las empresas
Clasificacion de las empresas
 
Opower - Green Gamification - Manu Melwin Joy
Opower - Green Gamification - Manu Melwin JoyOpower - Green Gamification - Manu Melwin Joy
Opower - Green Gamification - Manu Melwin Joy
 
La Hoja
La HojaLa Hoja
La Hoja
 
Mary Had a Little Lamb
Mary Had a Little LambMary Had a Little Lamb
Mary Had a Little Lamb
 
Danza laura giraldo
Danza laura giraldoDanza laura giraldo
Danza laura giraldo
 
Diseño mezclas metodo marshall
Diseño mezclas   metodo marshallDiseño mezclas   metodo marshall
Diseño mezclas metodo marshall
 

Similar to массивы

Массивы в Java
Массивы в JavaМассивы в Java
Массивы в Javametaform
 
s.r afzali mustafa.pptx
s.r afzali mustafa.pptxs.r afzali mustafa.pptx
s.r afzali mustafa.pptx
ShahFighter
 
чернякова г.в.
чернякова г.в.чернякова г.в.
чернякова г.в.sharikdp
 
Лекция 2: Абстрактные типы данных. Алгоритмы сортировки
Лекция 2: Абстрактные типы данных. Алгоритмы сортировкиЛекция 2: Абстрактные типы данных. Алгоритмы сортировки
Лекция 2: Абстрактные типы данных. Алгоритмы сортировкиMikhail Kurnosov
 
Олег Алистратов — Сортировка списков в Perl и Python
Олег Алистратов — Сортировка списков в Perl и PythonОлег Алистратов — Сортировка списков в Perl и Python
Олег Алистратов — Сортировка списков в Perl и Python
Yandex
 
4. Многомерные массивы и массивы массивов в C#
4. Многомерные массивы и массивы массивов в C#4. Многомерные массивы и массивы массивов в C#
4. Многомерные массивы и массивы массивов в C#
Olga Maksimenkova
 
Основы SciPy
Основы SciPyОсновы SciPy
Лекция 2: Абстрактные типы данных. Алгоритмы сортировки
Лекция 2: Абстрактные типы данных. Алгоритмы сортировкиЛекция 2: Абстрактные типы данных. Алгоритмы сортировки
Лекция 2: Абстрактные типы данных. Алгоритмы сортировкиMikhail Kurnosov
 
02 сортировка и поиск
02 сортировка и поиск02 сортировка и поиск
02 сортировка и поиск
Fedor Tsarev
 
Jelementy statistiki
Jelementy statistikiJelementy statistiki
Jelementy statistiki
Ivanchik5
 
Введение в машинное обучение. Кластеризация (Bitworks Software, Кирилл Жданов)
Введение в машинное обучение. Кластеризация (Bitworks Software, Кирилл Жданов)Введение в машинное обучение. Кластеризация (Bitworks Software, Кирилл Жданов)
Введение в машинное обучение. Кластеризация (Bitworks Software, Кирилл Жданов)
Dmitry Kornev
 
Введение в машинное обучение. Кластеризация (Bitworks Software, Кирилл Жданов)
Введение в машинное обучение. Кластеризация (Bitworks Software, Кирилл Жданов)Введение в машинное обучение. Кластеризация (Bitworks Software, Кирилл Жданов)
Введение в машинное обучение. Кластеризация (Bitworks Software, Кирилл Жданов)
Bitworks Software
 
Поиск ошибок в программах на языке C#
Поиск ошибок в программах на языке C#Поиск ошибок в программах на языке C#
Поиск ошибок в программах на языке C#
Mikhail Shcherbakov
 
На что способны современные статические анализаторы для C#
На что способны современные статические анализаторы для C#На что способны современные статические анализаторы для C#
На что способны современные статические анализаторы для C#
Artem Borzilov
 
0 характеристика основных числовых множеств
0 характеристика основных числовых множеств0 характеристика основных числовых множеств
0 характеристика основных числовых множеств
Вячеслав Пырков
 
характеристика основных числовых множеств
характеристика основных числовых множествхарактеристика основных числовых множеств
характеристика основных числовых множеств
Вячеслав Пырков
 
Задворный б.в. (минск) от идеи к исследованию
Задворный б.в. (минск)   от идеи к исследованиюЗадворный б.в. (минск)   от идеи к исследованию
Задворный б.в. (минск) от идеи к исследованиюЛёха Гусев
 
Задворный б.в. (минск) от идеи к исследованию
Задворный б.в. (минск)   от идеи к исследованиюЗадворный б.в. (минск)   от идеи к исследованию
Задворный б.в. (минск) от идеи к исследованиюЛёха Гусев
 
основы Java переменные, циклы
основы Java   переменные, циклыосновы Java   переменные, циклы
основы Java переменные, циклы
Sergey Nemchinsky
 
мат ралли для блога
мат ралли для блогамат ралли для блога
мат ралли для блога
Svetlana Kurochkina
 

Similar to массивы (20)

Массивы в Java
Массивы в JavaМассивы в Java
Массивы в Java
 
s.r afzali mustafa.pptx
s.r afzali mustafa.pptxs.r afzali mustafa.pptx
s.r afzali mustafa.pptx
 
чернякова г.в.
чернякова г.в.чернякова г.в.
чернякова г.в.
 
Лекция 2: Абстрактные типы данных. Алгоритмы сортировки
Лекция 2: Абстрактные типы данных. Алгоритмы сортировкиЛекция 2: Абстрактные типы данных. Алгоритмы сортировки
Лекция 2: Абстрактные типы данных. Алгоритмы сортировки
 
Олег Алистратов — Сортировка списков в Perl и Python
Олег Алистратов — Сортировка списков в Perl и PythonОлег Алистратов — Сортировка списков в Perl и Python
Олег Алистратов — Сортировка списков в Perl и Python
 
4. Многомерные массивы и массивы массивов в C#
4. Многомерные массивы и массивы массивов в C#4. Многомерные массивы и массивы массивов в C#
4. Многомерные массивы и массивы массивов в C#
 
Основы SciPy
Основы SciPyОсновы SciPy
Основы SciPy
 
Лекция 2: Абстрактные типы данных. Алгоритмы сортировки
Лекция 2: Абстрактные типы данных. Алгоритмы сортировкиЛекция 2: Абстрактные типы данных. Алгоритмы сортировки
Лекция 2: Абстрактные типы данных. Алгоритмы сортировки
 
02 сортировка и поиск
02 сортировка и поиск02 сортировка и поиск
02 сортировка и поиск
 
Jelementy statistiki
Jelementy statistikiJelementy statistiki
Jelementy statistiki
 
Введение в машинное обучение. Кластеризация (Bitworks Software, Кирилл Жданов)
Введение в машинное обучение. Кластеризация (Bitworks Software, Кирилл Жданов)Введение в машинное обучение. Кластеризация (Bitworks Software, Кирилл Жданов)
Введение в машинное обучение. Кластеризация (Bitworks Software, Кирилл Жданов)
 
Введение в машинное обучение. Кластеризация (Bitworks Software, Кирилл Жданов)
Введение в машинное обучение. Кластеризация (Bitworks Software, Кирилл Жданов)Введение в машинное обучение. Кластеризация (Bitworks Software, Кирилл Жданов)
Введение в машинное обучение. Кластеризация (Bitworks Software, Кирилл Жданов)
 
Поиск ошибок в программах на языке C#
Поиск ошибок в программах на языке C#Поиск ошибок в программах на языке C#
Поиск ошибок в программах на языке C#
 
На что способны современные статические анализаторы для C#
На что способны современные статические анализаторы для C#На что способны современные статические анализаторы для C#
На что способны современные статические анализаторы для C#
 
0 характеристика основных числовых множеств
0 характеристика основных числовых множеств0 характеристика основных числовых множеств
0 характеристика основных числовых множеств
 
характеристика основных числовых множеств
характеристика основных числовых множествхарактеристика основных числовых множеств
характеристика основных числовых множеств
 
Задворный б.в. (минск) от идеи к исследованию
Задворный б.в. (минск)   от идеи к исследованиюЗадворный б.в. (минск)   от идеи к исследованию
Задворный б.в. (минск) от идеи к исследованию
 
Задворный б.в. (минск) от идеи к исследованию
Задворный б.в. (минск)   от идеи к исследованиюЗадворный б.в. (минск)   от идеи к исследованию
Задворный б.в. (минск) от идеи к исследованию
 
основы Java переменные, циклы
основы Java   переменные, циклыосновы Java   переменные, циклы
основы Java переменные, циклы
 
мат ралли для блога
мат ралли для блогамат ралли для блога
мат ралли для блога
 

More from LidiKashka

функции работы с датой и временем
функции работы с датой и временемфункции работы с датой и временем
функции работы с датой и временем
LidiKashka
 
операторы и выражения
операторы и выраженияоператоры и выражения
операторы и выражения
LidiKashka
 
ооп
оопооп
ооп
LidiKashka
 
объекты Word
объекты Wordобъекты Word
объекты Word
LidiKashka
 
объекты Excel
объекты Excelобъекты Excel
объекты Excel
LidiKashka
 
Podprogram
PodprogramPodprogram
Podprogram
LidiKashka
 
объекты и классы
объекты и классыобъекты и классы
объекты и классы
LidiKashka
 
записи
записизаписи
записи
LidiKashka
 
встроен функции
встроен функциивстроен функции
встроен функции
LidiKashka
 

More from LidiKashka (9)

функции работы с датой и временем
функции работы с датой и временемфункции работы с датой и временем
функции работы с датой и временем
 
операторы и выражения
операторы и выраженияоператоры и выражения
операторы и выражения
 
ооп
оопооп
ооп
 
объекты Word
объекты Wordобъекты Word
объекты Word
 
объекты Excel
объекты Excelобъекты Excel
объекты Excel
 
Podprogram
PodprogramPodprogram
Podprogram
 
объекты и классы
объекты и классыобъекты и классы
объекты и классы
 
записи
записизаписи
записи
 
встроен функции
встроен функциивстроен функции
встроен функции
 

массивы

  • 1.
  • 3. Массив - индексированная группа данных, которая обрабатывается как единая переменная. Порядок элементов в массиве задается индексами его элементов. ВыходВыход
  • 4. Массивы могут быть: •одномерные и многомерные; •статические и динамические. ВыходВыход
  • 5. Одномерный массив Ёлка (1) Ёлка (2) Ёлка (3) Ёлка (4) Ёлка (5) Ёлка (6) Ёлка (7) Имя массива Индекс массива ВыходВыход
  • 6. Многомерный массив Ёлка (1,1)Ёлка (1,2) Ёлка (1,3)Ёлка (1,4) Ёлка (1,5)Ёлка (1,6)Ёлка (1,7) Ёлка (2,1)Ёлка (2,2) Ёлка (2,3)Ёлка (2,4) Ёлка (2,5)Ёлка (2,6)Ёлка (2,7) Ёлка (3,1)Ёлка (3,2) Ёлка (3,3)Ёлка (3,4) Ёлка (3,5)Ёлка (3,6)Ёлка (3,7) строки Столбцы ВыходВыход
  • 7. Статические массивы имеют фиксированное количество элементов, определённое при объявлении массива. ВыходВыход
  • 8. Чтобы создать массив, нужно определить: его имя, количество элементов (размер массива), тип данных, которые будут храниться в массиве. Синтаксис объявления: Dim ИмяМассива (размер) As ТипДанных ВыходВыход
  • 9. Пример: Dim МойМассив(3) As Integer Создан массив по имени МойМассив, состоящий из четырех элементов и способный хранить значения типа Integer. ВыходВыход
  • 10. Другая версия задания массива: указать первый и последний номера элементов массива: Dim МойМассив (1 То 3) As Integer ВыходВыход
  • 11. Элементы созданного массива не содержат никаких данных. Чтобы сохранить в массиве какое-нибудь значение, нужно указать, какому элементу оно должно быть присвоено. Предположим, создан массив, который может содержать в себе до пяти строк: Dim Сотрудник(4) As String Если необходимо первому элементу массива присвоить значение Иван Никитин, надо прописать такой код: Сотрудник(0) = “Иван Никитин” ВыходВыход
  • 12. Объявление одномерного массива Пример 1: Option Base 0 ‘одномерный массив из 11 эл-тов, первый эл-т ‘массива Spisok1(0) Dim Spisok1(10) As Long ‘одномерный массив из 10 эл-тов, первый эл-т ‘массива Spisok2 (1) Dim Spisok2(1 to 10) As Long Пример 2: Option Base 1 ‘одномерный массив из 10 эл-тов, первый эл-т ‘массива Elka(1) Dim Elka(10) As Byte ВыходВыход
  • 13. Порядок создания двухмерного массива тот же, что и одномерного, с той лишь разницей, что, указывая его размер, нужно указать два значения – строки и столбцы: Dim ДвухММассив (Строки, Столбцы) As ТипДанных ВыходВыход
  • 14. Объявление многомерного массива Пример 3: ‘двумерный массив 11 строк×26 столбцов Dim Spisok2(10, 25) As Long ‘двумерный массив с указанием начальных ‘границ Dim SpisokGr(1 To 10, 5 To 50) As String ВыходВыход
  • 15. Способы вывода элементов двумерного массиваПример 6: st = "" For i = 1 To 5 st = "" For j = 1 To 5 st = st & " " & m(i, j) Next j Debug.Print st Next i Пример 7: For i = 1 To 5 For j = 1 To 5 Sheets(1).Cells(i, j) = m(i, j) Next j Next i ВыходВыход
  • 16. В большинстве программ при создании массива сразу же инициализируют его, присвоив каждому элементу нулевое значение или пустую строку. Это можно сделать несколькими способами: ВыходВыход
  • 17. Инициализация элементов массива Ёлка (1,1)Ёлка (1,2) Ёлка (1,3) Ёлка (1,4) Ёлка (1,5)Ёлка (1,6)Ёлка (1,7) Ёлка (2,1)Ёлка (2,2) Ёлка (2,3) Ёлка (2,4) Ёлка (2,5)Ёлка (2,6)Ёлка (2,7) Ёлка (3,1)Ёлка (3,2) Ёлка (3,3) Ёлка (3,4) Ёлка (3,5)Ёлка (3,6)Ёлка (3,7) ВыходВыход
  • 18. Способы инициализации Пример 4: ‘последовательностью операторов: Dim B(1, 1) As Single B(0, 0) = 2: B(0, 1) = 4 B(1, 0) = 1: B(1, 1) = 3 Пример 5: ‘оператором цикла: Dim m(1 To 5, 1 To 5) As Integer Dim i, j As Integer For i = 1 To 5 For j = 1 To 5 m(i, j) = i * j Next j Next i ВыходВыход
  • 19. Выбор размера массива может быть затруднен, если неизвестно, сколько данных будет введено в массив, или если объем данных, собираемых для массива, значительно меняется. Для подобных ситуаций VBA поддерживает особый тип массивов, называемый динамическим (dynamic) массивом. ВыходВыход
  • 20. Динамические массивы имеют переменное количество элементов и могут растягиваться и сжиматься в ходе выполнения программы. При помощи ключевого слова ReDim можно в любой момент изменить размерность динамического массива. Если указать ключевое слово Preserve, VBA сохранит все имеющиеся элементы массива, в противном случае данные, содержащиеся в массиве, удалятся. Пример объявления: Dim MyArray() As String ВыходВыход
  • 21. Решение задач с использованием динамического массива Public Sub do_true_end() Dim arr() As Integer Dim i As Byte IndexArr = 0 Do IndexArr = IndexArr + 1 ReDim Preserve arr(IndexArr) arr(IndexArr) = InputBox("Введите элемент _ массива:") Loop While arr(IndexArr) >= 0 And _ IndexArr < 255 End Sub ВыходВыход
  • 22. Public Sub ArrayFunc() Dim m(1 To 5, 1 To 5) As Integer Dim i, j As Integer For i = 1 To 5 st = "" For j = 1 To 5 m(i, j) = CInt(7 * Rnd) st = st & " " & m(i, j) Next j Debug.Print st Next i col = 0 For i = 1 To 5 For j = 1 To 5 If m(i, j) = 0 Then col = col + 1 Exit For End If Next j Next i Debug.Print "В массиве " & col & " строк содержат 0" End Sub ВыходВыход
  • 23. В системе нумерации с нулевой базой индекс для первого элемента в любом измерении массива является равным 0; массив с 10 элементами имеет индексы от 0 до 9. VBA позволяет задавать начальное число для элементов массива, используя директиву компилятора Option Base для указания того, должна ли нумерация индексов начинаться с 0 или с 1. ВыходВыход
  • 24. Необходимо помещать оператор Option Base в область объявлений модуля перед объявлениями любых переменных, констант или процедур. Нельзя помещать оператор Option Base внутри процедуры. Можно иметь только один оператор Option Base в модуле; оператор Option Base влияет на все массивы, объявляемые в модуле, независимо от того, являются ли они локальными в процедуре или объявляются на модульном уровне. Например: Option Base 0 'установка по умолчанию с нуля Option Base 1 'индексы массивов начинаются с 1 ВыходВыход
  • 25. При работе с массивами можно применять следующие функции и процедуры: 1. Array (списокАргументов) Создает массив типа Variant. Аргумент в скобках представляет разделенный запятыми список значений, присваиваемых элементам массива. Пример: Dim День As Variant День=Array(«Пн»,"вт","ср",….) ВыходВыход
  • 26. Определение границ индексов массива Функции LBound и UBound возвращают минимальное и максимальное допустимые значения указанного индекса массива в заданном измерении. ВыходВыход
  • 27. Lbound (имяМассива [, размерность]) Ubound (имяМассива [, размерность]), где имяМассива – имя переменной массива; размерность – целое число, указывающее размерность массива, нижнюю или верхнюю границу которой возвращает функция. Для первой размерности следует указать 1, для второй – 2 и т. д. Если аргумент размерность опущен, подразумевается значение 1. ВыходВыход