array в паскале что это

Массивы — это совокупности однотипных элементов. Характеризуются они следующим:

  • каждый компонент массива может быть явно обозначен и к нему имеется прямой доступ;
  • число компонент массива определяется при его описании и в дальнейшем не меняется.

Для обозначения компонент массива используется имя переменной-массива и так называемые индексы, которые обычно указывают желаемый элемент. Тип индекса может быть только порядковым (кроме longint). Чаще всего используется интервальный тип (диапазон).

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

Здесь имя типа — правильный идентификатор; список индексов — список одного или нескольких индексных типов, разделенных запятыми; тип — любой тип данных.

Вводить и выводить массивы можно только поэлементно.

Пример 1. Ввод и вывод одномерного массива.

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

Если массивы a и b описаны как:

то переменные a и b считаются разных типов. Для обеспечения совместимости применяйте описание переменных через предварительное описание типа.

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

Вместе с тем, над массивами не определены операции отношения. Сравнивать два массива можно только поэлементно.

Так как тип, идущий за ключевым словом of в описании массива, — любой тип Турбо Паскаль, то он может быть и другим массивом. Например:

Такую запись можно заменить более компактной:

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

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

Для «красивого» вывода матрицы на экран используйте такой цикл:

Волгоградский государственный педагогический университет
Кафедра алгебры, геометрии и информатики

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

Есть более простое решение. Это использование такой структуры (типа) данных как массив. Массив представляет собой последовательность ячеек памяти, в которых хранятся однотипные данные. При этом существует всего одно имя переменной связанной с массивом, а обращение к конкретной ячейке происходит по ее индексу (номеру) в массиве.

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

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

Помним, все элементы определенного массива имеют один и тот же тип . У разных массивов типы данных могут различаться. Например, один массив может состоять из чисел типа integer , а другой – из чисел типа real .

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

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

Массив можно создать несколькими способами.

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

Простой массив является одномерным . Он представляет собой линейную структуру.

В примере выделяется область памяти под массив из 11 символов. Их индексы от 1 до 11. В процессе выполнения программы пользователь вводит 11 любых символов (например, ‘q’, ’w’, ’e’, ’2’, ’t’, ’9’, ’u’, ’I’, ’I’, ’o’, ’p’), которые записываются в ячейки массива. Текущее значение переменной i в цикле for используется в качестве индекса массива. Второй цикл for отвечает за вывод элементов массива на экран.

Функция sizeof , примененная к имени массива или имени массивного типа, возвращает количество байтов, отводимое под массив.

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

Описание массива можно представить следующей схемой.

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

Массив можно описать двумя способами:

1. В разделе описания переменных

где t1-тип индекса, t2-тип элемента массива, t1- любой простой тип, кроме real и integer.

2. В разделе описания типов.

Для доступа к элементам массива необходимо указать идентификатор массива в скобках.

Для ввода массива с клавиатуры и для вывода на экран используются циклы. Можно вводить по другому, с помощью типизированных констант.

Действия, выполняемые над элементами массива:

  1. Все операции допустимые для базового типа массива.
  2. В качестве индекса может быть выражения, переменная или константа.
  3. Элементы массива могут стоять как в левой части выражений, так и в самих выражениях.
  4. Запрещен оператор присваивания типа: a[1]:=b[1]+1 (так нельзя) и разрешены: a[1]:=b[1]; b[1]:=b[1]+1

Если тип компоненты в типе массив также является массивом, то результат можно рассматривать как массив массивов или как один многомерный массив. Например:

Ввод и вывод элементов многомерных массивов осуществляется при помощи вложенных циклов.

Оцените статью