Массив определение – —

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

Массив представляет собой индексированную последовательность однотипных элементов с заранее определенным количеством элементов. Все массивы можно разделить на две группы: одномерные и многомерные.

Аналогом одномерного массива из математики может служить последовательность некоторых элементов с одним индексом: при i = 0, 1, 2, … n – одномерный вектор. Каждый элемент такой последовательности представляет собой некоторое значение определенного типа данных. Наглядно одномерный массив можно представить как набор пронумерованных ячеек, в каждой из которых содержится определенное значение:

0 1 2 3 5

3.02 1.5 7.0 -2.3 12.0

Это пример одномерного массива из 6 элементов, каждый из которых представляет собой некоторое вещественное значение и каждое из этих значений имеет индекс от 0 до 5.

А вот пример одномерного массива из десяти элементов, представляющих собой одиночные символы:

0 1 2 3 4 5 6 7 8 9

‘a’ ‘b’ ‘c’ ‘+’ ‘1’ ‘2’ ‘!’ ‘#’ ‘@’ ‘&’

Каждый элемент в этих массивах определяется значением индекса элемента. Например, в последнем массиве элемент с индексом 5 равен символу ‘2’.

Двумерный массив – это последовательность некоторых элементов с двумя индексами: при i = 0, 1, 2, … n и j = 0, 1, 2, … m – двумерная матрица. Например, при n = 3 и m = 4:

j

0 1 2 3

0 1001 25 167 33

i 1 0 41 226 52

2 4 15 54 45

Эта матрица из 3-х строк и 4-х столбцов содержит 3 * 4 = 12 целых значений. Здесь уже каждый элемент определяется значениями двух индексов. Например, элемент с индексом i = 2 и индексом j = 1 равен целому значению 15.

Количество мерностей массивов может быть и больше двух, но при мерности большей 3 наглядно представить такой массив достаточно сложно.

50-51.Одномерные и многомерные массивы, их вывод

Объявление одномерных массивов

Объявление в программах одномерных массивов выполняется в соответствии со следующим правилом:

<Базовый тип элементов> <Идентификатор массива> [<Количество элементов>]

Например:

int ArrInt [10], A1 [20];

double D [100];

char Chars [50];

bool B [200];

Значения индексов элементов массивов всегда начинается с 0. Поэтому максимальное значение индекса элемента в массиве всегда на единицу меньше количества элементов в массиве.

Обращение к определенному элементу массива осуществляется с помощью указания значения индекса этого элемента:

A1 [8] = -2000;

cout << A1 [8]; // На экран выведено -2000

В этом примере, обратившись к элементу массива A1 с индексом 8, мы, фактически, обратились к его 9-му элементу.

При обращении к конкретному элементу массива этот элемент можно рассматривать как обычную переменную, тип которой соответствует базовому типу элементов массива, и осуществлять со значением этого элемента любые операции, которые характерны для базового типа. Например, поскольку базовым типом массива A1 является тип данных int, с любым элементом этого массива можно выполнять любые операции, которые можно выполнять над значениями типа int.

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

short S [5] = {1, 4, 9, 16, 25};

или так:

short S [ ] = {1, 4, 9, 16, 25};

Во втором случае мы не указываем количество элементов массива S. Автоматически создается массив на 5 элементов в соответствии с инициализирующими значениями.

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

S[0] = 1;

S[1] = 4;

S[2] = 9;

S[3] = 16;

S[4] = 25;

Количество значений, указанных в фигурных скобках (инициализирующих значений) не должно превышать количества элементов в массиве (в нашем примере — 5).

Значения всех элементов массива в памяти располагаются в непрерывной области одно за другим. Общий объем памяти, выделяемый компилятором для массива, определяется как произведение объема одного элемента массива на количество элементов в массиве и равно:

sizeof( <Базовый тип> ) * <Количество элементов>

Для предыдущего примера объем массива S будет равен sizeof( short) * 5 = 2 * 5 = 10 байтам.

Поскольку все элементы массивов располагаются в памяти один за другим без разрывов, обращение к элементам массива по их индексам (какой бы длины не был этот массив) осуществляется очень эффективно путем вычисления адреса нужного элемента. Пусть, например, адрес памяти, где начинается массив S, равен 100, тогда адрес элемента этого массива с индексом 3 будет равен 100 + sizeof( short) * 3 = 100 + 2 * 3 = 106. Обращаемся по этому адресу и считываем 2 байта. Это и будет значением элемента с индексом 3 массива S.

В языке C++ не осуществляется проверка выхода за границы массивов. То есть, вполне корректно (с точки зрения компилятора) будет обращение к элементу массива S, индекс которого равен 10. Это может привести к возникновению весьма серьезных отрицательных последствий. Например, если выполнить присвоение S[10] = 1000 будут изменены данные, находящиеся за пределами массива, а это может быть значение какой-нибудь другой переменной программы. После этого предсказать поведение программы будет невозможно. Единственный выход – быть предельно внимательным при работе с индексами элементов массивов.

Объявление многомерных массивов

Многомерные массивы определяются аналогично одномерным массивам. Количество элементов по каждому измерению указывается отдельно в квадратных скобках:

int A1 [5] [3]; // Двумерный массив, элементами которого являются

// значения типа int

double D [10] [15] [3]; // Трехмерный массив, элементами которого являются

// значения типа double

Здесь массив A1 представляет собой обычную двумерную матрицу из 5-ти строк и 3–х столбцов.

Массив D – трехмерный массив, который можно представить как трехмерный параллелограмм, навранный из 3-х двумерных матриц.

Общее число элементов в многомерном массиве определяется как произведение количества элементов по каждому измерению. Так, например, массив D содержит 10 * 15 * 3 = 450 элементов типа double, а объем памяти, требующийся для этого массива, будет равен 450 * 4 = 1800 байтам.

Массивы с большим, чем 3, количеством измерений используются достаточно редко. Одной из причин этого является быстрый рост объема памяти, необходимой для размещения таких массивов.

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

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

При определении многомерные массивы могут инициализироваться определенными значениями. Для получения массива A1 с теми значениями элементов, которые приведены в таблице, можно инициализировать массив следующим образом:

int A1 [5] [3] =

{

1, 1, 1,

2, 4, 8,

3, 9, 27,

4, 16, 64,

5, 25, 125

};

или так:

int A1 [ ] [3] =

{

1, 1, 1,

2, 4, 8,

3, 9, 27,

4, 16, 64,

5, 25, 125

};

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

Для доступа к определенному элементу многомерного массива необходимо указать в квадратных скобках конкретные значения всех индексов этого элемента. Например:

cout << A1 [1] [2]; // На экран выведено значение 8

studfiles.net

Глава 6. Массивы

Общие сведения о массивах

Одномерные массивы

Двумерные массивы

Массивы как параметры функций

Общие сведения о массивах

Массивы являются наиболее часто используемыми структурами данных, позволяющие удобным образом организовать размещение и обработку в компьютере больших объёмов информации.

Массив представляет собой набор однотипных данных, имеющих общее имя (имя массива) и различающихся местоположением в массиве.

В С++ массив не является стандартным типом данных. Напротив, он сам имеет тип: int,

char, float, double и т.д. Допускается создавать массивы массивов, указателей, структур и других данных.

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

Под размерностью массива понимают количество измерений массива (т.е. число индексов). Размеры по каждому измерению массива вместе с типом его элементов определяют количество байтов, необходимых для размещения массива в памяти компьютера, которое выполняется на этапе компиляции. Поэтому размеры массива могут быть заданы только целой положительной константой или константным выражением, например:

int a[10]; // одномерный массив из 10 элементов

int b[3][4]; // двумерный массив из 3 строк и 4 столбцов

const int n = 10;

int a[n]; // размер массива задан константой

Размеры при объявлении массива предпочтительнее задавать с помощью именованных констант.

Чтобы определить размерность массива достаточно посмотреть на его объявление. Если в нём указан один индекс, то это одномерный массив, если два, то двумерный (или матрица), и т.д. Массивы более чем с одним индексом, называются многомерными.

Одномерные массивы

Одномерный массив представляет собой совокупность однотипных элементов, доступ к которым определяется одним индексом. Все элементы массива сохраняются в памяти последовательно, первый элемент имеет нулевой индекс (далее 1, 2, и т.д.). Индекс – это порядковый номер элемента в массиве.

Массив перед использованием в программе, как и обычную переменную, следует объявить. Объявить одномерный массив можно следующим образом:

тип_элементов имя_массива[размер_массива];

где

тип_элементов – допустимый в С++ тип элементов массива;

имя_массива – идентификатор, задаваемый по тем же правилам, что и имена обычных переменных;

размер_массиваэто количество элементов массива.

Примеры объявления одномерных массивов различных типов:

int a[10]; // массив из 10 элементов типа int

float array[3]; // массив из 3 элементов типа float

char mas[40]; // массив из 40 элементов типа char

Следует отметить, что использование неименованных констант при объявлении массива нежелательно.

Массивы одного типа можно объявлять списком через запятую, включая в этот список одновременно и переменные того же типа:

int maxY, maxZ, ar[10], mas[5];

При объявлении массивов необходимо помнить, что индекс первого элемента всегда равен нулю. Допустимыми считаются значения индексов, находящиеся в диапазоне от 0 до размер_массива 1. Например, объявление

int mas[10];

предполагает наличие десяти индексированных переменных:

mas[0] mas[1] … mas[9]

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

studfiles.net

Массив (программирование) Википедия

У этого термина существуют и другие значения, см. Массив.

Массив (в некоторых языках программирования также таблица, ряд, матрица) — структура данных, хранящая набор значений (элементов массива), идентифицируемых по индексу или набору индексов, принимающих целые (или приводимые к целым) значения из некоторого заданного непрерывного диапазона. Одномерный массив можно рассматривать как реализацию абстрактного типа данных вектор.

Размерность массива — это количество индексов, необходимое для однозначной адресации элемента в рамках массива[1][2]. По количеству используемых индексов массивы делятся на одномерные, двумерные, трёхмерные и т. д.

Форма или структура массива — сведения о количестве размерностей и размере (протяжённости) массива по каждой из размерностей[3]; может быть представлена одномерным массивом[4].

Особенностью массива как структуры данных (в отличие, например, от связного списка) является константная вычислительная сложность доступа к элементу массива по индексу [5]. Массив относится к структурам данных с произвольным доступом.

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

Общее описание[ | ]

Массив — упорядоченный набор элементов, каждый из которых хранит одно значение, идентифицируемое с помощью одного или нескольких индексов. В простейшем случае массив имеет постоянную длину и хранит единицы данных одного и того же типа, а в качестве индексов выступают целые числа.

Количество используемых индексов массива может быть различным: массивы с одним индексом называют одномерными, с двумя — двумерными, и т. д. Одномерный массив — нестрого соответствует вектору в математике; двумерный («строка», «столбец»)— матрице. Чаще всего применяются массивы с одним или двумя индексами; реже — с тремя; ещё большее количество индексов — встречается крайне редко.

Пример фиксированного массива на языке Паскаль
    {Одномерный массив целых чисел.
     Нумерация элементов от 1 до 15} 
  a: array [1..15] of Integer;
    {Двумерный массив символов.
     Нумерация по столбцам по типу Byte (от 0 до 255)
     по строкам от 1 до 5}
  multiArray : array [Byte, 1..5] of Char; 
    {Одномерный массив из строк.
     Нумерация по типу word (от 0 до 65536)}
  rangeArray : array [Word] of String;
Пример фиксированного массива на С/С++
  int Array[10];         // Одномерный массив: целых чисел, размера 10;
                         // Нумерация элементов — от 0 до 9.
                         
  double Array[12][15];  // Двумерный массив: 
                         // вещественных чисел двойной точности, 
                         // размера 12 на 15;
                         // Нумерация: по строкам — от 0 до 11, 
                         // по столбцам — от 0 до 14.

В некоторых языках программирования многомерные массивы создаются на основе одномерных, у которых элементы являются массивами[6].

Пример двумерного массива на JavaScript
    //Создание двумерного массива чисел: 
    var array = [
        [11, 12, 13, 14, 15, 16], // Первая строка-массив
        [21, 22, 23, 24, 25, 26], // Вторая
        [31, 32, 33, 34, 35, 36]  // Тре

ru-wiki.ru

массив — Викисловарь

В Википедии есть страница «массив».

Содержание

  • 1 Русский
    • 1.1 Морфологические и синтаксические свойства
    • 1.2 Произношение
    • 1.3 Семантические свойства
      • 1.3.1 Значение
      • 1.3.2 Синонимы
      • 1.3.3 Антонимы
      • 1.3.4 Гиперонимы
      • 1.3.5 Гипонимы
    • 1.4 Родственные слова
    • 1.5 Этимология
    • 1.6 Фразеологизмы и устойчивые сочетания
    • 1.7 Перевод
    • 1.8 Библиография

Морфологические и синтаксические свойства[править]

падежед. ч.мн. ч.
Им.масси́вмасси́вы
Р.масси́вамасси́вов
Д.масси́вумасси́вам
В.масси́вмасси́вы
Тв.масси́воммасси́вами
Пр.масси́вемасси́вах

мас-си́в

Существительное, неодушевлённое, мужской род, 2-е склонение (тип склонения 1a по классификации А. А. Зализняка).

Корень: -масс-; суффикс: -ив [Тихонов, 1996].

Произношение[править]

  • МФА: [mɐˈsʲ(ː)if] 

ru.wiktionary.org

Массивы

Массивы очень упрощают процесс программирования. Без них практически невозможно написать универсальную программу. Например, представьте себе, что вы манипулируете информацией о квартирах жилого дома. Вы объявляете переменные K1 — для первой квартиры, K2 — для второй и так далее. K1=54 будет означать, что площадь первой квартиры 54 кв.м., К2=72 и т.д. Теперь представим, что нужно подсчитать общую площадь всех квартир в доме. Очевидно, что это $S = K1+K2+…+K_n$. В одном доме у нас 36 квартир, а в другом 144. Если в первом случае нужно будет использовать 36 отдельных переменных для вычисления общей площади, то для второго дома уже 144. Очень быстро приходим к мысли, что нам необходима переменная, состоящая из нумерованных ячеек.

Определение 1

Массив — переменная, состоящая из некоторого количества однотипных элементов. У массива, как и у любой другой переменной, есть имя. А доступ к конкретному элементу массива осуществляется через указание в скобках после имени его индекса.

Пример 1

Например, A(5) означает, что обращаемся к элементу с индексом 5 массива, имеющего имя A.

Массивы в VBA и во многих других языках программирования делятся на 2 класса:

  1. Фиксированные массивы. Такие массивы состоят из заранее известного количества элементов. Это количество определяется во время объявления массива и уже не может быть изменено в процессе его жизненного цикла. Вы, конечно же, сможете использовать меньшее количество элементов, но не существует способа увеличить количество элементов сверх объявленного.
  2. Динамические массивы. Эти массивы можно «переобъявлять» в процессе жизненного цикла. То есть мы можем управлять количеством элементов динамических массивов в зависимости от наших потребностей. Это очень удобно, так как в подавляющем большинстве случаев программист не может заранее знать, с каким объёмом данных он столкнётся.

Объявление фиксированных массивов

Фиксированные массивы объявляться следующим образом:

  1. Dim arrTemp(10) as Long
  2. Dim arrTest(32) as String

Рекомендуется при объявлении массивов VBA давать всем именам префикс «arr».

Как мы видим, в примере объявлено 2 одномерных массива arrTemp и arrTest. Одномерные массивы в программировании также часто называют векторами. Типом элементов первого массива является Long, второго массива — String. В этом типе синтаксиса в скобках указан максимальный индекс (верхняя граница) элемента массива. А что насчёт минимального индекса (нижней границы) массива? По-умолчанию минимальным индексом является ноль. В данном случае стандартное поведение интерпретатора языка VBA можно изменить при помощи оператора option base {0|1}. Option base 1 заставляет VBA считать нижней границей массива — единицу, а не ноль.

Замечание 1

Таким образом, по умолчанию массив arrTemp имеет 11 элементов — от 0 до 10. Но, если в начало модуля, в котором этот массив объявляется, вставить оператор Option Base 1, то массив arrTemp будет иметь 10 элементов — от 1 до 10.

Помимо вышеуказанного вы вправе использовать следующий синтаксис, который НЕ зависит от option base {0|1}:

  1. Dim arrFlat(0 To 4) as Boolean
  2. Dim arrData(5 To 25) as Integer
  3. Dim arrCazus(-5 To -1) as Single

Замечание 2

Таким образом, вы в явном виде указываете и нижнюю, и верхнюю границы. Как видите, нижняя граница совершенно не обязательно должна начинаться с 0 или 1. Более того, индексы границ могут принимать и отрицательные значения, главное, чтобы нижняя была меньше верхней.

Помимо одномерных массивов, можно объявлять и массивы с размерностью больше единицы.

  1. Dim arrMulti(10,30) as Range
  2. Dim arrData3(0 To 1, 1 To 3, 1 To 10) as Variant

В приведенном выше примере arrMulti — двумерный массив, а arrData3 — трёхмерный. Первый содержит $11\cdot 31=341$ элемент, второй — $2\cdot 3\cdot 10=60$ элементов. Теоретически допускается объявлять до 60 размерностей массива.

Какие типы данных могут стать элементами массива? Абсолютно любой тип данных годится на роль элемента массива, включая объектные типы User Data Type, другие массивы (через тип Variant). Если вы не указываете при объявлении тип данных массива, то предполагается, что этим типом является тип Variant.

Объявление динамических массивов

Динамические массивы объявляться следующим образом:

  1. ‘ Обратите внимание, что границы не указываются
  2. Dim arrOpen1() as Single
  3. Dim arrOpen2()

Замечание 3

Однако, использовать их после такого объявления пока ещё нельзя. Необходимо выделить память под массив. Особенность работы с динамическим массивом как раз состоит в том, что программист отвечает за его своевременное расширение (усечение) в памяти. Для этого существует специальный оператор, который имеет следующий синтаксис:

ReDim [Preserve] varname(subscripts) [As Type]

Например:

Пример 2

1 ReDim arrOpen(5)

После этого оператора, вы можете использовать элементы массива arrOpen с 0-го по 5-й. Всё, что мы говорили про оператор option base и нижнюю границу, верно и для динамических массивов. Предположим, что вы сохранили информацию в элементах 0-5 и у вас готова новая порция информации для элементов 6-11. Чтобы разместить в данном массиве новые элементы и не потерять старые, вы должны сделать следующее:

1 ReDim Preserve arrOpen(11)

То есть увеличим верхнюю границу массива и используем ключевое слово Preserve, чтобы во время этой операции не потерять текущее содержимое arrOpen, так как в противном случае (без слова Preserve) массив будет расширен, а память заполнена нулями. Вы также вправе вообще не декларировать массив оператором Dim, а сделать это впервые через ReDim и там же указать тип элементов. Но, если вы в первом ReDim (или Dim) указали определенный тип элементов, то в последующих операторах ReDim этот тип переопределён быть не может — возникнет ошибка на этапе компиляции проекта.

Как и с обычными переменными запись информации в элемент массива происходит через оператор присваивания (=), но указанием индекса элемента массива.

Определение границ массива

В подпрограммах часто приходится иметь дело с массивами, которые переданы вам в качестве параметра (как это сделать показано ниже), поэтому в этом случае очень актуален вопрос определения нижней и верхней границ индекса массива. Для этого в языке предусмотрены 2 функции: LBound и UBound. Первая возвращает нижнюю границу индекса, вторая — верхнюю.

LBound ( array [, dimension ] )

UBound ( array [, dimension ] )

Для одномерных массивов параметр dimension можно не указывать. Для многомерных массивов его указывать необходимо. Это означает, что, если вы точно не знаете, с каким массивом имеете дело, но необходимо узнать его первую размерность, то лучше использовать вариант UBound(arrTemp,1), а не UBound(arrTemp), так как последний вариант вызовет ошибку, если массив окажется многомерным.

Если вы ошибетесь с указанием правильного индекса массива, то возникнет ошибка периода исполнения с кодом 9. Эта же ошибка возникнет, если вы в функции LBound / UBound укажете несуществующую размерность массива (например, 3 для двумерного массива).

Перебор элементов массива

Замечание 4

Собственно, массивы нужны для того, чтобы хранить в них однотипную информацию и перебирать их в цикле. Как правило, алгоритм делает что-то полезное с одним элементом массива, а цикл повторяет эти типовые действия для всех элементов массива.

Наиболее удобный оператор цикла для перебора элементов массива — это безусловно For …Next.

  1. Dim arrTemp(100) as Double
  2. Dim i as Long
  3. ‘ Обратите внимание, как мы определяем границы цикла
  4. For i = LBound(arrTemp) to UBound(arrTemp)
  5. ‘ Вычисляем квадратный корень для каждого элемента
  6. arrTemp(i) = Sqr(arrTemp(i))
  7. Next
  8. ‘ Если вы хотите перебирать элементы от верхней границы к нижней, то
  9. For i = UBound(arrTemp) to LBound(arrTemp) Step -1
  10. arrTemp(i) = Sqr(arrTemp(i))
  11. Next

Можно, конечно, перебирать массив и в других типах циклов Do … Loop, но смысла и удобства в этом не много.

Функция ARRAY

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

Array ( arglist )

  1. Dim arrTest
  2. arrTest = Array(30,40,50,60)
  3. MsgBox arrTest(2) ‘ вернёт 50
  4. ‘Согласитесь, что это удобнее, чем:
  5. Dim arrTest2 as Integer
  6. arrTest2(0)=30 : arrTest2(1)=40 : arrTest2(2)=50 : arrTest2(3)=60

Вызов функции без параметров приведёт к возврату массива нулевой длины. При этом будет наблюдаться интересный эффект: LBound вернёт вам 0, а UBound вернёт -1, то есть верхняя граница окажется меньше нижней границы.

Функция SPLIT

Split возвращает одномерный массив, содержащий подстроки, из строкового выражении с учётом указанного разделителя

Split(expression[, delimiter[, limit[, compare]]]), где:

  • expression — строковое выражение, содержащее подстроки и разделители, обязательный параметр;
  • delimiter — текстовый разделитель, необязательный параметр, если опущен, то предполагается, что разделителем является символ пробела;
  • limit — количество подстрок, которое необходимо вернуть. -1 или отсутствие параметра означает, что вернуть надо все подстроки;
  • compare — константа, указывающая тип сравнения для символов разделителей. 1 — текстовое сравнение (без учёта регистра), 0 — бинарное сравнение (с учётом регистра).
  1. Dim s As String
  2. Dim arrTemp
  3. s = «A;B;C;D;1;2;3;4»
  4. arrTemp = Split(s, «;», 5)

Если вы в качестве разделителя укажете пустую строку, то на выходе получите массив, состоящий из одного элемента. Кстати, split всегда возвращает массив с нулевой нижней границей вне всякой зависимости от наличия option base 1.

spravochnick.ru

Массив данных — это… Что такое Массив данных?


Массив данных

Массив данных [array, data file] — или информационный массив — совокупность однородных записей (т.е. наборов данных, характеризующих какой-либо объект управления, про­цесс и т.д.), рассматриваемых как одно целое и упорядоченных таким образом, что их описание (набор индексов) однозначно определяет положение каждого элемента или путь доступа к нему. (Например, картотека материалов в отделе снабжения завода). Простейшее упорядочение данных — их нумерация в виде списка (одно­мерный массив). Но обычно производственные данные представляются в виде таблиц, которые содержат данные двух видов: постоянную часть (заголовок таблицы, названия строк и столбцов) и переменную часть — собственно показатели таблицы (матрицы). Они также могут быть введены в запоминающее устройство и образовать М.д. Запись таблиц осуществляется при этом двумя способами: при первом подряд записываются все элементы матрицы, включая нулевые — их легко находить по порядковому номеру записи. При втором, чтобы сделать запись экономнее, в массив включают только значащие элементы, и каждому из них дают ин­декс, признак его места в таблице (например, номер столбца и номер строки) — это двух­мерное упорядочение массива. Применяется и трехмерное упорядочение.

В последнее время вместо слов «М.д.» чаще употребляют термин файл — от английского слова file (дело, досье).

Экономико-математический словарь: Словарь современной экономической науки. — М.: Дело. Л. И. Лопатников. 2003.

  • Маршрут обработки
  • Массовая приватизация

Смотреть что такое «Массив данных» в других словарях:

  • массив данных — Конструкция данных, компоненты которой идентичны по своим характеристикам и перечисляют как значения функции от фиксированного количества целочисленных аргументов. Примечание Количество аргументов определяет размерность массива. [ГОСТ 20886 85]… …   Справочник технического переводчика

  • Массив Данных — систематизированная совокупность однородных по структуре параметров. Словарь бизнес терминов. Академик.ру. 2001 …   Словарь бизнес-терминов

  • Массив данных — 52. Массив данных Array Конструкция данных, компоненты которой идентичны по своим характеристикам и перечисляют как значения функции от фиксированного количества целочисленных аргументов. Примечание. Количество аргументов определяет размерность… …   Словарь-справочник терминов нормативно-технической документации

  • МАССИВ ДАННЫХ — упорядоченная совокупность однородных по структуре и способу получения показателей …   Большой бухгалтерский словарь

  • МАССИВ ДАННЫХ — упорядоченная совокупность однородных по структуре и способу получения показателей …   Большой экономический словарь

  • массив (данных, программ) — — [Я.Н.Лугинский, М.С.Фези Жилинская, Ю.С.Кабиров. Англо русский словарь по электротехнике и электроэнергетике, Москва] Тематики электротехника, основные понятия EN array …   Справочник технического переводчика

  • массив данных (компьют.) — — [http://slovarionline.ru/anglo russkiy slovar neftegazovoy promyishlennosti/] Тематики нефтегазовая промышленность EN array …   Справочник технического переводчика

  • Базовый массив данных — информация на электронных носителях, организованная в соответствии с требованиями единого языка описания данных и представляющая собой информационную основу банка данных. См. также: Банки данных Финансовый словарь Финам …   Финансовый словарь

  • большой массив данных — — [Л.Г.Суменко. Англо русский словарь по информационным технологиям. М.: ГП ЦНИИС, 2003.] Тематики информационные технологии в целом EN data bulkmass data …   Справочник технического переводчика

  • непрерывный массив данных — Блоки памяти, считываемые как целое. [http://www.morepc.ru/dict/] Тематики информационные технологии в целом EN longchunk …   Справочник технического переводчика

Книги

  • Много цифр. Анализ больших данных при помощи Excel, Форман Джон. Казалось бы, термин&171;большие данные&187;понятен и доступен только специалистам. Но автор этой книги доказывает, что анализ данных можно организовать и в простом, понятном, очень… Подробнее  Купить за 1658 грн (только Украина)
  • Много цифр. Анализ больших данных при помощи Excel, Форман Джон. Казалось бы, термин «большие данные» понятен и доступен только специалистам. Но автор этой книги доказывает, что анализ данных можно организовать и в простом, понятном, очень эффективном и… Подробнее  Купить за 1282 руб
  • Много цифр Анализ больших данных при помощи Excel, Форман Дж.. Казалось бы, термин «большие данные» понятен и доступен только специалистам. Но автор этой книги доказывает, что анализ данных можно организовать и в простом, понятном, очень эффективном и… Подробнее  Купить за 1155 руб
Другие книги по запросу «Массив данных» >>

economic_mathematics.academic.ru

Понятие и элементы массива

Поиск Лекций

Введение

Практически в каждом программном проекте возникает необходимость обработки большого числа единообразно организованных данных. В таких случаях подобные данные удобно обрабатывать как единое целое, для чего он представляется в виде массива — именованной последовательности данных одного типа. Массив — это набор элементов одного типа, доступ к которым осуществляется по номеру.

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

Любой, кто использует историю изменения цен, так или иначе имеет дело с техническим анализом. Частью технического анализа является обработка массивов. Программная обработка ценового ряда используется для контроля за его изменениями.

 

Глава 1. Теоретические основы работы с массивами

Использование компьютерных и информационных технологий

 

Развитие современного общества предполагает широкое использование компьютерных и информационных технологий, на основе которых создаются разнообразные информационные системы. Обычно получаемая в них информация анализируется человеком, который будет играть определяющую роль. Такие информационные системы являются автоматизированными, так как в их функционировании принимает участие человек.

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

Двумя самыми распространенными структурными (нескалярными) типами данных являются массивы и записи. Они, а также несколько других типов данных, задаются операторами типов, или конструкторами, используемыми для создания переменных данного типа. В качестве примера операторов типа можно назвать существующие в языке С круглые и квадратные скобки, а также звездочки, используемые для задания массивов, функций и указателей.

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

С понятием «массив» приходится сталкиваться при решении научно-технических и экономических задач обработки совокупностей большого количества значений.

Понятие и элементы массива

 

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

Массив — упорядоченный набор данных, для хранения данных одного типа, идентифицируемых с помощью одного или нескольких индексов. В простейшем случае массив имеет постоянную длину и хранит единицы данных одного и того же типа.

Количество используемых индексов массива может быть различным. Массивы с одним индексом называют одномерными, с двумя — двумерными и т. д. Одномерный массив нестрого соответствует вектору в математике, двумерный — матрице. Чаще всего применяются массивы с одним или двумя индексами, реже — с тремя, ещё большее количество индексов встречается крайне редко.

Таким образом, если объекты одного типа обозначить именем, например «A», то элементы объекта будут A[1], A[2] и т. д.

В квадратных скобках указан номер элемента. Порядковый номер элемента массива, обычно не несет никакой информации о значении элемента, а показывает расположение элемента среди других. К элементам массива можно обращаться только по их номеру (индексу).

Значения элементам массива присваиваются также как и другим переменным с учетом типа массива. Если элементы массива имеют один индекс, то массив называется одномерным или линейным, либо массив — вектор. Значения элементов одномерного массива обычно выводят на экран или бумагу в виде столбца или строки.

Массив позволяет сохранять и манипулировать многими элементами данных посредством единственной переменной. Кроме уменьшения общего числа различных имен переменных, которые необходимо отслеживать, другим основным преимуществом использования массивов является то, что можно использовать циклы для легкой обработки различных элементов массивов. Объединяя массивы и структуры цикла (обычно For…Next или For…Each), можно записать небольшое число операторов, которые обрабатывают большой объем данных. Выполнения тех же задач с использованием отдельных переменных может потребовать написания сотен операторов.

Массивы бывают статические и динамические. Статическими называют массивы, количество элементов которых заранее известно и не изменяется в ходе выполнения программы. Динамическим называется массив, размер которого может меняться во время исполнения программы. Для изменения размера динамического массива язык программирования, поддерживающий такие массивы, должен предоставлять встроенную функцию или оператор. Динамические массивы дают возможность более гибкой работы с данными, так как позволяют не прогнозировать хранимые объёмы данных, а регулировать размер массива в соответствии с реально необходимыми объёмами.Обычные, не динамические массивы называют ещё статическими.

Сортировка — один из наиболее распространённых процессов современной обработки данных. Сортировкой называется распределение элементов массива в соответствии с определёнными правилами. Например, сортировка массива по возрастанию или убыванию его элементов. Обменная сортировка (метод «пузырька»). Алгоритм начинается со сравнения 1-го и 2-го элементов массива.

Если 2-й элемент меньше 1-го, то они меняются местами. Этот процесс повторяется для каждой пары соседних элементов массива, пока все N элементов не будут обработаны. За один «проход» массива самый большой элемент встанет на старшее (N-е) место. Далее алгоритм повторяется, причем например «проходе» первые (N-p) элементов сравниваются со своими правыми соседями. Если на очередном «проходе» перестановок не было, то алгоритм свою работу закончил. Таким образом, самые «легкие» элементы в процессе исполнения алгоритма постепенно «всплывают».

Сортировка вставками. Вначале упорядочиваются два первых элемента массива. Они образуют начальное упорядоченное множество S. Далее на каждом шаге берется следующий по порядку элемент и вставляется в уже упорядоченное множество S так, чтобы слева от него все элементы были не больше, а справа не меньше обрабатываемого. Место для вставки текущего элемента в упорядоченное множество S ищется методом деления пополам. Алгоритм сортировки заканчивает свою работу, когда элемент, стоящий на N-м месте, будет обработан. (Именно таким образом игроки в бридж обычно упорядочивают свои карты).

Сортировка выбором. Находится наибольший элемент в массиве из N элементов (пусть он имеет номер р) и меняется местами с элементом, стоящим на N-м месте, при условии, что N<>p. Из оставшихся (N-1) элементов снова выделяется наибольший и меняется местами с элементом, стоящим на (N-1)-м месте и т. д. Алгоритм заканчивает свою работу, когда элементы, стоящие на 1-м и 2-м местах в массиве, будут упорядочены (для этого понадобится N-1 «проход» алгоритма). Аналогично данный алгоритм можно применять и к наименьшим элементам.

Для работы с массивом как единым целым используется идентификатор массива без указания индекса в квадратных скобках. Массив может участвовать только в операциях отношения «равно», «не равно» и в операторе присваивания. Массивы, участвующие в этих действиях, должны быть идентичны по структуре, т. е. иметь одинаковые типы индексов и одинаковые типы компонентов. Например, если массивы А и В описаны как var А, В: array[1..20] of real; то применение к ним допустимых операций даст следующий результат: выражение результат А=ВTrue, если значение каждого элемента массива А равно соответствующему значению элемента массива ВА<>ВTrue, если хотя бы одно значение элемента массива А не равно значению соответствующего элемента массива ВА:=В все значения элементов массива В присваиваются соответствующим элементам массива А. Значения элементов массива В остаются неизменны.

После объявления массива каждый его элемент можно обработать, указав идентификатор (имя) массива и индекс элемента в квадратных скобках. Например, запись Mas[2], VectorZ[10] позволяет обратиться ко второму элементу массива Mas и десятому элементу массива VectorZ.

При работе с двумерным массивом указываются два индекса, с n-мерным массивом — n индексов. Например, запись MatrU[4,4] делает доступным для обработки значение элемента, находящегося в четвертой строке четвертого столбца массива MatrU. Индексированные элементы массива называются индексированными переменными и могут быть использованы так же, как и простые переменные.


Рекомендуемые страницы:

Поиск по сайту

poisk-ru.ru

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *